社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python中的循环导入和子类

user5915656 • 6 年前 • 1461 次点击  

对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 ]  |  最新文章 6 年前
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