这更像是一个好奇的问题,而不是编码问题,但它有助于我理解Python的工作原理。所以我的问题是,为什么我只能定义一个变量并添加我的int值?例如:
pancake = 9
pancake + 1
print(pancake)
我对Python为什么不添加1到9感兴趣,因为从技术上来说我说9 + 1对吗?
答案 0 :(得分:1)
您需要使用+=
运算符(而不是+
)来修改左侧的变量。否则,结果总和不会分配给您尝试打印的变量。
有关+=
运算符的详细信息,请参阅此主题。
What exactly does += do in python?
基本上,+=
会将值添加到右侧,并将结果分配给左侧的变量。单独使用+
不会修改左侧的变量。
答案 1 :(得分:0)
您可以,但您应该使用+ =运算符将值重新分配给pancake变量
pancake = 9
pancake += 1
print(pancake)
答案 2 :(得分:0)
那是因为你这样做pancake + 1
您正在调用pancake对象的__add__
方法,该方法是类int的一个实例,此方法返回此对象“self”的值加上运算符+右侧的值的总和。这就是为什么pancake对象的值没有更新的原因,如果你研究一下python的魔术方法,你可以更好地理解这种情况