首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python模块继承

Python模块继承
EN

Stack Overflow用户
提问于 2013-12-15 10:21:14
回答 2查看 40关注 0票数 0

我想做以下几件事:

代码语言:javascript
复制
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。仍然不起作用

EN

回答 2

Stack Overflow用户

发布于 2013-12-15 10:25:12

您将模块导入您的命名空间;x是模块的一个属性:

代码语言:javascript
复制
import modulename

class y(modulename.x):

或者,使用from modulename import语法将来自模块的对象绑定到本地命名空间:

代码语言:javascript
复制
from modulename import x

class y(x):
票数 4
EN

Stack Overflow用户

发布于 2013-12-15 10:24:56

您需要执行from file1 import xclass y(file1.x)来完成此工作。

编辑:确保文件名中没有空格。也许这只是你问题中的一个错误,但在File2的顶部,你说的是import File 1而不是import File1。如果与File1对应的Python模块的名称确实包含一个或多个空格,则应该在文件名和import语句中删除它们(或用下划线替换它们)。正如this question接受的答案所解释的那样,文件名被用作导入模块的标识符,而Python标识符不能包含空格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20593449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档