def cal(a,b):
return a+(2*b)
result = cal(b=2,a=3)
print(result)
>>> 7
def cal(a,b=2):
return a+(2*b)
result = cal(1)
print(result)
>>> 5
#위와같은 경우는 result 변수에 함수 실행결과를 담는 과정에서 1이 자동으로 가변인자인 a에 할당된다
def cal(*args):
for name in args:
print(f'{name} 밥먹어라~')
cal('영수','철수','영희')
>>>
영수 밥먹어라~
철수 밥먹어라~
영희 밥먹어라~
#TMI: args는 변수명을 임의로 정한 것일 뿐 *만 잘 써주면 뒤에는 어떤 변수명을 집어넣어도 상관없으며, 담아낸 자료값들은 튜플 형태로 반환된다
def cal(**kwargs):
print(kwargs)
cal(name='bob',age=30,height=180)
>>> {'name':'bob', 'age':30, 'height':180}
#TMI: **kwargs(keyworld arguments)역시 **만 잘써주면 변수명은 어떻게 써도 상관없다 :) **merong 이렇게 해도 가-능
class Monster():
hp = 100
alive = True
def damage(self, attack):
self.hp = self.hp - attack
if self.hp < 0:
self.alive = False
def status_check(self):
if self.alive:
print('살았다')
else:
print('죽었다!')
m1 = Monster()
m1.damage(150)
m1.status_check()
m2 = Monster()
m2.damage(90)
m2.status_check()
>>>
죽었다!
살았다