python中的双类定义

2024-03-28 16:04:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚实现了以下工作。怎么会有用?具体情况是什么?如果类定义不同会发生什么?在

class A(object):
    pass

class A(object):
    pass

Tags: 定义objectpassclass
2条回答

第二个定义被覆盖。在

 $  cat test.py 
class A(object):
    def __str__(self):
        return 'first A'

class A(object):
    def __str__(self):
        return 'second A'

a1 = A()
print(a1)

 $  python test.py 
second A

第二个定义覆盖第一个定义。它与简单变量没有区别:

>>> i = 2
>>> i = 3
>>> print(i)
3

函数也是如此:您只需重新定义它。在

^{pr2}$

Python不强制对象名的唯一性(即不会因为“…already defined”而崩溃)。它也不关心内部:第一个类定义可能有不同于第二个类定义的方法。秩序是这里唯一重要的。在

相关问题 更多 >