如何在python中执行泛型类型转换,类似于我在C# .NET中使用的以下机制:
string typetoConvertTo = "System.String";
string value = (string)Convert.ChangeType( "1", Type.GetType( typetoConvertTo ));
typetoConvertTo = "System.Int32";
int value1 = (int)Convert.ChangeType( "1", Type.GetType(typetoConvertTo));
Python有针对单个类型的类型转换,但我需要一些更通用的方法,如.NET中的上述方法,因为我正在存储类型,稍后需要执行一个通用转换。
value = str(100)
value1 = int("100")
4条答案
按热度按时间i2byvkas1#
类是Python中的第一类对象。
ycggw6v22#
如果由于某种原因需要延迟类型转换,只需将值和类型转换存储为一对。
如果你有一整批要做,你可以得到这样的结果
展开与第一个示例类似。
我不得不问,为什么不直接转换呢?也许有一个更简单、更直接的方法来解决你试图解决的实际问题。
91zkwejq3#
您不需要类型Mapdict,可以使用
eval
代替,但这几乎就像作弊一样:huus2vyu4#
我只是想解决同样的问题,然后我尝试了这个,它的工作。如果你仍然没有找到解决方案,这只是为我工作:
这将打印出以下内容: