Application/Python
[Python] Class 다중 인자 값 설정
devsalix
2022. 12. 14. 14:28
728x90
클래스를 사용하다 보면 인자 값 개수에 따라서
다르게 동작하여야 하는 경우가 발생할 수 있습니다
이럴 경우 __call__ 함수를 이용해서 사용하면 됩니다
class calc():
g = 0
def __init__(self) -> None:
pass
def __call__(self, *args: int, **kwds: int) -> None:
if len(args) == 1:
pre = self.g
self.g += args[0]
return print("add_sum: {} + {} = {}".format(pre, args[0], pre + args[0]))
elif len(args) == 2:
self.g = args[0] + args[1]
return print("add: {} + {} = {}".format(args[0], args[1], args[0] + args[1]))
else:
self.g = 0
return print("인수의 개수가 맞지 않습니다.")
addsum = calc()
addsum(3)
addsum(2)
addsum(4, 5)
addsum(6)
addsum(3, 4)
addsum(3, 4, 5)
addsum(2)
결과 값
728x90
반응형