为什么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 相关文章推荐
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
Python利用递归实现文件的复制方法
Oct 27 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
python实现文法左递归的消除方法
May 22 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
python等待10秒执行下一命令的方法
Jul 19 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python re.match()用法相关示例
Jan 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
php 类自动载入的方法
2015/06/03 PHP
PHP面向对象详解(三)
2015/12/07 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
python实现从字典中删除元素的方法
2015/05/04 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
Django CBV类的用法详解
2019/07/26 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
浅析NumPy 切片和索引
2020/09/02 Python
Python 多进程原理及实现
2020/12/21 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
团工委书记自荐书范文
2013/12/17 职场文书
小学生读书活动总结
2014/06/30 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
如何写好竞聘报告
2019/04/03 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android