首页 > 解决方案 > 如何在数据类中解决重复的类名?

问题描述

在使用数据类时,我声明了重复的数据类,并意识到在使用它们创建对象时,代码工作得非常好,只要我使用底部最近一行中提到的格式。

真的允许重复命名吗?我可以使用重复的数据类名称进行某种重载吗?从同名数据类继承呢?

标签: pythonpython-dataclasses

解决方案


就像您可以使用赋值语句将新值重新分配给名称一样

x = 1
x = 2
assert x == 2

class您可以使用语句将新的类对象分配给名称。

class X:
    pass

old_X = X

class X:
    pass

assert old_X is not X

class语句本身是一种声明性语法,它做了三件事:

  1. 评估其主体以定义一些名称
  2. 将由名称及其值构造的 dict 传递给元类以创建新类
  3. 将调用元类的返回值分配给class语句给出的名称。

您只是在观察第三步。


推荐阅读