主要内容

访问Python模块从MATLAB- - - - - -开始

您可以访问所有标准Python®从MATLAB库内容®。同样,您可以使用第三方或用户创建的模块功能。直接从MATLAB调用Python功能,添加py。前缀的名称您想调用的Python函数。

  • 电话内容在Python标准库,添加py。前面的Python函数或类名。

    py.list ({“这”,“是一个”,“列表”})%调用内置的函数列表
  • 电话内容可用模块,添加py。Python模块名称前面的Python函数或类名紧随其后。

    py.textwrap.wrap (“这是一个字符串”)% textwrap调用函数封装在模块

你不需要导入模块来使用它们。然而,你可能Python名称导入MATLAB函数以同样的方式,您可以导入MATLAB软件包中的内容。有关更多信息,请参见了解Python和MATLAB导入命令

MATLAB还提供了一种直接从MATLAB在Python解释器运行Python代码。有关更多信息,请参见直接从MATLAB调用Python功能

学习目标

这篇教程解释了怎样:

  • 在电脑上检查Python版本。

  • 创建一个Python对象并调用一个方法。

  • 显示Python模块的帮助。

  • 创建专门的Python列表,元组,dict(字典)类型

  • 一个Python对象上调用一个方法名称相同的MATLAB函数。

  • 从自己的Python模块调用功能。

  • 找到例子。

验证Python配置

在MATLAB中使用Python,你必须有一个支持版本的Python安装在你的机器金宝app上。确认你有一个支持的版本,类型:金宝app

pyenv
ans = PythonEnvironment属性:版本:“3.8”可执行:“C: \ \用户家乡Python当地\ AppData \ \程序\ \ Python38 \ pythonw。exe”库:“C: \ \用户家乡Python当地\ AppData \ \程序\ \ Python38 \ Python38。dll:“C: \ \用户家乡Python当地\ AppData \ \程序\ \ Python38”状态:NotLoaded ExecutionMode: OutOfProcess

如果该值版本属性是空的,那么你没有一个受支持的版本可用。金宝app关于安装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、细胞(res),“UniformOutput”假)
mylist = 1×4单元阵列{‘Name1} {‘Name2} {‘Name3} {' Name4 '}

显示Python文档在MATLAB

您可以显示帮助文本在MATLAB的Python函数。例如:

py.help (“list.append”)
帮助在method_descriptor列表:列表。附加= append (…)L.append(对象)- >——没有一个对象附加到结束

选项卡完成打字时py。不显示可用的Python功能。有关更多信息,请参见帮助的Python函数

创建列表、元组和字典类型

此表显示了创建的语句列表,元组,dict类型。左边的语句从Python解释器运行。右边的语句是MATLAB语句。

Python列表- - - - - -[]

MATLABpy.list

> > >(“罗伯特”、“玛丽”,“约瑟夫”) > > py.list({“罗伯特”、“玛丽”,“约瑟夫”})
> > > [[1、2],[3,4]] > > py.list ({py.list ([1, 2]), py.list ([3,4])})

Python元组- - - - - -()

MATLABpy.tuple

> > >(“罗伯特”,19日“生物学”) > > py.tuple({“生物学”“罗伯特”,19日})

Pythondict- - - - - -{}

MATLABpy.dict

> > >{“罗伯特”:357年,“乔”:391年,“玛丽”:229} > > py.dict (pyargs (…
“玛丽”“罗伯特”,357年,229年,“乔”,391年)


通过关键字参数的信息,请参阅pyargs

优先顺序的方法和功能

如果Python类定义了一个具有相同名称的方法作为Python的MATLAB转换器的方法类型,MATLAB调用Python方法。这意味着您不能调用MATLAB变换器方法在该类的一个对象。

例如,如果一个Python类定义了一个字符方法,这个语句调用Python方法。

char (obj)

使用MATLAB字符函数,类型:

char (py.str (obj))

访问其他Python模块

您可以使用自己的Python代码在MATLAB和第三方的模块。内容必须在Python的道路。安装一个第三方Python模块把内容路径。如果你创建自己的模块,你负责把它们放在路径。

例如,看到的调用用户定义的Python模块

Python例子

例如代码可以开放在MATLAB实时编辑器中,寻找特色的例子从MATLAB调用Python页面。信息搜索MATLAB的例子,请参阅MATLAB代码示例

例如使用在线数据集,看到这个MathWorks博客

另请参阅

相关的话题