Py学习  »  Python

Python中的循环导入和子类

user5915656 • 5 年前 • 1434 次点击  

对Python来说比较陌生我收到循环导入的错误,所以我将所有导入语句更改为 import *module name*

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

import module1

class Subclass(Superclass)
    # some code

其中超类在modeule1中定义,子类继承自超类。

我得到的错误是没有定义超类。我试过了 class Subclass(module1.Superclass) 好吧,但我好像不知道怎么让它工作谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48372
文章 [ 1 ]  |  最新文章 5 年前
rahlf23
Reply   •   1 楼
rahlf23    6 年前

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

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()

跑步 模块2.py 将返回:

a