所以,我想知道是否有办法在一步中清除和覆盖/重写变量,而不必事先清除它。
这就是我的例子:
def rate(t,w):
return (t + cos(t))
sum = 0
for i in range(k):
sum += rate(t+h*i,w)
print sum
但是如果我想以不同的方式重用这个函数,我必须首先清除“sum”变量。如果可能的话,我想摆脱那一步。
sum = 0 # I want to combine this step
sum = rate(t,w)/2 # and this one.
for i in range(1,k):
sum += rate(t+h*i,w)
print sum
这可能吗? (顺便说一句,所有这些代码都在同一份文件中。)
答案 0 :(得分:7)
您无需在第二个示例中清除变量。删除该行,并看到该程序仍然有效。
在Python中,赋值(=
)运算符将名称绑定到对象:
a = 2 * 4
在此行中,计算2 * 4
创建一个值为int
的对象。=
运算符然后将其绑定到名称a
。您可以根据需要多次重复使用该名称:
a = "hello"
名称a
现在绑定到值为“hello”的str
对象。上一行代码中的int
将在不再使用时自动删除。
“将名称绑定到对象”这一概念导致Python与其他语言之间行为的细微差别,这些差异将变量视为可以用值填充的“桶”。
答案 1 :(得分:1)
您不一定要将其设置为0,因为通过使用“sum =”,它会重新定义变量,而不会保留上次分配的信息。
提示:使用除sum之外的另一个变量名,Python已经使用它......