Python中的循环导入和子类

2024-06-02 09:57:18 发布

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

对Python来说比较新。循环导入时出错,所以我将所有导入语句都改为import *module name*

我想这样做(下面是模块2):

import module1

class Subclass(Superclass)
    # some code

其中超类在modeule1中定义,子类从超类继承。你知道吗

我得到一个错误,超类没有定义。我也尝试过使用class Subclass(module1.Superclass),但我似乎不知道如何让它工作。谢谢!你知道吗


Tags: 模块nameimport定义错误codesome语句
1条回答
网友
1楼 · 发布于 2024-06-02 09:57:18

您可以执行以下任一操作:

import module1

class Subclass(module1.Superclass):
    pass
    #some code

或:

from module1 import Superclass

class Subclass(Superclass):
    pass
    #some code

Python需要知道1)可以访问类的名称空间,或者2)显式导入类。你知道吗

为清楚起见,module1可以如下所示:

class Superclass:
    pass
    #some code

示例

对于module1.py

class Superclass:

    def __init__(self):
        pass

    def a(self):
        print('a')

    def b(self):
        print('b')

然后module2.py

from module1 import Superclass

class Subclass(Superclass):
    pass

x = Subclass().a()

运行module2.py将返回:

a

相关问题 更多 >