Skip to main content
 首页 » 编程设计

python之在同一个 python 程序中编写两个具有相同名称的类是否有意义

2025年05月04日21落叶无声

在任何情况下,在同一个程序中使用不同参数编写两个具有相同名称的 python 类是否有意义?我正在考虑这个程序,但我的第二个测试类将覆盖第一个。总是这样吗?

class test: 
    def __init__(self): 
        print("first class") 
    def oneplus(self, x): 
        print(x + 1) 
 
class test: 
    def __init__(self): 
        print("second class") 
    def twoplus(self, x): 
        print(x + 2) 
 
t = test() 
t.twoplus(1)   

只会导致使用第二个实例:

second class 
3 

请您参考如下方法:

是的,如果您定义一个与现有类同名的类,它将覆盖该定义。

但第一个类的现有实例仍将照常运行。

小例子:

class test: 
    def __init__(self): 
        print("first class") 
    def oneplus(self, x): 
        print(x+1) 
 
t1 = test() 
 
class test: 
    def __init__(self): 
        print("second class") 
    def twoplus(self, x): 
        print(x+2) 
 
t2=test() 
t1.oneplus(1) 
t2.twoplus(1) 

输出:

first class 
second class 
2 
3 

如果您从不使用第一个类,像 PyCharm 这样的 IDE 甚至会警告您: