较大的工程常常由多个模块组成,这些模块有负责计算的,有负责绘图的,有负责图形用户界面的等等,多模块协同合作,完成比较复杂的工作任务。在一个模块中使用其他模块的函数或类,需要首先导入该模块。[大谦MATLAB,dqmatlab点com]
使用内置模块和第三方模块
【MATLAB】
MATLAB的工具箱一旦正确安装,工具箱中的函数就可以在命令窗口和脚本编辑器中直接调用。
【Python】
使用内置模块中的函数和类,需要首先用import命令导入该模块,语法格式为:
import module1[, module2[, … moduleN]]
调用模块中的函数时,这样引用
模块名.函数名
如果只引入模块中的某个函数,使用from…import语句。
下面在模块中导入math模块,调用它的sin函数、cos函数和常量pi计算给定30度角的正弦和余弦。该文件保存为s04.py。
import math #导入math模块
from math import cos #从math模块中导入cos函数
angle=math.pi/6 #用常量pi计算30度角
a=math.sin(angle) #用math.sin()函数计算30度角的正弦
b=cos(angle) #用cos函数计算30度角的余弦
print(a) #输出正弦值
print(b) #输出余弦值
在Python IDLE文件脚本窗口,在"Run"菜单中单击"Run Module"选项,则IDLE命令行窗口显示下面的结果:
>>> =RESTART: …\Samples\ch15\s04.py
0.49999999999999994
0.8660254037844387
使用其他自定义模块
使用自定义模块,需要确保该模块文件位于MATLAB或Python搜索路径中,即要确保MATLAB或Python找得到该文件。
【MATLAB】
MATLAB中可以用addpath函数将指定目录添加到MATLAB搜索路径。所以,调用自定义模块中的函数时,可使用该函数将模块文件添加到MATLAB搜索路径。代码类似下面函数所示:
function y=my_function(x)
addpath('需要调用的M文件所在的目录');
y=another_function(x); %调用另一个M文件中的函数
end
【Python】
对于自定义模块而言,因为模块文件保存的位置不确定,直接使用import语句可能会导致出错。一般情况下,使用import语句导入模块后,Python会按照以下顺序查找指定的模块文件:
• 当前目录,即该模块文件所在的目录;
• PYTHONPATH(环境变量)指定的目录;
• Python默认的安装目录,即Python可执行文件所在的目录。
所以,只要自定义模块文件放在这3种目录下,就能被Python找到。