【发布时间】:2017-12-18 15:43:52
【问题描述】:
这是我的代码:
hp1 = 100
health1 = 'you have', hp1
hp1 = hp1 - 50
health1
print hp1
print health1
这是打印出来的:
50
('you have', 100)
为什么生命值里面的hp1没有变化?
【问题讨论】:
-
你为什么希望它改变?
-
因为我从 hp1 中减去了 50。我是 python 新手,所以我真的不知道我在做什么哈哈
-
您在将
hp1分配给health1时对其进行了评估。之后他们就没有联系了。你没有考虑清楚。假设您改为使用5 + hp1**2/(1 - hp1)。你还会期望价值被追踪吗?您是否认为您正在创建一个闭包,并且每次引用health1时都会重新评估表达式?显然不是。 -
@StefanPochmann 是的,
health[1] is hp1确实是True。但这不是我的意思。我的意思是改变其中一个对另一个没有影响。
标签: python