主要内容

pyrun

运行Python的声明MATLAB

    描述

    例子

    pyrun (代码)执行Python®语句代码在Python解释器。

    创建的变量使用pyrun函数是持久的。你可以在后续的调用中使用这些变量pyrun

    例子

    outvars= pyrun (代码,输出)返回Python MATLAB生成的任何变量®,通过指定的Python变量的名字输出和捕获返回的值outvars

    例子

    outvars= pyrun (代码,输出,pyName = pyValue)执行代码指定输入和输出变量名称使用MATLAB数据通过一个或多个名称参数。

    例子

    全部折叠

    这个例子中这些Python语句执行Python解释器。

    问候= "你好" print(问候)

    从MATLAB调用的Python代码。

    pyrun ([“问候=‘你好’”,“打印(问候)”])
    你好

    变量问候只存在于Python的名称空间。MATLAB显示的结果打印声明在MATLAB命令行。

    这个Python代码创建了一个星期的日子。

    天=(周一,周二,周三,周四,周五的)

    创建一个Python变量列表的函数。在MATLAB中,变量的名称mllist

    mllist = pyrun (“天=(周一,周二,周三,周四,周五的)”,“天”)
    mllist = Python列表没有属性。[“星期二”,“星期一”,周三,周四,周五的)

    本例中执行该语句a = b * cPython解释器中指定的输入值。

    pyrun (“a = b * c”,b = 5, c = 10)

    变量一个,b,c只存在于Python的名称空间。然而,这些变量可用于进一步的要求pyrun

    md = pyrun (“d = a + c”,“d”)
    md = 60

    本例中执行b * c在Python中MATLAB变量并返回结果。

    res = pyrun (“a = b * c”,“一个”,b = 5, c = 10)
    res = 50

    这个例子将局部变量赋值给一个在MATLAB Python变量,使其可访问。

    创建一个模块localModule.py

    def myFunc():打印(“myFunc执行”)兆乏= 3

    创建变量访问兆乏,并将值分配给MATLAB变量

    pyrun (“进口localModule”)= pyrun (“m = localModule.mvar”,“m”)

    输入参数

    全部折叠

    一个或多个Python语句,指定为字符串标量,字符串数组,特征向量,字符数组,单元阵列特征向量,或Python代码生成一个脚本使用Python内置的对象编译函数。每个条目表示一行Python代码。

    叫一个单行的语句,通过代码作为一个字符串标量或特征向量。叫多行Python语句,通过代码作为一个字符串数组,字符数组或单元阵列的特征向量。MATLAB元素之间换行字符插入多行语句。

    例子:pyrun([“= 3”,“打印”(a)))

    一个或多个输入参数名称和值通过Python代码指定为关键字和值参数。pyName是Python的一个变量,pyValue是指定的值。您可以指定几个名称和值对参数在任何顺序pyName1 = pyValue1…, pyNameN = pyValueN

    例子:pyrun (b * c, b = 5, c = 10)初始化变量bcPython语句的b * c

    一个或多个Python变量名称,指定为一个字符串数组。变量可以是本地或全球。MATLAB分配的输出代码每个变量命名输出并返回的值outvars

    例子:mb = pyrun (“b = + 2”,“b”, a = 5)

    输出参数

    全部折叠

    一个或多个MATLAB工作区变量名,作为有效的Python类型的返回代码。指定Python变量的名称输出论点。如果你想访问Python数据,然后您必须显式地返回MATLAB使用Python对象outvars

    指定多个输出,使用方括号。例如,[res1,它]= pyrun (“a = b * c”, (“a”、“b”), b = 5, c = 10)返回两个outvars,res1

    限制

    • 定义Python类使用pyrunpyrunfile不能修改,如果你返回类的一个实例MATLAB。如果你需要改变类定义,重新启动解释器会话:

      终止(pyenv) pyenv (“ExecutionMode”、“OutOfProcess”)

      另外,重启MATLAB“InProcess”

      pyrunpyrunfile函数不支持类的局部变量通过其他局部万博1manbetx变量初始化方法。这样使用,创建一个模块,并使用访问它py。前缀。

    版本历史

    介绍了R2021b