一个简单的Python问题——值到底是谁?
2015-11-04 19:18
591 查看
不管是什么语言,或许对于初学者总是会在这样一个地方犹豫不决,有以下Python程序:
b输出是多少?
如果你的回答是 : b = XYZ
那么你的思路还没有理清楚,请看输出结果(请忽略除红线标注的部分):
思路,如下图:
按程序次序分析,首先给变量a赋值'ABC',那么a则指向了值‘ABC’存储的地址,然后将a赋值给b,所以b也指向了值‘ABC’的地址,
现在,再将a赋值为‘XYZ’,因为‘ABC’与‘XYZ’是不同的,所以a则改变为指向‘XYZ’的地址。而此时b的指向却没有改变。那么a的值出自然就是 XYZ, 而b值依然还是 ABC。
a = 'ABC' b = a a = 'XYZ' print('a = %s, b = %s' %(a,b))
b输出是多少?
如果你的回答是 : b = XYZ
那么你的思路还没有理清楚,请看输出结果(请忽略除红线标注的部分):
思路,如下图:
按程序次序分析,首先给变量a赋值'ABC',那么a则指向了值‘ABC’存储的地址,然后将a赋值给b,所以b也指向了值‘ABC’的地址,
现在,再将a赋值为‘XYZ’,因为‘ABC’与‘XYZ’是不同的,所以a则改变为指向‘XYZ’的地址。而此时b的指向却没有改变。那么a的值出自然就是 XYZ, 而b值依然还是 ABC。
相关文章推荐
- 【python】实例-用户登录系统
- python 清理系统超过一个月的日志文件 和 文件 文件夹
- python中函数参数是引用还是传值
- 利用python对服务器做巡检工作
- 开始学习Python for Data Analysis
- 遗传算法--用python进化出chrome浏览器图标
- Python 线程同步与互斥
- Python中subprocess学习
- Python程序实现批量创建/重建空间索引
- Python刷CSDN博客脚本v2.0
- Python格式化中使用%运算符
- Python逻辑运算符示例
- Windows下Python命令行自动补全设置
- python中的setdefaultencoding函数使用
- Python easy_install MAC安装
- python管理mysql(一)
- 解决python在windows上运行弹出cmd窗口(dos窗口)
- python下运行报"SyntaxError: Non-ASCII character '/xe6' "错误解决方法
- Python 正则
- 如何面试Python后端工程师?