함수
함수 란
특정 기능을 수행해주는 코드의 모음
한번 정의하면 같은 기능이 필요할 때 매번 똑같은 코드를 작성할 필요 없고, 필요 시에만 호출 가능
함수 선언 방법
입력값과 출력값 모두 있는 경우
일반적인 함수의 경우 입력값 (변수) 와 출력값 (결과) 를 가지고 있음 (return 은 while문의 break 처럼도 사용 가능)
입력값은 없고 출력값만 있는 경우
입력값만 있고 출력값은 없는 경우
입력값과 출력값 모두 없는 경우
def weather() :
print("sunny")
print(weather())
>>> sunny
>>> None
# print(weather()) 에서 print("sunny") 코드로 인해 sunny 가 출력되었으나 return 이 없기에 두번째로 None 이 출력됨
입력값의 갯수가 정해져 있지 않은 경우
def add(*args) :
b = 0
for x in args :
b += x
return b
print(add(1, 2, 3))
>>> 6
print(add(1, 2, 3, 4, 5))
>>> 15
# *args 의 타입은 튜플이며 positional argument 라고 함
def test(**kwargs) :
inst_dict = {}
for k, v in kargs.items() :
inst_dict[k] = v
return inst_dict
print(test(a=1, b=2, c=3))
>>> {'a': 1, 'b': 2, 'c': 3}
print(test(d=4, e=5, f=6, g=7, h=8, i=9))
>>> {'d': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9}
# **kwargs 의 타입은 딕셔너리이며 keyword argument 라고 함
결과값은 항상 하나
함수 밖의 변수를 사용하고 싶을 때
parmeter vs argument
parameter : 함수 선언할 때 내부에 사용되는 값
argument : 함수 사용할 때 사용되는 값
lambda
def 와 동일하나 함수를 한줄로 선언하거나 def 를 사용할 수 없을 때 사용됨 (return 이 없어도 결과값 반환됨)