访问Python模块从MATLAB-开始
你可以访问所有标准的Python®来自MATLAB的库内容®.同样,您可以在第三方或用户创建的模块中使用功能。要直接从MATLAB调用Python功能,请添加py。
要调用的Python函数名的前缀。
要调用Python标准库中的内容,请添加
py。
在Python函数名或类名前面。py.list ({“这”,“是一个”,“列表”})调用内置函数列表
若要调用可用模块中的内容,请添加
py。
在Python模块名前面,后面跟着Python函数或类名。py.textwrap.wrap ('这是一个字符串')在模块文本封装中调用封装函数
您不需要导入模块来使用它们。但是,您可以将Python名称导入到MATLAB函数中,方法与导入MATLAB包中的内容相同。有关更多信息,请参见了解Python和MATLAB导入命令.
MATLAB还提供了一种直接从MATLAB在Python解释器中运行Python代码的方法。有关更多信息,请参见从MATLAB直接调用Python功能.
学习目标
本教程解释如何:
检查你电脑上的Python版本。
创建一个Python对象并在其上调用一个方法。
显示Python模块的帮助。
创建专门的Python
列表
,元组
,dict
(字典)类型在Python对象上调用与MATLAB函数同名的方法。
从您自己的Python模块调用功能。
找到例子。
验证Python配置
要在MATLAB中使用Python,必须在计算机上安装受支持的Python版本。万博1manbetx要验证您有一个受支持的版本,请键入:万博1manbetx
pyenv
ans = PythonEnvironment属性:版本:"3.8"可执行文件:"C:\Users\家乡\AppData\Local\Programs\Python\Python38\pythonw.exe" Library: "C:\Users\家乡\AppData\Local\Programs\Python\Python38\ Python38 .dll" Home: "C:\Users\家乡\AppData\Local\Programs\Python\Python38"状态:NotLoaded ExecutionMode: OutOfProcess
的值版本
属性为空,则您没有可用的受支持版本。万博1manbetx有关安装Python的详细信息,请参见配置您的系统使用Python.
访问Python标准库模块MATLAB
MATLAB与机器上的Python解释器交互,使您可以访问所有标准库内容。例如,创建一个Python列表
数据类型。
Res = py.list({“Name1”,“Name2”,“Name3”})
res = Python列表,没有属性。['Name1', 'Name2', 'Name3']
MATLAB识别Python对象并自动将MATLAB单元格数组转换为适当的Python类型。
你可以在一个对象上调用Python方法。的可用方法列表
对象类型方法(py.list)
.例如,更新列表res
使用Python附加
函数。
res.append (“Name4”) res
res = Python列表,没有属性。['Name1', 'Name2', 'Name3', 'Name4']
要转换列表
变量为MATLAB变量,调用细胞
在清单上字符
在列表的元素上。
Mylist = cellfun(@char,cell(res),“UniformOutput”假)
mylist = 1×4单元格数组{'Name1'} {'Name2'} {'Name3'} {'Name4'}
显示Python文档在MATLAB
您可以在MATLAB中显示Python函数的帮助文本。例如:
py.help (“list.append”)
list: list中method_descriptor的帮助。追加=追加(…)L.append(object) ->无——将对象追加到end
输入时完成制表符py。
不显示可用的Python功能。有关更多信息,请参见Python函数帮助.
创建列表、元组和字典类型
该表显示了用于创建的语句列表
,元组
,dict
类型。左边的语句是从Python解释器运行的。右边的语句是MATLAB语句。
Python |
MATLAB |
---|---|
>>>['罗伯特','玛丽','约瑟夫'] |
> > py.list({“罗伯特”、“玛丽”,“约瑟夫”}) |
> > >[[1、2],[3,4]] |
> > py.list ({py.list ([1, 2]), py.list ([3,4])}) |
Python |
MATLAB |
---|---|
>>>(“罗伯特”,19岁,“生物学”) |
> > py.tuple({“生物学”“罗伯特”,19日}) |
Python |
MATLAB |
---|---|
>>>{“罗伯特”:357,“乔”:391,“玛丽”:229} |
> > py.dict (pyargs(… 有关传递关键字参数的信息,请参见 pyargs . |
方法和函数的优先顺序
如果Python类定义了与Python类型的MATLAB转换器方法同名的方法,MATLAB将调用该Python方法。这意味着您不能在该类的对象上调用MATLAB转换器方法。
例如,如果一个Python类定义了字符
方法,该语句调用Python方法。
char (obj)
使用MATLAB字符
函数,类型:
char (py.str (obj))
访问其他Python模块
您可以在MATLAB中使用自己的Python代码和第三方模块。内容必须在Python路径下。安装第三方模块会将内容放到Python路径上。如果您创建自己的模块,则负责将它们放到路径上。
有关示例,请参见调用自定义Python模块.
Python例子
如需示例代码,您可以在MATLAB实时编辑器中打开,请在从MATLAB调用Python页面。有关搜索MATLAB示例的信息,请参见MATLAB代码示例.
有关使用在线数据集的示例,请参见此MathWorks博客文章.