가변인자 매개변수
def get_avg(*args):
return sum(args) / len(args)
get_avg(1,2,3,4,5,6,7) # 4.0
예약어 가변인자 매개변수
def test(**kwargs):
keys = list(kwargs.keys())
print(keys)
test(a=1, b=2, f=5, z=7)
# 도형의 면적을 계산하는 함수 작성
# 원, 삼각형, 사각형
# 원의 면적 : r * r * pi
# 삼각형의 면적 : base * height * 0.5
# 사각형 : width * heigth
import math
def get_area(**kwargs):
if 'r' in kwargs.keys():
r = kwargs.get('r')
return r**2 * math.pi
elif 'base' in kwargs.keys() and 'height' in kwargs.keys():
base = kwargs.get('base')
height = kwargs.get('height')
return base * height * 1/2
elif 'width' in kwargs.keys() and 'height' in kwargs.keys():
width = kwargs.get('width')
height = kwargs.get('height')
return width * height
else:
return None
print(get_area(r=2.3)) # 16.619025137490002
print(get_area(base=3, height=4.5)) # 6.75
print(get_area(width=10, height=10)) # 100
att = {"base":2.45, "height":3.2}
print(get_area(**att))