함수의 정의

파이썬에서 함수는 다음과 같이 정의한다.

def 함수명 (매개변수):
	실행할 소스코드
	return 반환 값

들여쓰기가 중요하다…

함수의 종류

파이썬에서 함수는 내장함수와 사용자 정의 함수로 구별할 수 있다.

간단한 함수를 만들어보자.

def add(a,b):
	return a+b
	
print(add(3,7))

파이썬에선 파라미터의 매개변수를 직접 지정할 수 있어서 매개변수의 순서가 크게 중요하지 않다.

def add(a,b):
	print(a+b)
	
add(b=3, a=7)

파이썬에선 함수 블록 밖의 스코프를 참조하고 싶다면 global 키워드를 이용해야 한다. 일반적인 프로그래밍 언어들이 자동으로 상위 스코프를 찾아가는 것과 다르다.

a = 0

def func():
	global a
	a+=1

함수는 복수의 반환값을 가질 수 있다.

놀랍게도 파이썬에선 함수가 반환값을 여러개 가질 수 있다…!

def operator(a,b):
	add_var = a+b
	subtract_var = a-b
	
	return add_var, subtract_var
	
a,b = operator(1,2)

이렇게 여러개 값을 반환하는 것을 패킹, 그리고 구조분해할당처럼 여러 반환값을 변수에 담아주는걸 언패킹이라고 한다.