Python의 함수에 대해 알아봅니다.
def 함수_이름(매개변수):
수행할_문장1
수행할_문장2
...
def add(a, b): # a, b는 매개변수
return a+b
print(add(3, 4)) # 3, 4는 인수
def add(a, b):
return a+b
result = sub(b=5, a=3) # b에 5, a에 3을 전달
print(result) # -2
def 함수_이름(*매개변수):
수행할_문장
...
*매개변수 사용.def add_many(*args):
result = 0
for i in args:
result = result + i # *args에 입력받은 모든 값을 더한다.
return result def print_kwargs(**kwargs):
수행할_문장
...
키워드 매개변수는 함수 호출 시 키워드=값 형태로 전달하는 매개변수를 받을 때 사용한다.
키워드 매개변수를 사용할 때는 매개변수 앞에 별 2개(**)를 붙인다.
사용 예)
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(a=1) # {'a': print_kwargs(name='foo', age=3) # {'age': 3, 'name': 'foo'}
def mixed_function(name, *args, **kwargs):
print(f"이름: {name}")
print(f"추가 인수들: {args}")
print(f"키워드 인수들: {kwargs}")
mixed_function('홍길동', 1, 2, 3, age=25, city='서울')
def add_and_mul(a,b):
return a+b, a*b
result = add_and_mul(3,4) # (7, 12)
def add_and_mul(a,b):
return a+b, a*b
result1, result2 = add_and_mul(3, 4)
result1 # 7
result2 # 12
def add_and_mul(a,b):
return a+b
return a*b
result = add_and_mul(2, 3) # 5
def say_myself(name, age, man=True):
print("나의 이름은 %s 입니다." % name)
print("나이는 %d살입니다." % age)
if man:
print("남자입니다.")
else:
print("여자입니다.")
# say_myself 함수는 2가지 방법으로 사용할 수 있다.
say_myself("박응용", 27)
say_myself("박응용", 27, True)
a = 1
def vartest(a):
a = a + 1
vartest(a) # 2
print(a) # 1
a = 1
def vartest(a):
a = a +1
return a
a = vartest(a)
print(a)
a = 1
def vartest():
global a
a = a+1
vartest()
print(a)
def change_list(my_list):
my_list.append(4) # 리스트에 값을 추가
a = [1, 2, 3]
change_list(a)
print(a) # [1, 2, 3, 4]
함수_이름 = lambda 매개변수1, 매개변수2, ... : 매개변수를_이용한_표현식add = lambda a, b: a+b
result = add(3, 4)
print(result) # 7
def add(a, b):
"""
두 숫자를 더하는 함수
Parameters:
a (int, float): 첫 번째 숫자
b (int, float): 두 번째 숫자
Returns:
int, float: 두 숫자의 합
"""
return a + b
# 독스트링 확인하기
print(add.__doc__)