We are Architect

13. 점프 투 파이썬 (함수) 본문

Programing/Python

13. 점프 투 파이썬 (함수)

the best infra 2024. 11. 11. 00:53

 

* 함수 란?

- 입력값을 받아 조건에 맞게 결괏값을 출력하는 기능을 함수라고 한다.

- 함수를 사용하는 이유는 어떤 특정 내용을 반복해서 작성하기에는 시간과 효율이 떨어진다. 그래서 특정 내용을 어떤 한 기능 단위로 묶어서 기능만 호출하면 특정 내용을 호출해 준다. 

 

* 파이썬 함수의 구조

def 함수_이름(매개변수):
	수행문장_1
	수행문장_2
	...
def add(a, b):
	return a + b

함수를 사용해서 결과 값을 출력

 

* 매개변수와 인수

- 매개변수: 함수에 입력으로 전달된 값을 받는 변수.

- 인수: 함수 호출 시 전달하는 입력값을 의미. 

def add(a, b): <- a,b는 매개변수
	return a + b
print(add(3,4)) <- 3,4는 인수

 

 

* 입력값과 리턴값에 따른 함수의 형태

- 함수는 들어온 입력값을 받은 후 어떤 처리를 하여 적절한 값을 리턴한다. 

 

* 일반적인 함수

- 입력값이 있고 리턴값이 있는 함수가 일반적인 함수. 

def 함수_이름(매개변수):
	수행할_문장
   	...
	return 리턴값

 

 

* 리턴값이 없는 함수

def add(a, b):
	print("%d, %d의 합은 %d입니다." % (a, b, a+b))

 

 

* 입력도 리턴값도 없는 함수

def say():
	return 'Hi'

 

 

* 매개변수를 지정하여 호출하기

 

 

* 입력값이 몆개가 될지 모를 때는?

- 입력값이 여러 개일 때 그 입력값을 모두 더해 주는 함수를 만들어보기.

- 매개변수 값에 ' * ' 이 들어가면 입력값을 전부 튜플로 만들어준다. 예시에는 args라는 퓨플값들로 만들어준다.

 

- 여러 개의 입력을 처리 시 *args 하나만 사용할 수 있는 건 아니다. 

 

 

* 키워드 매개변수, kwargs

- 키워드 매개변수란 ' ** '를 붙여 딕셔너리 값으로 저장하는 변수이다.

 

 

* 함수의 리턴값은 항상 1개

- 리턴값에 연산자들을 여러 개 넣어도 튜플 값으로 하나만 출력한다.

- 그렇다고 return값을 두 개 이상 쓰면 적용이 되지는 않는다.

 

 

* return의 다른 쓰임새

- 특수 상황시에는 함수를 빠져나가고 싶으면 return값을 사용해서 빠져나갈 수 있다. 

바보일때는 함수를 벗어남, 그외에는 printf 출력

 

 

* 매개변수에 초깃값 미리 설정하기

- 초깃값을 미리 세팅하고 적용시킬 수 있다.  

- 매개변수 순서도 영향을 받기 때문에 출력 

True 값이 미리 적용된 상태
False 값을 넣어주면 그제서야 바뀐다.

 

 

* 함수 안에서 선언한 변수의 효력 범위

- 함수 안에서 선언한 변수는 함수 밖에서 효력이 없다. 즉, 함수만의 변수다.

 

 

* global 함수

- 전역변수를 사용할수 있게 만드는 함수로 def 안에서 사용하여 밖에 있는 함수를 def내부로 가져와서 사용할 수 있다. 

 

 

* lambda 예약어

- 함수를 생성할 때 사용하는 예약어로, def와 동일한 역할을 한다.

- 보통 함수를 한 줄로 간결하게 만들 때 사용한다.  

- def를 사용할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 사용한다.