在Python中将表达式计算为float

时间:2011-10-17 00:50:01

标签: python

我想编写一个输入两个变量a,b的函数,它将a / b作为float返回,而不管a和b的类型如何。现在我这样做:

def f(a, b):
    return float(a)/float(b)

有更好的方法吗?

3 个答案:

答案 0 :(得分:10)

假设您使用的是Python2,请将其放在文件的顶部

from __future__ import division

现在/将始终提供浮动。使用//表示旧行为。

如果您使用的是Python3,那么这已经是/

的默认行为

答案 1 :(得分:1)

您可以简单地强制将其中一个操作数转换为float类型,例如:

def f(a, b):
    return (a*1.0)/b

答案 2 :(得分:0)

这取决于。 ;)

最安全的方法是做你拥有的,这适用于可以转换为float的每种数字类型。某些数字类型(例如Python 3中的Fraction)即使使用新分区(仅影响Fraction s - 其他类型定义int也会返回/他们自己)但您的代码会将Fraction正确转换为floats