반응형
class T:
def __init(self, num):
self.num = num
def __call(self, value):
return self.num + value
def __str__(self):
return f"T > num : {self.num}"
def __add__(self, value) -> int|float|None:
if isinstance(value, (int|float):
return self.num + value
else:
return None
__dict__
객체가 가지고 있는 변수를 Dictionary로 반환하는 함수
동일 함수 이름이나 동일 변수 이름이 생성되는 경우, 마지막에 생성된 함수|변수를 반환함.
print(t.__dict__)
# {'num': 10}
__code__()
객체를 함수처럼 호출하는 방법
클래스에 메소드가 하나밖에 없을 때 많이 사용한다.
t(100) # Test.__call__()
# t의 num 값이 + 100이 됨.
__str__()
str(t)를 호출할 때 나오는 결과 값을 커스텀하기 위한 방법
커스텀하기 전 기존 str(t) 결과 값 : <__main__.T object at 0x10a2fa730>
커스텀 후 str(t) 결과 값 : T > num : 110
📌 Operator Overriding
__add__()
t + 20 # __add__ 메소드가 구현되어있으면 가능. num은 130이 됨.
반응형
'AI > Python' 카테고리의 다른 글
[Python] 클래스와 변수 + 접근지정자 getter, setter (0) | 2025.10.01 |
---|---|
[Python] datetime 모듈 (0) | 2025.09.25 |
[Python] ascii code <-> string 변환 방법 (0) | 2025.09.10 |
[Python] 입력방법 input(), sys.stdin.readline(), strip() (0) | 2025.09.09 |
[Python] 모듈 만들기 (0) | 2025.09.05 |