Dans le code ci-dessous, AttributeError se produit car l'attribut de nom n'est pas défini dans la classe Test.
test_code.py
class Test:
def __init__(self, cd):
self.cd = cd
test = Test("c001")
print(test.cd) #c001
print(test.name) # AttributeError
Lorsque vous écrivez du code en prévision de l'absence d'attributs, utilisez getattr comme suit.
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")) #Puisqu'il n'y a pas de nom d'attribut, la valeur par défaut est affichée
Recommended Posts