Python でコードを書くときはAttributeErrorが発生することを注意する必要がある
以下のコードでは、Testクラスにname属性が設定されていないため、AttributeErrorになる。
test_code.py
class Test:
def __init__(self, cd):
self.cd = cd
test = Test("c001")
print(test.cd) #c001
print(test.name) # AttributeError
属性が存在しないことを見越したコードを書く際は、以下のように 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")) # 属性nameがないので、default value が表示される