2024-04-24 13:51:23 发布
网友
我有以下资料:
import numpy as np v = np.ndarray([1,2,3,4,5])
我感兴趣的是检查v,并以某种方式恢复它的类型np.ndarray
v
np.ndarray
什么不起作用:
type(v).__name__
ndarray
np
type(v).__qualname__
type(v).__module__
我怎样才能拿回np.ndarray
一种方法是在globals()中查找用于模块的别名
globals()
def name_of(x): t = type(x) alias = next( k for k, v in globals().items() if hasattr(v, "__name__") and v.__name__ == t.__module__ ) return f"{alias}.{t.__name__}"
用法示例:
>>> import numpy as np >>> name_of(np.array([])) 'np.ndarray'
此外,由于字典迭代是按插入顺序进行的,因此将返回第一次声明的别名
一种方法是在
globals()
中查找用于模块的别名用法示例:
此外,由于字典迭代是按插入顺序进行的,因此将返回第一次声明的别名
相关问题 更多 >
编程相关推荐