본문 바로가기

파이썬

함수 - 공부한 거 정리

파이썬에서 함수는 여러개의 변수를 리턴 즉 반환할 수 있다.

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를 변경할 경우 함수 외부의 전역변수 또한 값이 변경된다.

(아직 배움이 부족하여 틀린 부분이 있을 수 있습니다.)

'파이썬' 카테고리의 다른 글

한 줄 for문  (0) 2021.07.02
파이썬 - 리스트, 딕셔너리, 튜플, 집합 대충 요약  (0) 2021.06.29