Im folgenden Code tritt AttributeError auf, weil das Namensattribut in der Testklasse nicht festgelegt ist.
test_code.py
class Test:
def __init__(self, cd):
self.cd = cd
test = Test("c001")
print(test.cd) #c001
print(test.name) # AttributeError
Verwenden Sie getattr wie folgt, wenn Sie Code in Erwartung des Fehlens von Attributen schreiben.
https://docs.python.org/3.5/library/functions.html#getattr
test_code2.py
class Test:
def __init__(self, cd):
self.cd = cd
test = Test("c001")
print(test.cd) #c001
print(getattr(test, "name", "default value")) #Da es keinen Attributnamen gibt, wird der Standardwert angezeigt