python - 未从自制模块定义的名称
问题描述
我为运行 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: name 'Motor' is not defined。” 这两个文件都在同一个目录中,我不知道是什么导致了错误。经过一番搜索,我找不到任何有类似问题的人,谁能伸出援助之手?
解决方案
有两种选择:
当模块中定义的类只能作为其属性访问时,导入使模块在当前命名空间中可用的模块:
import motor_library
motor1 = motor_library.Motor('motor1',4,17,23,24)
或直接导入类:
from motor_library import Motor
motor1 = Motor('motor1',4,17,23,24)
推荐阅读
- javascript - 在行和列中动态添加值总和
- asp.net - ASP.NET:从一个 SQL 命令填充多个标签
- javascript - 我想做一个本地定时器
- python - 无法从 pygal.maps.world.COUNTRIES 中提取国家代码
- sql-server - SQL Server 2017 哪个版本有代理?
- phpmyadmin - 我更新到 MariaDB 10.2.20 以使用 CTE。仍然在 phpMyAdmin 中得到“无法识别的语句类型。(靠近 WITH)
- scala - Tomcat 7 随机崩溃并出现 ClassNotFoundException
- java - 带有 JDK Compliance 9 和 10 的 Eclipse 中的“Long 类型不可见”
- python - Numba:如何以编程方式打开/关闭即时编译(设置 NUMBA_DISABLE_JIT 环境变量)?
- python - 如何组合元组列表中的唯一值?