【发布时间】:2023-01-13 05:50:27
【问题描述】:
我有一段代码需要从 python 转换为 matlab。我被 python 代码中的 isclass() 方法困住了:
inspect.isclass(object)
据我所知,这会检查对象是否是一个类并相应地返回 true 或 false。
有没有办法在matlab中做到这一点?
matlab isa 函数似乎很合适,但它似乎无法检查类。
【问题讨论】:
-
你想检查什么样的班级?一切都是一个类,无论那个类是
double还是table还是myCustomObject...isa函数让你检查一个特定的类 -
@Wolfie 我需要检查某物是类还是对象。我刚刚意识到我可以使用 isobject 来检查它
-
“是类还是对象”?我认为这里的命名法有点混乱。值永远不能是“类”,它可以是特定类的对象。
isobject会告诉您该值是否属于自定义类(也称为用户定义类)。还有isdouble、ischar、isstring、iscell、isstruct等。class返回值的类名(即值的类型),与isa比较class到给定的字符串。 -
无论你在做什么,你都可能做错了。你不应该需要猜测你有什么!向下转型是一种代码味道。
-
@Chuck MATLAB 是一种鸭子类型的语言,您有时需要检查函数输入的类型。