继承Python中同名的类

Moh*_*n67 5 python class

我是 Python 新手,我试图在两个不同的源文件中创建两个同名的类。我们称它们为“Main.py”和“Extension.py”。班级是“我的班级”。Extesntion.py 中的 MyClass 派生自文件Main.py 中的MyClass 。如果它有效,那么当我创建一个对象 myclass 并在我的代码中导入 Extension 时,与文件Main.py相比,我将拥有更多的功能。

文件主.py

    class MyClass:
       def __init__(self):
         Initialize something

       def foo1(self, a, b):
         Do something
Run Code Online (Sandbox Code Playgroud)

然后扩展将是这样的:

文件扩展名.py

    import Main

    class MyClass(MyClass):
       def __init__(self):
         Initialize something

       def foo2(self, a, b):
         Do something

       def foo3(self, a, b):
         Do something
Run Code Online (Sandbox Code Playgroud)

然后如果我有这样的代码。我希望我不能使用 foo2 和 foo3。

    import Main

    myclass = MyClass()
    myclass.foo1(a, b)
Run Code Online (Sandbox Code Playgroud)

最后,如果我有这样的代码。我希望我使用所有功能。

    import Extension

    myclass = MyClass()
    myclass.foo1(a, b)
    myclass.foo2(a, b)
    myclass.foo3(a, b)
Run Code Online (Sandbox Code Playgroud)

L3v*_*han 5

如果你这样做

import main
Run Code Online (Sandbox Code Playgroud)

您需要使用main.MyClass从 main.py 创建一个对象。

相反,你可以做

from main import MyClass
Run Code Online (Sandbox Code Playgroud)

让它直接可用。

如果您需要两个具有相同名称的不同类,则可以改为

from main import MyClass as MainClass
Run Code Online (Sandbox Code Playgroud)

并且您将在名称下使用该课程 MainClass