MicroPython内有很多内置的常用库,可以直接使用import导入使用。
关于import的用法:
# ===== 1. 基本 import =====
# 把 math 模块整个拿进来,调用时要加前缀 math.
import math
print('math.pi =', math.pi) #math.pi = 3.141592653589793
# ===== 2. 别名 =====
# 太长不想写 math. ?给它起个小名
import math as m
print('m.sqrt(2) =', m.sqrt(2)) # m.sqrt(2)=1.4142135623730951
# ===== 3. 只拿一个函数 =====
# 从 math 里只导入 sqrt,调用时不用写前缀
from math import sqrt
print('sqrt(2) =', sqrt(2)) # sqrt(2) =1.4142135623730951
# ===== 4. 一次拿多个 =====
from math import sin, cos
print('sin(pi/2) =', sin(math.pi / 2)) # sin(pi/2) =1.0
print('cos(0) =', cos(0)) # cos(0) =1.0
# ===== 5. 全量导入(不推荐,这里演示) =====
from math import *
print('e =', e) # e = 2.718281828459045, 直接用,没前缀
# ===== 6. 自定义模块 =====
# 同级目录新建 mytools.py 内容:
# def add(a, b): return a + b
# 然后这里导入即可使用
try:
import mytools # 如果文件不存在会抛 ImportError
print('3 + 5 =', mytools.add(3, 5))
except ImportError:
print('mytools.py 没找到,跳过自定义模块演示')
# ===== 7. 重新加载(调试用) =====
# 仅当你改完 mytools.py 想立即生效才用,平时不用
# import importlib
# importlib.reload(mytools)
# ===== 8. 被导入 =====
'''
每个模块都有一个隐藏属性 __name__:
当模块 被直接运行(点运行按钮或在命令行运行)时,__name__ 等于 '__main__'
当模块 被 import 时,__name__ 等于模块名
利用 if __name__ == '__main__' 写“测试/演示”代码,这样可以使其作为被导入的模块时不会意外执行测试/演示代码
'''
#test.py
answer = 42
def add(a, b):
return a + b
# 只有按运行按钮时才执行的代码块
if __name__ == '__main__':
print('=== 我是 test.py 的自测 ===')
print('answer =', answer)
print('add(1, 2) =', add(1, 2))