我正在尝试执行以下操作:
File 1:
class x:
def somefunc(self):
# Some code
ect...
File 2:
import File 1
# Inherits x
class y(File1.x):
# Some code
ect...
但这会引发错误:
“名称'x'未定义”
编辑:将x更改为File1.x。 仍然没有工作
答案 0 :(得分:4)
您已将模块导入您的命名空间; x
是模块的一个属性:
import modulename
class y(modulename.x):
或者,使用from modulename import
语法将模块中的对象绑定到本地命名空间:
from modulename import x
class y(x):
答案 1 :(得分:0)
您需要from file1 import x
或class y(file1.x)
来完成这项工作。
编辑:确保文件名中没有空格。也许这只是你问题中的一个错字,但在File2的顶部你是import File 1
而不是import File1
。如果与File1对应的Python模块的名称确实包含一个或多个空格,则应在文件名和import
语句中删除它们(或用下划线替换它们)。正如this question的已接受答案中所述,文件名用作导入模块的标识符,而Python标识符不能包含空格。