主要内容

高级主题

理解Python马铃薯进口命令

进口语句在MATLAB中没有相同的功能®如在Python.®

加载Python模块马铃薯

Python代码使用进口语句来加载并使代码可访问。当你输入时,MATLAB会自动加载Pythonpy。在模块名和函数名的前面。这段代码显示了如何调用函数在Python模块文本换行

Python代码 MATLAB代码
导入textwrap ps1 = textwrap.wrap('这是一个字符串')
S1 = py.textwrap.wrap ('这是一个字符串');

警告

在MATLAB中,不要输入:

进口Pythonmodule.

永远不要打电话:

导入py。*

如果您这样做,那么MATLAB将调用Python函数,而不是同名的MATLAB函数。这可能导致意想不到的行为。如果你输入这个进口命令,然后您必须调用matlab命令:

明确进口

缩短类或函数名称

蟒蛇来自...进口语句允许您在不使用完全限定名的情况下引用模块。在MATLAB中,使用进口函数。此代码显示了如何参考功能在Python模块文本换行.自从不是MATLAB功能,可以使用使用的呼叫语法进口函数。调用此命令后,您无需键入包(PY)和模块(文本换行)姓名。

Python代码 MATLAB代码
导入textwrap ps1 = textwrap.wrap('这是一个字符串')来自textwrap导入包装ps2 = wrap('另一个字符串')
S1 = py.textwrap.wrap ('这是一个字符串');进口py.textwrap.wrapS2 =包裹(另一个字符串的);
进口mymod为毫米
mm = py.importlib.import_module('mymod”);中使用mm作为别名来访问功能mymod

帮助Python功能

有关Python功能的完整描述,请参阅外部资源,特别是,https://www.python.org.有不同版本的Python文档,因此请务必引用系统上的版本对应的版本。Matlab文档中的许多示例在Python标准库中引用函数。

要在第三方或用户定义的Python模块中使用功能,请参阅供应商产品文档,了解有关如何安装模块的信息,并有关其功能的详细信息。

MATLABpy.help命令显示在www.python.org/doc..包和类的帮助可能是广泛的,在MATLAB命令窗口中显示时可能没有用处。

  • 包裹

    py.help (“textwrap”
  • 班级

    py.help ('textwrap.textwrapper'
  • 课堂方法

    py.help ('textwrap.textwrapper.wrap'
  • 函数

    py.help ('textwrap.fill'

如果MATLAB以开头显示错误消息Python错误:,有关更多信息,请参阅Python文档。

笔记

制表符补全不显示可用的Python功能。

不能使用交互式Python帮助调用py.help没有输入参数 - 在matlab中。

称呼Python方法马铃薯名称冲突

如果Python方法名是MATLAB基类或保留函数的密封方法名,则MATLAB将重命名该方法。新名字以字母开头X并将原始名称的第一个字母更改为大写。例如,Matlab重命名Python方法XCAT..有关保留方法列表,请参阅修改默认行为的方法

如果方法名称是MATLAB关键字,则MATLAB调用matlab.lang.makeValidName重命名方法。有关关键字列表,请参见iskeyword.

如果生成的名称是重复的名称,则Matlab重命名使用方法matlab.lang.makeunqueStrings.

称呼Python求解函数

这个例子展示了如何计算表达式x + y使用python.求解命令。阅读帮助求解

py.help ('eval'
帮助模块中内置函数eval __builtin__:eval(...)eval(source [,globals [,locals]) - >值在全局和当地人的上下文中评估源。源可以是表示Python表达式的字符串或由Compile()返回的代码对象。全局必须是字典,当地人可以是任何映射,默认到当前全局和当地人。如果仅给出全局,则当地人默认为此。

要评估表达式,请传递Pythondict全局命名空间参数。

创建一个python.dict变量的Xy价值观。

工作区= py.dict (pyargs ('X', 1'是',6))
没有属性的Python字典。{'y': 6.0, 'x': 1.0}

评估表达。

res = py.eval ('x + y'工作空间)
Res = 7.

或者,在没有分配变量的情况下添加两个数字,传递空dict全局范围。

res = py.eval ('1 + 6',py.dict)
Res = 7.

执行可调用Python目的

要执行可调用的Python对象,请使用函数宏指令函数。例如,if instanceobj.一个python类是可调用的,替换python语法obj(x1,...,xn)与以下一个Matlab陈述之一:

函数宏指令(obj.x1,…, xn
obj.x1,…, xn

如何马铃薯代表Python运营商

MATLAB支金宝app持以下超载的运营商。

Python算子符号 Python方法 MATLAB方法
+(二进制) __add____radd__ ++
-(二进制) __sub____rsub__ -
*(二进制) __Mul____rmul__ m*
/ __trudiv____rtrudiv__ Mrdivide./
== __eq__ eq.==
> __gt__ GT.>
< __lt__ lt<
!= __ne__ ~ =
>= __ge__ GE.>=
<= __le__ <=
-(联合国) __neg__ uminus.——一个
+(联合国) __POS__ uplus.+一个

不支持以下Python运算符。金宝app

Python算子符号 Python方法
__mod____rmod__
Arunachal Pradesh, __pow____Pow__
<< __lshift____lshift__
>> __rshift____rrshift__
__和____rand__
^ __xor____rxor__
| __or____ror__
//(二进制) __floordiv____rfloordiv__
+=(联合国) __iadd__
- =(联合国) __isub__
* =(联合国) __imul__
/ =(联合国) __itrudiv__
// =(联合国) __ifloordiv__
%=(联合国) __imod__
** =(联合国) __ipow__
<< =(联合国) __ilshift__
>> =(联合国) __irshift__
&=(联合国) __iand__
^ =(联合国) __ixor__
!=(联合国) __ior__
(联合国) __倒置__

也可以看看

|

相关的话题

外部网站