如何向Python数据类添加none值?

如何向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,或

假设我有一个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
,或者如果虚构的字典中没有给出
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'没有
@h0r53
row.get('name')
已经封装了这个模式。@deceze我用
getattr(row,'name',None)
解决了这个问题。谢谢大家!@h0r53@Rivers
是一个命名的双元组。