我是 Python 新手,我试图在两个不同的源文件中创建两个同名的类。我们称它们为“Main.py”和“Extension.py”。班级是“我的班级”。Extesntion.py 中的 MyClass 派生自文件Main.py 中的MyClass 。如果它有效,那么当我创建一个对象 myclass 并在我的代码中导入 Extension 时,与文件Main.py相比,我将拥有更多的功能。
class MyClass:
def __init__(self):
Initialize something
def foo1(self, a, b):
Do something
Run Code Online (Sandbox Code Playgroud)
然后扩展将是这样的:
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)
如果你这样做
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