gpt4 book ai didi

python:实例属性错误

转载 作者:太空狗 更新时间:2023-10-30 00:46:15 26 4
gpt4 key购买 nike

我得到了一个命令来初始化一个类(class)的人。个人只有一个字段:“姓名”。 'name' 字段是可选的,这意味着如果 dict 没有 'name' 项,那么就没有 person 的 'name' 值。我使用 getter 方法获取实例属性,但如果没有“名称”值,它会抛出错误。我不知道有什么好的编程风格可以改进我的代码吗?因为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'

最佳答案

class Person:

def __init__(self,person_dict):
self.name = person_dict.get('name')

在这种情况下,self.name = person_dict.get('name') 不会引发异常,Person 对象将具有 name 属性(None 默认情况下)

更新。由于 getName 方法没有用,我从示例中删减了它。直接访问 name 属性。

关于python:实例属性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10210833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com