从 Python 在 MATLAB 与 Python 之间传递数据
R2026b当您将 MATLAB® 数据返回到 Python® 时,MATLAB Engine API for Python 将数据转换为等效的 Python 数据类型。MATLAB 引擎还会将传入的 Python 数据转换为 MATLAB 数据类型。
如果您从 Python 应用程序调用 MATLAB REST 函数服务,则此处显示的数据类型转换并非全部受支持。请改为参阅在 Python 和 MATLAB REST 函数服务之间传递数据。
将数据从 MATLAB 传递到 Python
当您将数据从 MATLAB 传递到 Python 时,无论是直接传递还是作为 Python 中的 MATLAB 函数的输出传递,MATLAB 都会将数据转换为等效的 Python 数据类型。
MATLAB 输出参量类型 | 生成的 Python 数据类型 |
|---|---|
数值数组 |
|
|
|
复数(任意数值类型) |
|
|
|
|
|
|
|
|
|
|
|
|
|
string 数组(1×N 或 N×1) |
|
|
|
元胞数组(1× |
|
|
|
|
|
|
|
|
|
|
|
tabletimetable |
|
MATLAB 句柄对象(例如 |
|
MATLAB 值对象(例如 |
|
不支持的 MATLAB 数据类型
除了表中注明的例外情况外,MATLAB 不会将以下 MATLAB 数据类型转换为 Python 数据类型:
char数组(M×N)string数组(M×N)元胞数组(
M×N)稀疏数组
struct数组非 MATLAB 生成的对象(例如 Java® 对象)
函数句柄
将数据从 Python 传递到 MATLAB
当您将数据从 Python 传递到 MATLAB 时,无论是直接传递还是作为 Python 中的 MATLAB 函数的输入参量传递,MATLAB 引擎都会将数据转换为等效的 MATLAB 数据类型。
Python 数据类型 | 生成的 MATLAB 数据类型 |
|---|---|
| 数值数组 |
支持缓冲区协议的 Python 对象,例如 | 数值数组 |
|
|
| 复数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
具有 |
|
除 |
|
| 当您将没有显式转换规则的 MATLAB 对象传递给 Python 时,MATLAB 会将其作为 |
不支持的 Python 数据类型
除了表中注明的例外情况外,MATLAB 不会将以下 Python 数据类型转换为 MATLAB 数据类型:
Python 类 (
module.type) 对象None对象enum类型