我已经读到,编写函数时,最好将参数复制到其他变量中,因为并不总是清楚变量是否不可变。[我不记得在哪里所以不问]。我一直在据此编写函数。
据我了解,创建新变量需要一些开销。它可能很小,但是在那里。那应该怎么办呢?我应该创建新变量还是不保留参数?
我已经读过这个和这个。如果为什么可以很容易地更改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
摇曳的蔷薇
慕神8447489
相关分类