함수란 무엇인가?
반복적으로 사용되는 부분을 묶어서, 재사용 가능하도록 만들어 주는 것 → 코드 작성의 반복을 줄일 수 있음!
함수에는 들어가는 값 (input)이 있고, 나오는 값 (output 혹은 return)이 있다.
예시
a, b, c = 1, 2, 3
print((a + b) * c)
a, b, c = 2, 2, 3
print((a + b) * c)
함수로 변경
def function(a, b, c):
return (a + b) * c
func(1, 2, 3)
위 처럼 함수에 들어가는 a, b, c에 값만 바꿔서 function()함수에 넣어주면 계속 식을 쓰지 않아도 값을 리턴해준다.
def는 함수를 위한 정의 (define)
def 함수이름 (parameter1, parameter2, parameter...) :
parameter는 함수로 부터 넘겨 받은 변수 또는 값 이다.
parameter, argument
- 파라미터는 함수를 선언할 때 호출할 변수
- 아규먼트는 함수를 호출할 때 보내줄 변수
return
- 선언한 함수의 결과값을 저장하며 return에 도달하면 연산이 종료된다.
- return을 작성하지 않으면 결과값을 저장하지 않는다.
arguments와 keyword arguments
- 함수 선언시 파라미터의 수를 특정할 수 없을 경우 사용
- keyword args의 경우 아규먼트로 함수 호출 시 키워드를 작성하여 호출
- args는 튜플 타입
- kwargs는 딕셔너리 타입
def name(*args):
print(args)
name("유재석")
name("유재석", "이영지", "김종민")
def name(**kwargs):
print(kwargs)
name(name1="유재석", name2="이영지")
❗ 주의사항
*args와 **kwargs를 함께 사용하는 경우, *변수를 **변수보다 앞에 두어야 한다.
'DL(Deep-Learning) > Python 기초' 카테고리의 다른 글
[Python] 예외처리 (0) | 2022.01.26 |
---|---|
[Python] 클래스 Class 2 (0) | 2022.01.26 |
[Python] 클래스 Class 1 (0) | 2022.01.26 |
[코드라이언] 번역하기 (0) | 2022.01.26 |
[코드라이언] 날씨 정보 받아오기 (0) | 2022.01.26 |