簡體   English   中英

在Python中將表達式計算為float

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM