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

简介: 程序中的奇技淫巧--语法糖

640.jpg什么是语法糖?

   

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

 

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

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

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

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

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

640.png


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

640.png


PYTHON中一些常见的语法糖:

640.png


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

WITH语法糖


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

640.png


ElSE语法糖


Python中提供一类else的语法,它可以在原有语法基础之上,支持更多一种情况的选择。主要有for-else,while-else,try-else。需要注意的是,for-else和while-else需要和break语句配合时使用。


640.png640.png640.png

yiedld表达式


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

1.

640.png

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


640.png

相关文章
|
7月前
|
人工智能 前端开发 JavaScript
【炫技的代码写法】
【炫技的代码写法】
|
4月前
|
前端开发 JavaScript 索引
解锁JavaScript黑魔法:挑战这10道手写题,看谁是编程大神!
解锁JavaScript黑魔法:挑战这10道手写题,看谁是编程大神!
|
5月前
|
JavaScript 前端开发
JavaScript开发基础问题:解释一下变量提升。
JavaScript开发基础问题:解释一下变量提升。
41 5
|
7月前
|
JavaScript 前端开发 Java
CocosCreator 面试题(三)JavaScript闭包原理和作用
CocosCreator 面试题(三)JavaScript闭包原理和作用
118 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
程序员的炫技代码写法
程序员的炫技代码写法
|
自然语言处理 前端开发 JavaScript
JavaScript基础系列(5):通过简单的几个小例子让你轻松的搞明白闭包
首先代码非常简单,根据截图中可以发现,执行到断点位置时,根据词法作用域的规则,内部函数innerFunction可以访问它的外部outerFunction函数中的变量aehyok,执行后打印out函数一点毛病没有。
83 0
|
XML SQL 开发框架
C#十种语法糖
C#十种语法糖
116 0
C#十种语法糖
|
索引 Python
Python 函数式编程,没什么废话,直接看用法和代码
lambda 这个关键词在很多语言中都存在。简单地说,它可以实现函数创建的功能。
121 0