함수 - 공부한 거 정리
파이썬에서 함수는 여러개의 변수를 리턴 즉 반환할 수 있다.
def function():
return 1, 2, 3
integer_1, integer_2, integer_3 = function()
이 경우 integer_1 에는 1이 integer_2에는 2가, integer_3에는 3이 입력된다.
파이썬에서는 함수의 기본값을 설정할 수 있다.
def fuction(A = 100, B = 200, C = 300):
print("A - {0}, B - {1}, C - {2}".format(A,B,C))
fuction(C = 0)
A - 100, B - 200, C - 0 이 출력된다.
A, B, C 매개변수 중 함수의 호출 과정에서 인자가 입력되지 않는다면 기본값으로 설정된 값이 매개변수의 값이 된다.
파이썬에서는 가변인자를 이용하여 인자를 정해진 양이 아닌 입력받은 만큼 받을 수 있다.
def fuction(A, B, C, D):
print(A, B, C, D)
fuction(1,2,3)
이 상황에서 A, B, C만 입력받는다면 아마 오류가 발생할 것이다. 따라서 이 함수를 이용하는 코더는 D의 값에 None 넣어야 오류가 발생하지 않을 것이다.
fuction(1,2,3, None)
그러나 가변인자를 이용하면 이를 통해 원하는 양만큼만 입력 받을 수 있다.
def fuction(*A):
for i in A:
print(i)
fuction(1,2,3,4,5)
이렇게 하면 된다. 또한 코더에게 입력받은 가변 인자인 매개변수의 경우 타입 즉 자료형은 튜플로 입력받게 된다.
그렇기에 for문을 통해 값을 출력할 수 있다.
함수 내부에서 생성되는 변수는 지역변수로 함수 내부에서만 사용할 수 있다.
a = 50
def fuction():
a = 100
fuction()
이렇게 할 경우 함수 안에서 a와 함수 외부의 a는 다른 변수인 것으로 알고있다. 즉 함수 내부에서 변수 a를 변경해도 함수 외부의 변수 a의 값이 변경되지 않는다.
함수 외부 변수 즉 전역 변수를 참조하려면 global을 이용하면 된다.
a = 50
def fuction():
global a
a = 100
fuction()
global을 통해 함수 내부에서 외부 전역 변수 a를 참조하게 되며 함수, 변수 a를 변경할 경우 함수 외부의 전역변수 또한 값이 변경된다.
(아직 배움이 부족하여 틀린 부분이 있을 수 있습니다.)