2016-11-18 37 views
5

是否可以代表其他數字投一個數字? 我試過這個,但是type返回一個字符串。使用其他數值類型投射值

n = 1.34 
i = 10 
type(i)(n) 
+0

你能否詳細說明一下,那麼我們就很容易幫忙。 –

+11

您的示例工程。 –

+1

你爲什麼需要這樣做?在Python中,你通常不應該關心對象是什麼類型, –

回答

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 

蒙上了(INT)爲B型( float):

>>> type(b)(a) 
5.0 

將a(int)作爲c類型(十進制)進行投射:

>>> type(c)(a) 
Decimal('5') 

請注意,Python的鴨子打字通常會使這種類型的鑄件變得不必要,儘管我可以想象一些它可能有用的場景。