未从自制模块定义名称

时间:2018-07-19 21:16:03

标签: python python-2.7 class module raspberry-pi

我为运行Python 2.7.13的Raspberry Pi Model B V1.2创建了一对程序。一个是包含类和函数的模块,另一个是使用该模块的简单示例程序。

这是类模块,保存为“ motor_library.py”

class Motor(object):
    def __init__(self, name, pin1, pin2, pin3, pin4):
        ...
    def callMotor(self, direction, stepNumber, delay):
        ...

这是示例程序。

import motor_library

motor1 = Motor('motor1',4,17,23,24)
motor1.callMotor(1,1000,1)

运行示例程序后,出现错误“ NameError:未定义名称'Motor'。”这两个文件都在同一目录中,我无法弄清楚是什么原因导致了错误。经过一番搜索之后,我找不到任何遇到类似问题的人,有人能伸出援手吗?

1 个答案:

答案 0 :(得分:2)

有两种选择:

当只能将模块中定义的类作为其属性访问时,导入使该模块在当前名称空间中可用的模块:

import motor_library

motor1 = motor_library.Motor('motor1',4,17,23,24)

或直接导入类:

from motor_library import Motor

motor1 = Motor('motor1',4,17,23,24)