如何解析数据 class 中的重复 class 名称?
How are duplicate class names resolved in data classes?
在处理数据时 classes 我声明了重复数据 class 并意识到在使用它们创建对象时,只要我使用的是上面提到的格式,代码就可以正常工作从底部算起的最近一行。
真的允许重复命名吗?我可以使用重复数据 class 名称进行某种重载吗?从同名数据class继承呢?
就像您可以使用赋值语句将新值重新分配给名称一样
x = 1
x = 2
assert x == 2
您可以使用 class
语句将新的 class 对象分配给名称。
class X:
pass
old_X = X
class X:
pass
assert old_X is not X
class
语句本身是一种声明性语法,它完成三件事:
- 评估其主体以定义一些名称
- 将由名称及其值构造的字典传递给元class以创建新的class
- 将调用元class的return值分配给
class
语句给出的名称。
您只是在观察第 3 步。
在处理数据时 classes 我声明了重复数据 class 并意识到在使用它们创建对象时,只要我使用的是上面提到的格式,代码就可以正常工作从底部算起的最近一行。
真的允许重复命名吗?我可以使用重复数据 class 名称进行某种重载吗?从同名数据class继承呢?
就像您可以使用赋值语句将新值重新分配给名称一样
x = 1
x = 2
assert x == 2
您可以使用 class
语句将新的 class 对象分配给名称。
class X:
pass
old_X = X
class X:
pass
assert old_X is not X
class
语句本身是一种声明性语法,它完成三件事:
- 评估其主体以定义一些名称
- 将由名称及其值构造的字典传递给元class以创建新的class
- 将调用元class的return值分配给
class
语句给出的名称。
您只是在观察第 3 步。