鱼C论坛

 找回密码
 立即注册
查看: 1253|回复: 11

[已解决]问题2:变量求解?

[复制链接]
发表于 2017-12-17 12:53:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题2:变量求解?
   
>>> a = 5
>>> a = a+3
>>> a
8
请问这是怎么运算的,为什么同一个名字却有两个结果,一个是5,另一个是8;与变量这个定义有关联吗?谢谢
最佳答案
2017-12-17 14:57:40
简单来说Python的变量就是指针,跟内存具有对应的关系。
a=5定义了一个变量a,这个变量指向的是数值5的内存地址
a=a+3表示先将a所指向内存的值加3存入内存,然后将a指向这个内存地址,原来的内存值会通过Python的回收机制给消除。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-17 13:19:15 | 显示全部楼层
程序是从上到下运算的,你开始给 a 赋值 5,然后又把a(这个a是你上面定义的a ,值为 5) + 3  的 值 赋给 a,所以后面的 a 就是 5 + 3为 8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 13:42:13 | 显示全部楼层
要搞清楚变量名和值的关系。
a = 5           # 在Python中就是把 a 这个名字指向了 5 这个值
a = a + 3     # 这里对 a 指向的值 5 进行了加法运算,将得到的新的值 8 存储到 a 里面去
所以这个时候 a 就指向了新的值8
但是,要注意的是,之前的 a 和现在的 a 指向了不同的内存地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 14:26:20 | 显示全部楼层
我也刚开始学  一起哇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 14:57:40 | 显示全部楼层    本楼为最佳答案   
简单来说Python的变量就是指针,跟内存具有对应的关系。
a=5定义了一个变量a,这个变量指向的是数值5的内存地址
a=a+3表示先将a所指向内存的值加3存入内存,然后将a指向这个内存地址,原来的内存值会通过Python的回收机制给消除。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 14:58:08 From FishC Mobile | 显示全部楼层
因为它是变量,值可以改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 15:44:30 | 显示全部楼层
变量变量顾名思义值可以改变的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 17:22:15 | 显示全部楼层
是储存地址发生变化,每个数字对应一个地址,先将a=5 把5的地址指向a 计算机知道a对应的是5 然后 在a=a+5  注意 前面的a可以理解成为其他的字母, 将原来 a代表的5 加上3=8 的地址指向于 现在的a  好比昨天前你有500块 发了工资300 你现在就有800块了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 17:23:44 | 显示全部楼层
>>> a = 5                 这里是将5赋值给a,通俗地讲就是a的值是5
>>> a = a+3              先运行等于号右边的部分,即a+3,上一步我们已经知道了a等于5,那么5+3就再次赋值给a
>>> a                      这步不难理解吧
8


例1
>>> a = 2
>>> a = 4500000
>>> a = 0
>>> a = 300
>>> a
300
有这么一个故事:变量a是个臭X丝,身上就2块钱了,然后他去买了一注大乐透,完事中了五百万,税后到手4500000,这时候a就有4500000了,谁知人有不测风云,a的4500000被抢劫了,这时候a就身无分文了,从一个臭X丝变成了穷X丝,然后他决定好好做人,去工地搬砖,工作了一天300,日结工资,经过一天的努力,晚上回家,请问a身上有多少钱?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 20:48:22 | 显示全部楼层
a是变量,可以随时被赋值,每次赋值之后a所代表的数字就换了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 21:08:39 | 显示全部楼层
看来这也是个初学者呢,后面遇到函数里面赋值就更搞不懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-19 21:40:11 | 显示全部楼层
qq1477821088 发表于 2017-12-17 14:26
我也刚开始学  一起哇

好的,互相加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 02:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表