我有两个python文件。它声明了一个名为language的类:
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“的程序中:
turkish = __import__('language_class').language(self,"Turkish",turkish_latin,turkish_grammar).turkish当我运行language_class.py时,我没有得到问题,但是当我运行turkish.py时:
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
发布于 2013-02-24 05:44:51
您不需要传入self;python会自动将其提供给方法。
如果可以的话,您还真的不想使用__import__()函数。只需这样做:
import language_class
turkish = language_class.language("Turkish", turkish_latin, turkish_grammar).turkishhttps://stackoverflow.com/questions/15046054
复制相似问题