求帮助解答
sum = sum + x*x明明等式结果应该是0=x*x 这不是没意义吗,求解答
sum = sum + x*x明明等式结果应该是0=x*x 这不是没意义吗,求解答
2016-04-06
题主给出这样的理解,应该不是 计算机科班的啦, 怎么说呢。。。 虽然说 Python 是一个特别容易入门的语言,但是也是需要一些基础的。 就好比 我们说 有一座矮山,不陡峭且有砌好的台阶直通山顶, 这样我们可以说:“这座山很好爬的”。 不过这句话也是有前提的: 你得会走路吧。 走路容易么,人能熟练的走路也需要3,4年。
写完上面一段才发现,怎么说了这么多废话,哈哈,不耽误题主时间了。 我简单的解释下这个问题, 这其中的机制就不讲了,如果题主有兴趣,可以随便找个 计算机基础 的课程看看, 网易公开课或者网上别的什么公开课有很多。
简单来说,我们可以把sum 看做一个 容器,初始状态我们把 0 放到这个叫做sum 的容器中,然后在用到sum 和赋值运算符号时(也就是‘单等于号’=)的时候分两种情况:
1. 如果sum 在 赋值符号 “=”的左边,那我们依然把它看做一个容器。
2. 如果 sum 在 赋值符号 “=”的右边, 那它就不是一个容器了,而是表示它其中的值。
所以 sum = sum+x*x 基本等价于 sum = 0+ x*x 。 同时这行代码 是赋值语句,所以 sum 这个容器里的值 就变成了 x*x 的值, 然后 for 循环继续, 这个sum 中的值也在 依次进行着 增加。
虽然不严谨,我也只能这样解释了, 一般的Python 入门书籍中 更愿意将 变量名比作标签, 值比作物件, 然后赋值就是 把某个标签贴到某物件上, 比如 sum=0, 就是 把一个写着sum 的标签 贴到 0 上面。
这种解释 虽然很是贴切计算机的内存存储机制,但是对于初学者来说容易混淆。 所以我更愿意用 ‘容器论’来讲解。
举报