我读过,在编写函数时,最好将参数复制到其他变量中,因为变量是否不可变并不总是很清楚。[我不记得在哪里,所以不要问]。我一直在根据这个编写函数。
据我了解,创建一个新变量需要一些开销。它可能很小,但它就在那里。那么应该怎么做呢?我应该创建新变量还是不保存参数?
我读过这个和这个。如果可以轻松更改 float 和 int 为什么它们是不可变的,我对此感到困惑?
编辑:
我正在编写简单的函数。我将发布示例。在我读到 Python 中的参数应该被复制后,我写了第一个,而在我通过反复试验意识到不需要它之后,我写了第二个。
#When I copied arguments into another variable
def zeros_in_fact(num):
'''Returns the number of zeros at the end of factorial of num'''
temp = num
if temp < 0:
return 0
fives = 0
while temp:
temp /= 5
fives += temp
return fives
#When I did not copy arguments into another variable
def zeros_in_fact(num):
'''Returns the number of zeros at the end of factorial of num'''
if num < 0:
return 0
fives = 0
while num:
num /= 5
fives += num
return fives