Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用7.0或float(7)是否计算量较小?_Python_Types - Fatal编程技术网

在Python中使用7.0或float(7)是否计算量较小?

在Python中使用7.0或float(7)是否计算量较小?,python,types,Python,Types,我很好奇哪种形式更有效,风格正确,等等。我觉得“.0”方法更快;我不知道为什么“浮动”方法同样受到赞赏(如果是的话)。7.0是“更好的”,演员不需要浮动,它会自动执行 float()最好保存为将非float强制转换为float。float文本可以写为7.0,这很好,因为它们是自动类型float 如果要将整数或字符串转换为浮点,则float()函数是合适的,但不需要调用该函数来编写浮点文本。使用7.0方法,使用float(7)方法将整数或字符串类型转换为浮点,因此这是另一种用法,例如: a = 7

我很好奇哪种形式更有效,风格正确,等等。我觉得“.0”方法更快;我不知道为什么“浮动”方法同样受到赞赏(如果是的话)。

7.0是“更好的”,演员不需要浮动,它会自动执行


float()最好保存为将非float强制转换为float。

float文本可以写为
7.0
,这很好,因为它们是自动类型
float


如果要将整数或字符串转换为浮点,则
float()
函数是合适的,但不需要调用该函数来编写浮点文本。

使用
7.0
方法,使用
float(7)
方法将整数或字符串类型转换为浮点,因此这是另一种用法,例如:

a = 7
b = "7"
print float(a)
7.0
print float(b)
7.0
在以后重新读取代码时,使用
float(0)
更为明确,如果您意外地删除了“
.0

使用
float(7)
会增加一些不必要的开销,Python必须在
globals()
中找到
float
函数并调用它。使用
7.0
在编译时而不是运行时执行所有必要的转换。您可以使用

导入dis >>>def f():返回7.0 ... >>>def g():回油浮动(7) ... >>>dis.dis(f) 10负载常数1(7.0) 3返回值 >>>dis.dis(g) 1 0加载\u全局0(浮动) 3负载常数1(7) 6调用函数1 9返回值
以下内容在Python中都是等效的:

>>> 7. == 7.0 == float(7) == float("7")
True
在硬编码值时,我会避免使用
float(7)
float(“7”)
,因为Python解释器必须首先将值转换为整数或字符串,然后将其转换为浮点

为了避免这种开销,请使用
7.
7.0
为Python提供浮点文本


当然,
float()
float(7)
创建一个整数,然后调用
float()
函数将整数转换为浮点,因此调用
float(7)
会导致函数调用开销以及检查
float()
函数时可能出现的任何错误

当然,对于大多数实际目的来说,速度上的差异不太重要(除非您处于一个深循环中,代码被调用了数亿次),但是当解释器具有用于构造浮点的内置语法时,调用转换函数有点不雅观


当您要转换的不是浮点(如字符串或整数)时,请使用
float()。谢谢大家!
float()
也会带来一些开销。如果你觉得下面的答案有用,就接受它。一个人怎么会不小心掉了它?@Michaelhofman说你有
这个应该是\u a\u float=7.0/分母
,其中分母是一个int。我的想法是,为了将来的可维护性,最好有一个非常明确的方式来指出
7.0
需要是一个浮点值,以便在以后有人将7.0更改为另一个常量(如6)并忘记添加“.0”时不会出现舍入问题。如果尚未使用,则应使用来自未来导入部门的
。那么这就不是问题了。