38得票2回答
如何在Ubuntu 18.04上安装Python3.7并使用pip创建虚拟环境?

我想在Ubuntu 18.04上使用python 3.7和pip(或其他安装包的方式)设置一个标准的虚拟环境(venv)。看起来安装Python3.7的标准方式是:% sudo apt install python3.7 python3.7-venv % python3.7 -m venv p...

36得票2回答
导入错误:无法从'typing'中导入名称为'Literal'的模块

我最近开始使用PEP 484和PEP 586来使我的代码更清晰、更易于理解。到目前为止一切都很好,但是当我想要使用typing包中的Literal时,似乎无法导入。 最令人惊讶的是,PyCharm并没有抱怨导入或使用它。 最终我想要使用的代码看起来像这样:SomeVar = TypeVar...

36得票3回答
如何在pdb中等待一个协程

我正在使用一个异步库(asyncpg),我想要调试一些异步调用以查询数据库。 我设置了一个pdb断点,想尝试几个查询:(pdb) await asyncpg.fetch("select * from foo;") *** SyntaxError: 'await' outside functi...

36得票5回答
如何在一个冻结的数据类自定义__init__方法中设置属性?

我正在尝试构建一个@dataclass,它定义了架构但实际上不使用给定成员进行实例化。(基本上,我正在劫持方便的@dataclass语法用于其他目的)。这几乎做到了我想要的:@dataclass(frozen=True, init=False) class Tricky: thing1...

34得票3回答
Python 3.7:检查类型注释是否为通用类的“子类”

我正在尝试找到一种可靠且跨版本(3.5+)的方法,用于检查类型注释是否为给定泛型类型的“子类”(即从类型注释对象中获取泛型类型)。在Python 3.5/3.6上,它可以正常运行,就像你期望的那样:>>> from typing import List >>&g...

33得票5回答
替换数据类对象中的属性

我希望像namedtuple._replace()一样更改dataclass实例的属性,即创建一个修改过的原始对象副本:from dataclasses import dataclass from collections import namedtuple U = namedtuple("U...

33得票1回答
类型提示中的可选联合

在类型提示系统中,Optional[T] 被认为等同于 Union[T, None]。 对于多个类型参数是否也适用呢?例如,Optional[T,U] 是否可以拆分为 Union[T,U,None],还是需要写成 Optional[Union[T,U]]。

30得票4回答
如何在不注释类型的情况下添加数据类字段?

当数据类中有一个字段其类型可以是任何类型时,如何省略注释? @dataclass class Favs: fav_number: int = 80085 fav_duck = object() fav_word: str = 'potato' 看起来上面的代码并没...

30得票2回答
类型错误:TextIOWrapper对象不可序列化为JSON。

如果代码正常工作,那么每当有人在聊天中键入内容时,他们将获得 5 经验,并将该信息放入 .json 文件中,但实际上发生的情况是每当有人在聊天中键入内容时,它会给我报错。on_message users = json.dumps(f) TypeError: Object of type Te...

30得票1回答
Python数据类中的常量类“Constants”

理解以下内容不是真正的常量,试图遵循PEP 8,我想在Python 3.7中的@dataclass中创建一个"常量"。@dataclass class MyClass: data: DataFrame SEED = 8675309 # Jenny's Constant 我的...