ImportError:无法导入名称'entrenamiento'

时间:2018-07-13 20:07:36

标签: python-3.x pycharm

很长一段时间后我再次服用Python。

我正在开发一个软件来帮助我学习新的lengauge(日语)

我试图制作一个类并导入它,但是没有用。只是为了测试,我创建了一个非常简单的类,当我尝试导入它时出现错误。

这里是代码(trainer.py和prueba.py文件都在同一文件夹中):

文件trainer.py

class trainer:
    def entrenamiento(t,dicc):
        print(t)
        print(dicc)

文件prueba.py

from trainer import entrenamiento

entrenamiento(1,2)

当我运行prueba.py时,我得到以下信息:

C:\Users\nico\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/nico/PycharmProjects/japanese/prueba.py
 Traceback (most recent call last):
   File "C:/Users/nico/PycharmProjects/japanese/prueba.py", line 1, in <module>
     from trainer import entrenamiento
 ImportError: cannot import name 'entrenamiento'

Process finished with exit code 1

我还在prueba.py中尝试了其他代码:

import trainer

trainer.entrenamiento(1,2)

我明白了:

C:\Users\nico\AppData\Local\Programs\Python\Python36-32\python.exe 
C:/Users/nico/PycharmProjects/japanese/prueba.py
Traceback (most recent call last):
  File "C:/Users/nico/PycharmProjects/japanese/prueba.py", line 3, in <module>
trainer.entrenamiento(1,2)
AttributeError: module 'trainer' has no attribute 'entrenamiento'

Process finished with exit code 1

最后,为了检查,我尝试了以下

文件trainer.py

class trainer:

    print('hello world')

文件prueba.py

import trainer

我没有错误

C:\Users\nico\AppData\Local\Programs\Python\Python36-32\python.exe 
C:/Users/nico/PycharmProjects/japanese/prueba.py
hello world

Process finished with exit code 0

我正在使用Python 3.6.5和PyCharm 2018.1.4社区版

我的编码中是否有错误或者配置问题?

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

嗯,您在prueba.py

中导入时犯了一个小错误

应该是:

from trainer import trainer

trainer.entrenamiento(1,2)

第一位培训师指向trainer.py,第二位培训师指向班级。

您现在可以使用语法class.function访问类内部定义的函数,例如。 trainer.entrenamiento(1,2)

我建议更改trainer.py或类trainer的名称,因为这显然很令人困惑。