python - 为什么不允许这样的导入?

标签 python

文件:b.py

class B:
    def __init__(self):
        print "B"

import a

a = A()

文件:a.py

class A(B):             ###=> B  is not  defined
    def __init__(self):
        print "A"

当我尝试执行 b.py 时,提示 B 未定义。我对“导入”有误解吗?

如能指出问题,万分感谢。

最佳答案

因为python在自己的文件中初始化了class A。它不像 C 或 PHP 包含,其中每个导入的模块基本上都粘贴到原始文件中。

您应该将类​​ B 与类 A 放在同一个文件中以解决此问题。或者你可以将类 B 放在 c.py 中并使用“from c import B”导入它。

关于python - 为什么不允许这样的导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/905848/

相关文章:

python - ZMQ 对(用于信令)由于连接不良而阻塞

python - 限时输入?

python - 寻找物体

python - 如何优化从 PyCBitmap 到 OpenCV 图像的转换

python - 如何在不删除 Python 中的分隔符的情况下拆分具有多个分隔符的字符串?

python - 使用python将rtf转换为pdf

python - 如何使用 YAML 配置 Python 日志记录以登录 UTC?

python - OpenCV HOG 人物检测 - 如何判断检测到的人是否与之前检测到的人相同?

python - 为什么python中设置的环境变量不能持久化?

python - 从test.pypi安装自己的软件包时如何修复 "No matching distribution found for {package name}"