为什么Python中没有"a++"这种写法


Posted in Python onNovember 27, 2018

一开始学习 Python 的时候习惯性的使用 C 中的 a++ 这种写法,发现会报 SyntaxError: invalid syntax 错误,为什么 Python 没有自增运算符的这种写法呢?

我们可以看一下 Python 下:

>>>a = 2
>>>b = 2
>>>id(a) #id() 函数用于获取对象的内存地址。
140732976575344
>>>id(b)
140732976575344
>>>

再来看看 C 语言中:

#include<stdio.h>
int main()
{
 int a = 1;
 int b = 1;
 printf("%d\n",&a);
 printf("%d\n",&b);
 return 0;
}

输出:

这里可以看出 Python 在变量的存储上与 C 语言的不同,在 C 语言中,值的存储以变量名来区分,一个变量具有单独的地址空间;而 Python 中则不一样,只要值是相同的,不管你的变量名是什么,它们的地址都是相同的,也就是说, Python 允许一个值被多个变量名称绑定。

这里说明一下,在脚本式编程环境中是这样,但是在交互式编程环境下,Python 为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间,编译器会有一个小整数池的概念,小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收,也就是说,变量在这个范围内是会按照前面所说的,共用内存地址,超过这个值则使用单独的内存地址。 如:

>>>a=1000
>>>b=1000
>>>id(a);id(b)
266662366224
266617350384
>>>

总结

以上所述是小编给大家介绍的为什么Python中没有"a++"这种写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
python查询mysql,返回json的实例
Mar 26 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
Python Requests库基本用法示例
Aug 20 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
详解Python的三种可变参数
May 08 Python
Python根据服务获取端口号的方法
Sep 25 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
opencv设置采集视频分辨率方式
Dec 10 Python
python在CMD界面读取excel所有数据的示例
Sep 28 Python
django session完成状态保持的方法
Nov 27 #Python
Python3实现腾讯云OCR识别
Nov 27 #Python
python利用百度AI实现文字识别功能
Nov 27 #Python
python如何实现一个刷网页小程序
Nov 27 #Python
python实现简单的文字识别
Nov 27 #Python
python中类的属性和方法介绍
Nov 27 #Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 #Python
You might like
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
详解ES6中的let命令
2020/04/05 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
vue中如何使用ztree
2018/02/06 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
详解详解Python中writelines()方法的使用
2015/05/25 Python
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
实习协议书范本
2014/04/22 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
法制宣传标语
2014/06/23 职场文书
创先争优个人承诺书
2014/08/30 职场文书
介绍长城的导游词
2015/01/30 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL