함수의 구조
def 함수명(매개변수):
<수행할 문장>
...
return
❗ 매개변수 vs 인수
매개변수(parameter)
: 함수 입력으로 전달되는 값을 받는 변수인수(arguments)
: 함수를 호출할 때 전달하는 입력값함수의 위치
def 함수명(매개변수):
<수행할 문장>
...
return 결괏값
def 함수명():
<수행할 문장>
...
return 결괏값
def 함수명(매개변수):
<수행할 문장>
...
def 함수명():
<수행할 문장>
...
a = 1
def func(a):
a += 1
return a
a = func(a)
print(a)
#출력 결과
#2
#2
global 변수명
: 함수 안에서 함수 밖의 변수를 직접 사용하겠다는 뜻
❗ 함수는 독립적으로 존재하는게 좋아서 global 명령어는 사용하지 않는 것 좋음
a = 1
def func():
global a
a += 1
func()
print(a)
#출력 결과
#2
매개변수를 정의할 때 매개변수의 디폴트 값을 지정해줄 수 있음
def func(a, b = 5, c = 10):
return a + b + c
print(func(1, 2, 3))
print(func(1, 2))
print(func(1))
#출력 결과
#6
#13
#16
❗ 디폴트 매개변수는 뒤에서부터 선언해야함
# 에러 발생
def func(a = 1, b, c):
return a + b + c
print(func(1, 2))
#non-default argument follows default argument
입력값이 몇 개가 될지 모를 때 packing 사용
❗ [Python] packing과 unpacking
def func(*args):
return sum(args)
print(func())
print(func(1, 2, 3, 4, 5))
#출력 결과
#0
#15
def func(choice, *args):
result = 0
if len(args) > 0:
if choice == 'max':
result = max(args)
elif choice == 'min':
result = min(args)
return result
print(func('max'))
print(func('max', -100, 100))
print(func('min', -100, -1, -50))
#출력 결과
#0
#100
#-100
**
를 붙임딕셔너리
가 되고 모든 key=value 형태의 결괏값이 딕셔너리에 저장됨def func(**kwargs):
print(kwargs)
func(one = 1)
func(one = 1, two = 2)
#출력 결과
{'one': 1}
{'one': 1, 'two': 2}
[Python] 람다 표현식(lambda Expression)
lamda 매개변수1, 매개변수2, ...: 매개변수를 이용한 표현식
add = lambda a, b: a+b
result = add(3, 4)
print(result)
#출력 결과
#7
참고
https://wikidocs.net/24
https://blockdmask.tistory.com/440