小编Dmi*_*gol的帖子

数据类子类不继承 __repr__

我正在使用dataclasses从 Python 3.7 向后移植的Python模块。我偶然发现了这种行为,其中数据类子类不继承__repr__

from dataclasses import dataclass

@dataclass
class Person:
    name: str

    def __repr__(self):
        return f'{self.__class__.__qualname__}({self.name})'

    def print_something(self):
        return self.name

@dataclass
class Employee(Person):
    title: str
Run Code Online (Sandbox Code Playgroud)

这是输出

In [21]: e = Employee(name='Dmitry', title='Systems Engineer')

In [22]: p = Person(name='Dmitry')

In [23]: repr(e)
Out[23]: "Employee(name='Dmitry', title='Systems Engineer')"

In [24]: p = Person(name='Dmitry')

In [25]: repr(p)
Out[25]: 'Person(Dmitry)'

In [26]: p.print_something()
Out[26]: 'Dmitry'

In [27]: e = Employee(name='Dmitry', title='Systems Engineer')

In [28]: repr(e)
Out[28]: "Employee(name='Dmitry', title='Systems Engineer')"

In …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-dataclasses

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

ruamel.yaml:关于typ和pure=True的澄清

我试图理解Python 库中typ和 的含义。我已阅读此处的 文档。 到目前为止,我已经了解使用安全加载器,该加载器省略了 YAML 中的 YAML 标记解析(它们可能导致任意代码执行)。我在文档中 没有找到有关往返解析器的任何解释。pure=Trueruamel.yaml

typ='safe'
typ='rt'

另外,我认为解释pure=True很混乱:

提供pure=True强制使用纯 Python 实现(如果可能/可用,将使用更快的 C 库)

是否使用更快的 C 库pure=True?如果确实如此,为什么您需要首先指定此标志?

python yaml ruamel.yaml

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