Python中classOf[]等价操作及获取NDArray类型对象的方法
Python中对应Scala classOf[]的等价操作
嘿,这个问题问得很精准!我来给你梳理清楚Scala和Python在这部分的对应关系:
- 核心等价逻辑:Scala里的
classOf[T]是用来获取对应类的Class对象,在Python里,直接使用类本身就完全等价于这个操作!比如:- Scala的
classOf[String]→ Python的str - Scala的
classOf[List]→ Python的list
- Scala的
针对你提到的具体场景:
已在Python中导入类:
from mxnet.ndarray import NDArray,现需在不初始化NDArray实例的情况下获取其类型对象
你只需要直接赋值类名即可,代码如下:
t = NDArray
这就和Scala里的val t = classOf[NDArray]效果完全一致——不需要创建任何实例,直接拿到该类的类型对象。
这里额外提个容易混淆的点:Python的type()函数是用来获取实例的类型(比如type(NDArray())会返回NDArray的类型),但我们要的是不实例化就获取类的类型对象,直接用类名才是正确的方式,和Scala的classOf[]语义完全匹配。
内容的提问来源于stack exchange,提问作者tribbloid
相关产品推荐
相关产品推荐

