私はクラスの人を初期化するための口述を受けます。直接1つのフィールドがあります:'名前'。「name」フィールドはオプションです。つまり、dictに「name」項目がない場合、personの「name」値はありません。getterメソッドを使用してインスタンス属性を取得しますが、「name」値がない場合はエラーがスローされます。コードを改善するための優れたプログラミングスタイルがあるかどうかわかりません。Pythonは実行時にインスタンスフィールドを作成するため、Javaのようなgetterの使用方法がわかりません。
class Person:
def __init__(self,person_dict):
try:
self.name = person_dict['name']
except Exception:
pass
def getName(self):
return self.name
pdict = {}
p = Person(pdict)
print p.getName()
AttributeError:Personインスタンスに属性'name'がありません