我从2001年开始使用Python。我喜欢这种语言的简单性,但是有一个让我恼火的特性是/
操作符,它会在一些微妙的地方咬我,比如
def mean(seq):
"""
Return the arithmetic mean of a list
(unless it just happens to contain all ints)
"""
return sum(seq) / len(seq)
幸运的是,PEP 238已经编写好了,当我发现新的from __future__ import division
语句时,我就开始虔诚地将它添加到我编写的每个.py文件中。在
但在这里,它是近9年后,我仍然经常看到Python code samples,即{a3}。//
不是一个广为人知的特性吗?还是真的有理由喜欢旧的方式?在
如果愿意,可以为整个解释器更改
/
的行为,因此不必在每个模块中从future导入对我来说,使用int进行除法总是有意义的,它会产生一种通常不进行动态类型转换的语言。在
我认为对于截断的
//
是众所周知的,但是人们不愿意在他们编写的每个模块中“从未来导入”。在经典方法(使用{{CD2>}等来获得浮点结果,^ {< CD3>}以截断另一个浮点除法)是C++中使用的一个(并且在C、java、FORTRAN、……中略有不同的语法),以及在每个Python版本中包含“2.7”的“nApple”,所以如果很多人都习惯了,这并不奇怪。习惯了,说“经典方法”。在
当Python3比Python2更广泛、更广泛地使用时,我希望事情会有所改变。在
相关问题 更多 >
编程相关推荐