函式描述
float([x]) 函式將數字或數字的字串表示形式轉換為與它等效的有符號浮點數。。如果引數x是一個字串(十進位制表示的數字串),數字前面可以新增符號來表示正數,或負數。符號和數字之間不能出現空格,但是符號前面和數字後面允許出現空格。
如果引數 x 是一個整數或是一個浮點數,則返回與它等效的浮點數;如果 x 超出了 float 型別的範圍,則引發 OverflowError 錯誤。
如果引數 x 預設,則返回 0.0
如果引數 x 是普通的Python物件,float([x]) 返回的是呼叫 x.__float __() 結果。
相容性
Python2.x
Python3.x
注意點
1. 這個函式有一個特別的地方,就是使用infinity或inf來表示無窮大的數。比如+inf是正無窮大,-inf是負無窮大。在這裡引入了數學上的無窮大概念,那麼無窮大乘以0是等於什麼呢?在這裡是等於nan,即not a number(不是一個數字)
2. 引數x可省略
英文文件
Return a floating point number constructed from a number or string x.
If the argument is a string, it should contain a decimal number, optionally preceded by a sign, and optionally embedded in whitespace. The optional sign may be '+' or '-'; a '+' sign has no effect on the value produced. The argument may also be a string representing a NaN (not-a-number), or a positive or negative infinity.
程式碼例項
>>> float('+123') 123.0 >>> float('+1.23') 1.23 >>> float(' -12345\n') -12345.0 >>> float('1e-003') 0.001 >>> float('+1E6') 1000000.0 >>> float('-Infinity') -inf >>> float('inf') inf >>> float('-inf') -inf >>> float('+inf') inf >>> float('nan') nan >>> float('+nan') nan >>> float('-nan') nan >>> float() 0.0
程式碼例項2
class C: def __init__(self, score): self.score = score def __float__(slef): return 1.0 c = C(100) f = float(c) print(f)
執行結果:
1.0