是否可以代表另一个号码? 我试过这个,但是type返回一个字符串。
n = 1.34
i = 10
type(i)(n)
答案 0 :(得分:4)
如前所述,您的示例运行正常:
>>> from decimal import Decimal
>>> a = 5
>>> b = 5.0
>>> c = Decimal(5)
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>
>>> type(c)
<class 'decimal.Decimal'>
将b(浮动)转换为类型(int):
>>> type(a)(b)
5
将a(int)转换为b类型(float):
>>> type(b)(a)
5.0
将a(int)转换为c类型(十进制):
>>> type(c)(a)
Decimal('5')
请注意,Python的鸭子类型通常不需要这种类型的转换,但我可以想象一些有用的场景。