为什么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代码调试的几种方法总结
Apr 15 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
Python比较2个时间大小的实现方法
Apr 10 Python
儿童编程python入门
May 08 Python
python pygame模块编写飞机大战
Nov 20 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
python中安装django模块的方法
Mar 12 Python
pandas to_excel 添加颜色操作
Jul 14 Python
详解python中的异常和文件读写
Jan 03 Python
Python基于百度AI实现抓取表情包
Jun 27 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
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
JS的反射问题
2010/04/07 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python中的with...as用法介绍
2015/05/28 Python
python cs架构实现简单文件传输
2020/03/20 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
会计专业推荐信
2013/10/29 职场文书
老师自我鉴定范文
2013/12/25 职场文书
党支部公开承诺书
2014/03/28 职场文书
买卖合同协议书范本
2014/10/18 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
导游词之台湾阿里山
2019/10/23 职场文书