为什么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中__str__和__repr__方法的区别
Apr 17 Python
Python运算符重载用法实例
May 28 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
python opencv之SURF算法示例
Feb 24 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
基于 Python 实践感知器分类算法
Jan 07 Python
如何使用python包中的sched事件调度器
Apr 30 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生成月历代码
2007/06/14 PHP
php xml文件操作代码(一)
2009/03/20 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
10款实用的PHP开源工具
2015/10/23 PHP
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
python中global与nonlocal比较
2014/11/21 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
物业管理求职自荐信
2013/09/25 职场文书
学期自我鉴定范文
2013/10/01 职场文书
拉丁舞学习者的自我评价
2013/10/27 职场文书
保密协议书范本
2014/04/22 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
代收款委托书范本
2014/10/01 职场文书
Python+DeOldify实现老照片上色功能
2022/06/21 Python