我正在尝试从字典中实例化一个类。在类的构造函数,我默认值分配给一些类成员如果不给:为Python类成员分配默认参数
class Country(object):
def __init__(self, continent, country = "Zimbabwe"):
# do stuff
我从实例化的字典具有相同的名称,我的类成员键。我从字典实例,像这样:
country = Country(
continent = dictionary["continent"],
country = default_value if "country" not in dictionary else dictionary["country"]
)
可以看出,它是可能的字典中可能没有对应的类名的关键。在这种情况下,如果“国家”这个关键字不存在,我想离开集体成员国的默认值,即“津巴布韦”。有没有一个优雅的方式来做到这一点?方式如下:
country = dictionary["country"] if "country" in dictionary else pass
然而这是不可能的。我知道有我可以默认值的字典作为国家类的静态成员,做到这一点,像这样:
country = Country.default_values["country"] if "country" not in dictionary else dictionary["country"]
但似乎矫枉过正。有更好的方法吗?
@MartijnPieters更正。 – iab
不需要在括号内使用反斜杠 –