小编Bac*_*ics的帖子

具有可选属性的 python 数据类

如何制作数据类的可选属性?

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)

python python-dataclasses

43
推荐指数
2
解决办法
6万
查看次数

Dask Dataframe groupby 没有 len()

如果您有一个基于 dask 数据帧的 groupby 对象,为什么会len(<groupby object>)返回错误?(错误或功能)

python dataframe dask

5
推荐指数
1
解决办法
343
查看次数

Intellij 不显示项目文件夹(Python 项目)

这种情况时不时就会出现。有一天,当我打开 Intellij 时,我的文件目录列表全部消失,我只看到顶层。
在此输入图像描述

我看到了 Java 这个问题的答案,但我没有使用 Java 做任何事情。除了删除 .idea/ 文件夹并再次设置我的所有首选项之外,还有什么方法可以解决此问题吗?

python intellij-idea

3
推荐指数
1
解决办法
896
查看次数

使用脚本中的 Python venv

创建虚拟环境后,如果您有一个 shell 脚本调用:

/home/user/venv/python3 <scriptname>
Run Code Online (Sandbox Code Playgroud)

它如何知道 virtualenv 的 site-packages 文件夹在没有源激活到 virtualenv 的情况下(从而更改路径)?

python virtualenv

1
推荐指数
1
解决办法
438
查看次数