Почему hasattr () не работает, когда переменная удаляется прямо под ней? - PullRequest
0 голосов
/ 28 мая 2020

У меня есть следующее:

if hasattr(self, 'banana'):
    print('has attribute')
else:
    print("it has no attribute")

del self.banana

По какой-то причине он выводит «у него нет атрибута». Однако, когда я меняю его на это:

if hasattr(self, 'banana'):
    print('has attribute')
else:
    print("it has no attribute")

self.banana = 0

Затем он печатает «имеет атрибут». Это сбило мой мозг, кто-нибудь знает, почему это происходит?

...