首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python 2中的模块导入类,会导致未知的“自我”。

从python 2中的模块导入类,会导致未知的“自我”。
EN

Stack Overflow用户
提问于 2013-02-24 05:40:36
回答 1查看 105关注 0票数 0

我有两个python文件。它声明了一个名为language的类:

代码语言:javascript
复制
class language:
    def __init__(self, name, letters, elements, grammar):
        self.n = name
        self.l = letters
        self.e = elements
        self.g = grammar

我将其另存为:"language_class.py“。然后,我尝试通过执行以下操作将其导入到另一个名为"turkish.py“的程序中:

代码语言:javascript
复制
turkish = __import__('language_class').language(self,"Turkish",turkish_latin,turkish_grammar).turkish

当我运行language_class.py时,我没有得到问题,但是当我运行turkish.py时:

代码语言:javascript
复制
    Traceback (most recent call last):
  File "C:\Users\Ahmet\Desktop\Google Apps\transalator\The Transalator\Recources\Languages\turkish.py", line 1, in <module>
    turkish = __import__('language_class').language(self,"Turkish",turkish_latin,turkish_grammar).turkish
NameError: name 'self' is not defined

然而,self是明确定义的。这是某种bug,还是我做错了?谢谢你的帮助,即使我只是在你看到这条消息之前几个小时感谢你:D

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-24 05:44:51

您不需要传入self;python会自动将其提供给方法。

如果可以的话,您还真的不想使用__import__()函数。只需这样做:

代码语言:javascript
复制
import language_class

turkish = language_class.language("Turkish", turkish_latin, turkish_grammar).turkish
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15046054

复制
相关文章

相似问题

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