MATLAB动态读取/写入属性-getattr,setattr


class A(): pass
a = A()
setattr(a, 'dog', True)

是否有等效的MATLAB?如果没有,最紧凑的替代方案是什么?目前我做

for i=1:length(keys)
k = keys{i};
v = values{i};
if k == "arg1"
obj.arg1 = v;
elseif k == "arg2"
obj.arg2 = v;
...

getattr也是如此?如果需要,假设所有的keys已经是Properties

非Python阅读器:setattr(obj, 'a', 1) <=> obj.a = 1getattr(obj, 'a') <=> obj.a

obj.arg1obj.('arg1')相同。

因此,在您的代码片段中相当于:

for i=1:length(keys)
obj.(keys{i}) = values{i};
end

相关内容

  • 没有找到相关文章

最新更新