语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编程)创造的一个词语,它意指那些没有给计算机语言添加新功能,而只是对人类来说更“甜蜜”的语法。

语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读。不过其并没有给语言添加什么新东西。

举个例子:在C语言里用a[i]表示(a+i),用a[i][j]表示(*(a+i)+j),看来语法糖不是“现代语言”才有啊,连我们的老大哥C也有,而且这种写法简洁明了,也更好懂了。

需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换;而且可以提高开发编码的效率,在性能上也不会带来损失。

实际上从面向过程到面向对象也是一种语法糖啊,C语言可以通过它的指针、类型转换,结构实现面向对象的编程风格,但是C++更进一步的推广了这种风格,更好用了,不过到了C#把OO的风格发挥得淋漓尽致。

OO的编程风格对于面向过程来说是不是一种语法糖呢?如果生硬地照此理解,只有计算机硬件指令才不算语法糖,而其他一切利用编译器、汇编器将代码抽象,和自然语言更相近的手段都算语法糖。

python语法糖是什么意思_python语法糖是什么相关推荐

  1. python语法用到了什么_Python语法的使用和简介

    前言 Python的语法和其它编程语言的语法有所不同,编写Paython程序之前需要对语法有所了解,才能编写规范的Python程序. 输入输出 print() # 打印显示 input() # 输入内 ...

  2. python中not加变量是_Python -- 语法和变量

    小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声.           ----纳兰容若<长相思> -------------------------------------------- ...

  3. python九九乘法表右对齐_python语法练习题之九九乘法表

    九九乘法表 for...in方法实现 #方法一 for i in range(1, 10):for j in range(1, i+1):print('{}*{}={:<4}'.format(j ...

  4. 关于python序列类型的通用操作符_Python—语法基础(3) 序列类型及操作

    序列类型: 一维元素向量,元素类型可以不同,通过下标访问序列的特定元素,字符串类型.元组类型.列表类型属于序列类型 序列类型通用操作符: x in s 如果x是序列s的元素,返回True,否则返回Fa ...

  5. python语法糖是什么_Python语法糖Syntactic Sugar

    语法糖(Syntactic sugar): 计算机语言中特殊的某种语法 这种语法对语言的功能并没有影响 对于程序员有更好的易用性 能够增加程序的可读性 简而言之,语法糖就是程序语言中提供[奇技淫巧]的 ...

  6. python 连续比较_python语法糖之连续比较表达式

    关于python的连续比较的语法糖 比如有如下形式: (a < b) and (b < c),这样子看起来不够好看. python中提供了连续比较的语法糖: a < b < c ...

  7. python中的常量是指_python入门教程04-01(python语法入门之变量)

    上一课我们学习了编程语言与python介绍,我们接下来的任务就是学习python语法入门的课程了. 本章的主题是先带大家了解下语法入门介绍,然后重点介绍python变量. 一 引入 我们学习pytho ...

  8. python中ht_python – 解析HTSQL时处理语法歧义

    我正在编写一个语法来解析HTSQL语法,并坚持如何处理段和除法运算符的/字符重用. described grammar并不是非常正式,所以我一直在关注Python实现的确切输出,从粗略的一瞥似乎是一个 ...

  9. Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在 C/C++/Java 等等语言中,整型变量的自增或自减操作是标 ...

最新文章

  1. 前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)
  2. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1041:奇偶数判断
  3. php 命令行 php.ini,php web环境和命令行环境下查找php.ini的方法分享
  4. 对Java的URL类支持的协议进行扩展的方法
  5. 程序员想进大公司?学会这门编程知识,决定你能进什么样的企业!
  6. 学习笔记 10.28
  7. 计算机操作系统第四版知识点总结(详细版一)
  8. @Responsebody utf8 Chinese gibberish
  9. 这2个在线资源网千万别错过,老司机人手一份,一年省下好几千
  10. 网站注册登录等短信验证码
  11. BERT—NAACL
  12. 调试OTM4001A液晶驱动的一点心得
  13. amoled和super amoled哪个更伤眼 amoled和super amoled的显示效果
  14. java语言基础知识(完整版)
  15. k、K、kb、kB、Kb、KB、GB、MB之间的关系
  16. 超赞!又挖到一批宝藏级计算机科学网站!
  17. Django之爱鲜蜂项目开发 day02 (二)
  18. react中onchange事件
  19. GMOLO平板——如何安装新系统
  20. 新冠插值法matlab_如何用MATLAB 编写interpl插值函数

热门文章

  1. 自定义鼠标光标 ,引入png图片
  2. cf cdn缓存html,使用 Cloudflare的CDN 来缓存音频和视频文件的方法
  3. 数据载入及初步观察 + 探索性数据分析 —— 泰坦尼克任务
  4. 02、老徐教你学C语言基础篇2——C语言摩拳擦掌齐上阵(环境篇)——理论
  5. 网站真实IP互刷平台
  6. 语音增强--卡尔曼滤波介绍及MATLAB实现
  7. android修改dll文件,Android中dll文件的修改
  8. Qt之实现QQ天气预报窗体翻转效果
  9. oracle shrink 表空间,表空间(数据文件shrink)收缩示例
  10. 即时战略游戏的AI是怎样实现的?