- 함수정의 방법
- def function_name(parameter):
- # code
- def function_name(parameter):
예제 1번
def first_func(w1):
print("Hello", w1)
word = "Goodboy"
first_func(word)
예제 2번
def return_func(w1):
return "Hello," + str(w1)
x = return_func('Goodboy2')
print(x)
예제 3번(다중 변환)
def func_mul(x):
y1 = x*10
y2 = x*20
y3 = x*30
return y1, y2, y3
x,y,z = func_mul(10)
print(x, y, z)
리턴(튜플, 리스트, 딕셔너리)
# 튜플 리턴
def func_mul2(x):
y1 = x*10
y2 = x*20
y3 = x*30
return (y1, y2, y3)
q = func_mul2(10)
print(q)
# 리스트 리턴
def func_mul3(x):
y1 = x*10
y2 = x*20
y3 = x*30
return [y1, y2, y3]
p = func_mul3(10)
print(type(p), p)
# 딕셔너리 리턴
def func_mul3(x):
y1 = x*10
y2 = x*20
y3 = x*30
return {'v1':y1,'v2': y2, 'v3': y3}
d = func_mul3(10)
print(type(d), d.get('v2'), d.values(), d.keys() )
언팩킹 *args / **kwarge
#*args(언팩킹)
def args_func(*args): # 튜플
for i, v in enumerate(args):
print('Result : {}'.format(i),v)
print('------')
args_func('Lee')
args_func('Lee', 'Park')
args_func('Lee', 'Park', 'Kim')
# **kwargs (언팩킹)
def kwargs_func(**kwargs): # 딕셔너리
for v in kwargs.keys():
print("{}".format(v), kwargs[v])
print('------')
kwargs_func(name1='Lee')
kwargs_func(name1='Lee', name2='Park')
kwargs_func(name1='Lee', name2='Park', name3='Kim')
# 전체 혼합
def example(args_1, args_2, *args, **kwargs):
print(args_1, args_2, args, kwargs)
example(10, 20, 'Lee', 'kem', 'Park', age1=20, age2=30, age3=40)
중첩 함수
def nested_func(num):
def func_in_func(num):
print(num)
print("In func")
func_in_func(num + 100)
nested_func(100)