[英]Evaluate expression as float in Python
我想編寫一個輸入兩個變量a,b的函數,它將a / b作為float返回,而不管a和b的類型如何。 現在我這樣做:
def f(a, b):
return float(a)/float(b)
有一個更好的方法嗎?
假設您使用的是Python2,請將其放在文件的頂部
from __future__ import division
現在/
將永遠給出一個浮動。 使用//
表示舊行為。
如果您使用的是Python3,那么這已經是/
的默認行為了
您可以簡單地強制將其中一個操作數轉換為float類型,例如:
def f(a, b):
return (a*1.0)/b
這取決於。 ;)
最安全的方法是做你擁有的,這適用於每個可以轉換為float
數字類型。 某些數字類型,如Fraction
在Python 3,仍然會返回一個Fraction
甚至與新科(它只影響int
秒-其他類型定義/
為自己),但你的代碼將正確地把Fraction
s轉換floats
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.