程序中的奇技淫巧之语法糖

什么是语法糖?

提起语法糖,可能很多不是编程老鸟的朋友可能一脸懵圈,而且编程老鸟也不一定用过,语法糖如果我们能够熟练的使用,将会对我们的工作以及学习有极大的帮助,你的代码也会比其它人的简洁!  在计算机科学中,是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰、方便,或者更加符合程序员的编程习惯。语法糖是语言中的一个构件,当去掉该构件后,并不影响语言的功能和表达能力。简而言之,语法糖是一种便捷写法。

为了使大家更加清晰的了解语法糖,先给大家举一个小例子?>>>>

提起语法糖,假设我们想要比较两个数字中哪一个比较大,我们会怎么做?

正常情况下我们都会使用上图这种写法,但是实现这个功能有很多种写法,到底怎么样才可以称作语法糖呢?

PYTHON中一些常见的语法糖:

可以看到这些语法,在其它语言里通常不会出现的。但是在Python中却神奇的被支持了,所以这些都是当之无愧的Python语法糖。

WITH语法糖

with语法糖实现的是一个上下文管理器,它主要的特点就是帮助我们自动管理上下文的衔接。即在需要的时候传给我们,不需要的时候自动关闭上下文对象。

需要注意的是:使用with语法糖是有条件的。即其后跟的对象必须要实现__enter__和__exit__这2个魔法属性。

ElSE语法糖Python中提供一类else的语法,它可以在原有语法基础之上,支持更多一种情况的选择。

主要有for-else,while-else,try-else。

需要注意的是,for-else和while-else需要和break语句配合时使用。

yiedld表达式

yield语法也是Python中比较有特点的语法糖,可以说是特有的。虽然其它语言有实现类似机制的功能。yield是Python中实现**协程(coroutine)**的一个重要基础。

装饰器是学习Python绕不过去的坎。就像学习Java要理解面向对象和设计模式一样。学习Python,你就应该要掌握好闭包、生成器、装饰器等相关知识。而对于编写高并发程序时则要掌握协程相关知识。

作者微信公众号

python语法糖怎么用_程序中的奇技淫巧之语法糖-释然相关推荐

  1. python猜数字游戏、在程序中预设一个_python 语法基础练习题

    python 语法基础练习题 1. 分别解释"=","==","+="的含义(口述) 2.两个变量值的关系?(口述) n1 = 123456 ...

  2. 一个Python绘图示例程序中的几个语法糖果

    简 介: 在Python中还存在一些有趣的 Syntatic Sugar (语法糖果),在编程的时候可以进一步简化编程的效率. 关键词: 语法糖果 #mermaid-svg-yTrhj3mq9LtD6 ...

  3. Python笔记_23_正则相关函数_类中的方法_装饰器_异常

    文章目录 正则相关函数 search 和 match split 切割 sub 替换 finditer 匹配字符串中相应内容,返回迭代器 compile 指定一个统一的匹配规则 正则表达式的修饰符 类 ...

  4. python启动多个进程_Python程序中的进程操作--—--开启多进程

    Python程序中的进程操作-----开启多进程 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创 ...

  5. python工作遇到的问题_工作中遇到的问题收集--.NET

    一.拒绝访问 temp 目录.用来运行 XmlSerializer 的标识"IIS APPPOOL\MZJYMIS"没有访问 temp 目录的足够权限.CodeDom 将使用进程正 ...

  6. 微信小程序中的WXML模板语法

    目录 一.数据绑定 1. 数据绑定的基本原则 2. 在 data 中定义页面的数据 3. Mustache 语法的格式 ​4. Mustache 语法的应用场景 5. 动态绑定内容 6. 动态绑定属性 ...

  7. python输出回文字符串_程序,用于计算我们可以在Python中使用字符串字符进行的独特回文数...

    假设我们有一个字符串s,我们必须找到可以使用所有字符生成的不同回文数.如果答案很大,则将结果修改为10 ^ 9 + 7. 因此,如果输入类似于s =" xyzzy",则输出将为2, ...

  8. python 列表间隔取值_程序从Python中的间隔列表中查找最长间隔的长度

    假设我们有一个间隔列表,其中每个间隔的格式为[start,end].我们必须找到可以合并任意数量的重叠间隔的最长间隔. 因此,如果输入类似于[[1,6],[4,9],[5,6],[11,14],[16 ...

  9. python写算法太慢_程序运行慢?你怕是写的假 Python

    Python程序运行太慢的一个可能的原因是没有尽可能的调用内置方法,下面通过5个例子来演示如何用内置方法提升Python程序的性能. 1. 数组求平方和 输入一个列表,要求计算出该列表中数字的的平方和 ...

  10. python面向对象的基本概念_面向对象的概念和基本语法,python,学习,笔记,一,基础...

    一.概念 1. 特点 :注重对象和职责,不同的对象承担不同的职责.更大的封装,在一个对象中封装多个方法. 2. 类 : (1)创建 对象 的,包含属性和方法.先有类,再有对象.不同对象之间的属性可能不 ...

最新文章

  1. win10 动态磁盘 linux,win10系统动态磁盘改为基本磁盘的方法
  2. hihoCoder - 1082 - 然而沼跃鱼早就看穿了一切 (字符串处理!!)
  3. hp designiet 500绘图仪程序_邹军:通过数控宏程序实现刀具寿命管理
  4. TypeScript 类装饰器的一个例子和使用单步调试搞清楚其运行原理
  5. 暑假学习日记2013/7/26
  6. mysql+8.0+新特性_MySQL 8.0备受瞩目的新特性大放送!
  7. .NET程序不需要受SVN版本控制的文件类型
  8. 12864 c语言,单片机12864 c程序
  9. libcurl的封装,支持同步异步请求,支持多线程下载,支持https
  10. 医学软件项目开发(二):医学图像的显示及相关操作
  11. 适量消极情绪有助于提高工作能力
  12. Excel - VLOOKUP 函数的精确查找和近似查找
  13. 服务质量(QoS)--网络大典
  14. criterial查询
  15. centos7下安装pg数据库
  16. 数据库(oracle)服务器的cpu大于80%
  17. Python-列表切片list[-1]、list[-1:]、list[:-1]、list[::1]、list[::-1]的区别
  18. 关于seekbar的thumb被截取的问题
  19. PDF文件有密码怎么办 PDF密码解除的方法
  20. 全国影城年底前引进4K技术 观影清晰度翻倍增长

热门文章

  1. 置换元素和非置换元素
  2. Sublime Text 如何连接 FTP/SFTP ——图文详细教程
  3. ios UISearchController
  4. Android 中 View的类关系图
  5. BT服务器的安装和配置
  6. SQLite.Net操作类
  7. GPT分区表出现问题后的数据恢复思路
  8. BizTalk database lookup funcatoid DbConnectionString 设定问题有解了
  9. mac ox php.ini 位置,MAC Osx PHP安装指导
  10. python获取读取文件的文件名_python文件名获取文件路径