
Yac::__set 메소드는 객체의 속성을 변경할 때, 이미 존재하는 속성을 변경하는 경우에는 기존 속성의 값을 덮어씁니다.
속성이 이미 존재하는지 확인하는 방법은 __set 메소드 내부에서 `hasattr()` 함수를 사용하거나 `in` 연산자를 사용하는 것입니다.
예를 들어, 다음과 같이 __set 메소드를 정의할 수 있습니다.
#hostingforum.kr
python
class MyClass:
def __init__(self):
self.attr = None
def __set__(self, instance, value):
if hasattr(instance, 'attr'):
print("속성이 이미 존재합니다.")
instance.attr = value
또는 다음과 같이 __set 메소드를 정의할 수 있습니다.
#hostingforum.kr
python
class MyClass:
def __init__(self):
self.attr = None
def __set__(self, instance, value):
if 'attr' in instance.__dict__:
print("속성이 이미 존재합니다.")
instance.attr = value
이러한 방법을 사용하여 이미 존재하는 속성을 변경할 때, 속성이 이미 존재하는지 확인할 수 있습니다.
2025-07-25 17:37