最近,我试图用Python存储和读取文件中的信息,但遇到了一个小问题:我想从文本文件中读取类型信息。从字符串到int或到float的类型转换非常有效,但是从字符串到类型的类型转换似乎是另一个问题。当然,我试过这样的方法:
var_type = type('int')
但是,type
不是用作转换,而是用作查找变量类型的机制,实际上这里是str
。
我找到了一个办法:
var_type = eval('int')
但我通常尽量避免像eval
或exec
这样的函数/语句。所以我的问题是:有没有另一种pythonic(更具体的)方法将字符串转换为类型?
Tags:
为什么不直接用一张查找表呢?
你有点搞不懂你想做什么。类型,也称为类,与python中的其他类型一样,都是对象。在程序中编写
int
时,引用的是一个名为int
的全局变量,它恰好是一个类。您要做的不是“将字符串转换为类型”,而是按名称访问内置变量。一旦你明白了这一点,解决方案就很容易看到:
如果你真的想把一个类型名变成一个类型对象,你可以这样做。我使用
deque
来进行不带递归的广度优先树遍历。我喜欢使用
locate
,它在内置类型上工作:…以及它在路上能找到的任何东西:
…包括自定义类型:
相关问题 更多 >
编程相关推荐