创建Python对象pyObj的语法格式为:
code.matlab
pyObj=py.modulename.ClassName(varargin)
这里,varargin是ClassName中用__init__方法指定的构造函数列表。
在MATLAB中,Python对象是引用类型的(句柄对象),并不遵循MATLAB的拷贝赋值和传值规则。复制句柄对象时,只复制句柄,新句柄和老句柄都引用相同的数据。复制MATLAB变量时(值对象),也复制变量数据。新变量与原变量的变化无关。
下面先在Python中创建一个student类,保存为MyClass.py。
code.python
class student:
#定义基本属性
name =' '
age=0
#定义构造方法
def __init__(self,n,a):
self.name=n
self.age=a
在MATLAB命令窗口键入:
code.matlab
>> p=py.MyClass.student('Lili',20)
p=
Python student(带属性):
name: [1x3 py.str]
age: 20
<MyClass.student object at 0x000000007E7957F0>
修改p的age属性:
code.matlab
>> p.age=19
p=
Python student(带属性):
name: [1x3 py.str]
age: 19
<MyClass.student object at 0x000000007E7957F0>