如何向Python数据类添加none值?
假设我有一个python数据类:如何向Python数据类添加none值?,python,python-dataclasses,Python,Python Dataclasses,假设我有一个python数据类: @dataclass class Person: name: str age: int married: bool 我向字段中添加数据,比如从一个虚构的字典: for row in something: ob = Person( name=row.name, age=row.age, married=row.married, ) 例如,如何使name等于None,或
@dataclass
class Person:
name: str
age: int
married: bool
我向字段中添加数据,比如从一个虚构的字典:
for row in something:
ob = Person(
name=row.name,
age=row.age,
married=row.married,
)
例如,如何使name
等于None
,或者如果虚构的字典中没有给出name
,如何使name
等于空字符串
我试过这样的方法:
name = row.name if row.name else None
但是我得到了一个属性错误,比如:AttributeError:object没有属性“name”
编辑:我希望实现这一点,而不必将
Person
数据类中的字段设置为None
如果它是一个虚构的字典,您将使用行['name']
,如果该键不存在,您将使用行.get('name')
来获得所需的效果。对于任何随机对象,等价物是getattr(行,'name',None)
。属性错误才是真正的问题。这里的行的类型是什么?如果它是一个字典,你可以尝试name=row['name']如果第行中的'name'没有
@h0r53row.get('name')
已经封装了这个模式。@deceze我用getattr(row,'name',None)
解决了这个问题。谢谢大家!@h0r53@Rivers行
是一个命名的双元组。