如何制作数据类的可选属性?
from dataclasses import dataclass
@dataclass
class CampingEquipment:
knife: bool
fork: bool
missing_flask_size: # what to write here?
kennys_stuff = {
'knife': True,
'fork': True
}
print(CampingEquipment(**kennys_stuff))
Run Code Online (Sandbox Code Playgroud)
我尝试过field(init=False)
,但它给了我:
TypeError: CampingEquipment.__init__() missing 1 required positional argument: 'missing_flask_size'
Run Code Online (Sandbox Code Playgroud)
我所说的“可选”是指__dict__
可能包含或不包含“missing_flask_size”键。如果我设置默认值,那么密钥将在那里,但在某些情况下不应该在那里。我想检查它的类型是否存在。
我尝试将 移动field(init=False)
到类型位置(冒号之后),这样我就可以更明确地说明我想要的可选内容是键而不是值。
所以我希望这个测试能够通过:
with pytest.raises(AttributeError):
ce = CampingEquipment(**kennys_stuff)
print(ce.missing_flask_size)
Run Code Online (Sandbox Code Playgroud) 如果您有一个基于 dask 数据帧的 groupby 对象,为什么会len(<groupby object>)
返回错误?(错误或功能)
创建虚拟环境后,如果您有一个 shell 脚本调用:
/home/user/venv/python3 <scriptname>
Run Code Online (Sandbox Code Playgroud)
它如何知道 virtualenv 的 site-packages 文件夹在没有源激活到 virtualenv 的情况下(从而更改路径)?