__ init __과 헷갈릴 수 있다
한마디로
•
__ init __ : 생성자, 인스턴스 생성시에 인스턴스 초기화에 쓰이는 함수
•
__ call __ : ‘인스턴스'가 호출되었을 때 실행되는 함수
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
print(f"student's name is {self.name} and age is {self.age}")
def __call__(self, teacher):
self.teacher = teacher
print(f"{self.name}'s teacher is {self.teacher}")
std1 = Student('james', 15)
std1('emma')
Python
복사
결과.
std1 인스턴스 생성시에는 __init __이, 이후 std1 호출시에 __ call __이 실행되는 것을 볼 수 있다.