import Командыimport оператор не имеет той же функциональности в MATLAB® как в Python®.
Код Python использует import оператор, чтобы загрузить и сделать код доступным. MATLAB автоматически загружает Python, когда вы вводите py. перед именем модуля и именем функции. Этот код показывает, как вызвать функциональный wrap в модуле Python textwrap.
| Код Python | КОД MATLAB |
|---|---|
import textwrap
pS1 = textwrap.wrap('This is a string')
| S1 = py.textwrap.wrap('This is a string');
|
Внимание
В MATLAB не вводите:
import pythonmodule
Никогда не вызывайте:
import py.*
Если вы делаете, то MATLAB вызывает функцию Python вместо функции MATLAB того же имени. Это может вызвать неожиданное поведение. Если вы вводите это import команда, затем необходимо вызвать команду MATLAB:
clear import
from...import Python оператор позволяет вам сослаться на модуль, не используя полностью определенное имя. В MATLAB используйте import функция. Этот код показывает, как сослаться на функциональный wrap в модуле Python textwrap. Начиная с wrap не функция MATLAB, можно сократить синтаксис вызова с помощью import функция. После вызова этой команды вы не должны вводить пакет (py) и модуль (textwrap) имена.
| Код Python | КОД MATLAB |
|---|---|
import textwrap
pS1 = textwrap.wrap('This is a string')
from textwrap import wrap
pS2 = wrap('another string') | S1 = py.textwrap.wrap('This is a string'); import py.textwrap.wrap S2 = wrap('another string'); |
import mymod as mm |
mm = py.importlib.import_module('mymod');
% Use mm as an alias to access functionality in mymod |
Для полного описания функциональности Python консультируйтесь с внешними ресурсами, в частности, https://www.python.org. Существуют различные версии документации Python, так убедиться относиться к версии, соответствующей версии в вашей системе. Много примеров в документации MATLAB относятся к функциям в библиотеке стандарта Python.
Чтобы использовать функции в стороннем или пользовательском модуле Python, обратитесь к своей документации по продукту поставщика для получения информации о том, как установить модуль и для получения дополнительной информации о его функциональности.
py.help MATLAB команда отображает справку Python, найденную в www.python.org/doc. Помогите для пакетов, и классы могут быть обширными и не могут быть полезными, когда отображено в окне команды MATLAB.
Пакет
py.help('textwrap')Класс
py.help('textwrap.TextWrapper')Метод класса
py.help('textwrap.TextWrapper.wrap')Функция
py.help('textwrap.fill')Если MATLAB отображает сообщение об ошибке, начинающееся с Python Error:, обратитесь к своей документации Python для получения дополнительной информации.
Примечание
Заполнение клавишей Tab не отображает доступную функциональность Python.
Вы не можете использовать интерактивную справку Python — вызов py.help без входных параметров — в MATLAB.
Если имя метода Python является именем изолированного метода базового класса MATLAB или зарезервированной функции, затем, MATLAB переименовывает метод. Новое имя начинает с буквы x и изменяет первую букву от настоящего имени к верхнему регистру. Например, MATLAB переименовывает метод Python cat к xCat. Для списка зарезервированных методов см. Методы, Которые Изменяют Поведение По умолчанию.
Если имя метода является ключевым словом MATLAB, затем вызовы MATLAB matlab.lang.makeValidName переименовать метод. Для списка ключевых слов смотрите iskeyword.
Если сгенерированное имя является двойным названием, то MATLAB переименовывает использование метода matlab.lang.makeUniqueStrings.
eval ФункцияВ этом примере показано, как выполнить выражение x+y использование eval Python команда. Считайте справку для eval.
py.help('eval')Help on built-in function eval in module __builtin__:
eval(...)
eval(source[, globals[, locals]]) -> value
Evaluate the source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.Чтобы выполнить выражение, передайте dict Python значение для globals параметр пространства имен.
Создайте dict Python переменная для x и y значения.
workspace = py.dict(pyargs('x',1,'y',6))
workspace =
Python dict with no properties.
{'y': 6.0, 'x': 1.0}
Выполните выражение.
res = py.eval('x+y',workspace)res = 7
В качестве альтернативы, чтобы добавить два числа, не присваивая переменные, передайте пустой dict значение для globals параметр.
res = py.eval('1+6',py.dict)res = 7
Чтобы выполнить вызываемый объект Python, используйте feval функция. Например, если экземпляр obj из Python класс является вызываемым, замените синтаксис Python obj(x1, ..., xn) с одним из следующих выражений MATLAB:
feval(obj,x1, ..., xn)
obj(x1, ..., xn)
MATLAB поддерживает следующие перегруженные операторы.
| Символ оператора Python | Методы Python | Методы MATLAB |
|---|---|---|
+ двоичный файл | __add__, __radd__ | plus, +
|
- двоичный файл | __sub__, __rsub__
| minus, -
|
* двоичный файл | __mul__, __rmul__ | mtimes, * |
/ | __truediv__, __rtruediv__ | mrdivide, / |
== | __eq__ | eq, == |
> | __gt__ | gt, > |
< | __lt__ | lt, < |
!= | __ne__ | ne, ~= |
>= | __ge__ | ge, >= |
<= | __le__ | le, <= |
- (унарный) | __neg__ | uminusA |
+ (унарный) | __pos__ | uplus, +a |
Следующие операторы Python не поддерживаются.
| Символ оператора Python | Метод Python |
|---|---|
% | __mod__, __rmod__ |
** | __pow__, __rpow__ |
<< | __lshift__, __rlshift__ |
>> | __rshift__, __rrshift__ |
& | __and__rand |
^ | __xor__, __rxor__ |
| | __or__, __ror__ |
// двоичный файл | __floordiv__, __rfloordiv__ |
+= (унарный) | __iadd__ |
-= (унарный) | __isub__ |
*= (унарный) | __imul__ |
/= (унарный) | __itruediv__ |
//= (унарный) | __ifloordiv__ |
%= (унарный) | __imod__ |
**= (унарный) | __ipow__ |
<<= (унарный) | __ilshift__ |
>>= (унарный) | __irshift__ |
&= (унарный) | __iand__ |
^= (унарный) | __ixor__ |
!= (унарный) | __ior__ |
~ (унарный) | __invert__ |