程序中的奇技淫巧--语法糖_微信公众号



什么是语法糖?


     提起语法糖,可能很多不是编程老鸟的朋友可能一脸懵圈,而且编程老鸟也不一定用过,语法糖如果我们能够熟练的使用,将会对我们的工作以及学习有极大的帮助,你的代码也会比其它人的简洁!


  


在计算机科学中,是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰、方便,或者更加符合程序员的编程习惯。

语法糖是语言中的一个构件,当去掉该构件后,并不影响语言的功能和表达能力。

简而言之,语法糖是一种便捷写法。


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

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

  1. 程序中的奇技淫巧--语法糖_面向对象_02
  2. 正常情况下我们都会使用上图这种写法,但是实现这个功能有很多种写法,到底怎么样才可以称作语法糖呢?
  3. 程序中的奇技淫巧--语法糖_语法糖_03
  4. PYTHON中一些常见的语法糖:


  1. 程序中的奇技淫巧--语法糖_语法糖_04
  2. 可以看到这些语法,在其它语言里通常不会出现的。但是在Python中却神奇的被支持了,所以这些都是当之无愧的Python语法糖。

WITH语法糖

  1. with语法糖实现的是一个上下文管理器,它主要的特点就是帮助我们自动管理上下文的衔接。即在需要的时候传给我们,不需要的时候自动关闭上下文对象。需要注意的是:使用with语法糖是有条件的。即其后跟的对象必须要实现__enter__和__exit__这2个魔法属性。
  2. 程序中的奇技淫巧--语法糖_python_05

  3. ElSE语法糖
  4. Python中提供一类else的语法,它可以在原有语法基础之上,支持更多一种情况的选择。主要有for-else,while-else,try-else。需要注意的是,for-else和while-else需要和break语句配合时使用。
  5. 程序中的奇技淫巧--语法糖_面向对象_06
  6. 程序中的奇技淫巧--语法糖_微信公众号_07
  7. 程序中的奇技淫巧--语法糖_python_08

  8. yiedld表达式




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



  1. 程序中的奇技淫巧--语法糖_python_09

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



   



程序中的奇技淫巧--语法糖_语法糖_11



本文分享自微信公众号 - 释然IT杂谈