为什么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 30 Python
深入解析Python中的集合类型操作符
Aug 19 Python
利用Python中的pandas库对cdn日志进行分析详解
Mar 07 Python
python实现dijkstra最短路由算法
Jan 17 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
Python 如何提高元组的可读性
Aug 26 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
Python 随机按键模拟2小时
Dec 30 Python
python中子类与父类的关系基础知识点
Feb 02 Python
详解Python如何批量采集京东商品数据流程
Jan 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中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
Python实现计算最小编辑距离
2016/03/17 Python
Python批量发送post请求的实现代码
2018/05/05 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
计算机专业毕业生自荐书
2014/06/02 职场文书
物资采购方案
2014/06/12 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
通知范文怎么写
2015/04/16 职场文书
部门2015年度工作总结
2015/04/29 职场文书
母亲节感言
2015/08/03 职场文书
被委托人身份证明
2015/08/07 职场文书
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
win10搭建配置ftp服务器的方法
2022/08/05 Servers