在Python中,str(),int(),float()等函数通常用于执行类型转换.但是,这些要求您在开发时了解要转换为的类型.我正在尝试编写的一些Python代码的子问题如下:
给出两个变量,foo
并bar
找到类型foo
.(在开发时不知道,因为这是通用代码.)然后,尝试转换bar
为任何类型foo
.如果无法做到这一点,请抛出异常.
例如,假设您调用执行此操作的函数conv
.它的签名看起来像
def conv(foo, bar) : # Do stuff.
它会被称为:
result = conv(3.14, "2.718") # result is now 2.718, as a float.
nosklo.. 16
那将是最好的:
type(foo)(bar)
oefe.. 11
使用foo.__class__
获得的类型foo
.然后调用它将bar转换为foo的类型:
def conv(foo, bar) : return foo.__class__(bar)
当然,这仅适用于foo
具有知道如何转换条形的构造函数的类型.
那将是最好的:
type(foo)(bar)
使用foo.__class__
获得的类型foo
.然后调用它将bar转换为foo的类型:
def conv(foo, bar) : return foo.__class__(bar)
当然,这仅适用于foo
具有知道如何转换条形的构造函数的类型.