为什么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的Twisted框架中Deferred对象的用法
May 25 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
python 全文检索引擎详解
Apr 25 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
python通过tcp发送xml报文的方法
Dec 28 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
浅谈python中get pass用法
Mar 19 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
Python如何读取、写入CSV数据
Jul 28 Python
Python网络编程之ZeroMQ知识总结
Apr 25 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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 管理系统程序中的后门
2009/08/05 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
PHP 文件上传限制问题
2019/09/01 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
python处理html转义字符的方法详解
2016/07/01 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
Python编写Windows Service服务程序
2018/01/04 Python
python计算导数并绘图的实例
2020/02/29 Python
python+opencv实现车道线检测
2021/02/19 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
Ajax的优点和缺点
2014/11/21 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
优秀毕业生推荐信
2013/11/02 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
nginx实现动静分离的方法示例
2021/11/07 Servers