Coding/Jump to Python

Python - 함수 / 입력 개수 모를 때 / keyword parameter / parameter 초기값 / global 변수

빈그레 2023. 9. 14. 15:42

 

 

 


04-1 함수

 

 

 

 

 

함수 사용 이유

 

: 보통 똑같은 내용을 반복해서 작성해야할 때 사용되며, 어떤 입력값을 주었을 때 결과값을 돌려주는 식으로 작성된다.

 

 

 

함수 구조

 


함수는 def라는 예약어를 통해 만들어낼 수 있다. if문과 동일하게 함수 내용을 구성하는 부분은 콜론(:)을 통해 표현한다.

위와 같이 입력값과 결괏값이 있는 함수가 가장 일반적인 함수의 구조이다.

 

 

 [return 값이 없는 함수]

 

허나, 결과값이 없는 함수도 존재한다.

 

함수 실행

위 함수를 실행했을 때, 함수 내에 구현된 print 될 값이 출력되는 것은 확인할 수 있으나, 



다음과 같이 a에는 아무런 값이 들어가지 않는다. 위에서 정의한 add함수는 return값이 없기 때문이다.

 

 

매개변수(parameter)와 인수(argument)

 

지정 없이 순서대로 그냥 인수만을 넣으면 정의했던 위치에 그 값이 들어간다.

 

하지만 위와 같이 매개변수를 지정하여 값을 전달하면 순서에 상관없이 사용할 수 있다.

 

 

 

함수 정의에 매개변수가 쓰이지 않는다면, 매개변수 괄호는 비어있을 수 있다.

 

 

 

여러개의 입력

입력값이 몇개가 들어올지 모른는 상황에서는 (*parameter)형태로 작성한다. 위와 같이 작성하면 입력값을 전부 모아서 튜플로 만들어준다.

상황에 따라 입력값을 다르게 작성하여도 위 함수에서 알아서 입력값을 튜플로 만들어 실행한다.

 

 

 

keyword parameter

**매개변수를 작성하면 딕셔너리를 만들어준다.

 

 

 

 

 

여러개의 return

 

위와같이 return할 값으로 2개의 값을 작성하면,

 

해당 함수의 출려값을 result에 넣는다면 result는 다음과 같이 튜플 형태로 값을 갖게 된다.

 

만약 2개의 결과값처럼 받으려면

 

함수를 다음과 같은 형태로 호출하면 된다.

 

함수 빠져나가기

반복문에서는 break로 빠져나갔다면 함수에서는 return으로 동일한 동작을 하게 만들 수 있다.

위와같이 if문을 걸어 그 내용에 return을 넣어버리면 if의 조건문이 참일 때 return과 함께 함수를 빠져나가게 된다.

 

 

parameter default값 설정 //초기값 설정


(초기값을 설정할 파라미터는 항상 가장 뒤쪽에 놔야한다.)

매개변수의 초기값을 미리 설정해주는 경우이다. 매개변수에 들어갈 값이 함수 사용시마다 변하는 값이 아닐 경우에는 이렇게 초기값을 설정해두면 유용하다.

 

만약 첫줄과 같이  man에 대한 값을 주지 않고 호출하면 함수 정의 시에 defautl로 정해주었던 값이 자동으로 들어가서 결국 두번째 줄과 동일한 동작을 한다.

초기값 설정 부분에 false 라는 새로운 인자값이 들어오면 그거에 맞추어 함수가 동작한다.

 

 

 

함수 안에서 쓰인 변수 밖에서도 쓰기

1. 그 값을 return 값으로 빼준다.

 

 

2. global 명령어를 쓴다.