속성의 인스턴스가 이미 내 개체에 있는지 확인하려고합니다. 아래에서 볼 수 있듯이 내 Dog
개체에 do_something_if_has_aged
메서드를 통해 특정 특성이있는 경우 무언가를 수행하려고합니다. 특정 속성이 이미 선언되었는지 여부를 어떻게 확인할 수 있습니까? 하지만,메소드가 이미 객체에 있는지 확인하십시오.
>>> class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def add_years(self, years):
self.age += years
self.has_aged = True
def do_something_if_has_aged(self):
if self.has_aged:
print("The dog has aged and is %d years closer to death" % self.years)
else:
print("The dog hasn't aged, apparently.")
>>> dog = Dog('Spot', 3)
>>> dog.age
3
>>> dog.do_something_if_has_aged()
Traceback (most recent call last):
File "<pyshell#193>", line 1, in <module>
dog.do_something_if_has_aged()
File "<pyshell#190>", line 9, in do_something_if_has_aged
if not self.has_aged:
AttributeError: 'Dog' object has no attribute 'has_aged'
>>> dog.add_years(1)
>>> dog.age
4
>>> dog.do_something_if_has_aged()
The dog hasn't aged, apparently.
분명히 개 이 세했습니다
obj = None
if obj:
print(True)
else:
print(False)
가 여기 내 최소 재현 예제 : 일반적으로 당신은
False
을 반환이 같은과 존재를 확인한다.
제목이 내가 아래에서 전달하려고하는 것을 반영하지 않으면 사과드립니다. 나는 OOP에 처음 온 사람이다.
조건이 잘못되었습니다. 'if self.has_aged'를 수행해야합니다. –