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

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

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

相关文章
|
8月前
|
存储 设计模式 前端开发
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~
|
JavaScript 前端开发 Java
CocosCreator 面试题(三)JavaScript闭包原理和作用
CocosCreator 面试题(三)JavaScript闭包原理和作用
195 0
|
存储 自然语言处理 JavaScript
📕 重学JavaScript:你理解闭包吗?
闭包是一个函数以及其捆绑的周边环境状态(词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。
90 0
📕 重学JavaScript:你理解闭包吗?
|
JavaScript 前端开发
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(一)
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(一)
|
存储 JavaScript 前端开发
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(二)
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(二)
|
设计模式 JavaScript 前端开发
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(四)
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(四)
|
存储 前端开发 JavaScript
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(三)
【JavaScript】10个技巧干掉你代码中那些丑陋冗长的 if...else 语句~(三)
|
JavaScript 前端开发
📕 重学JavaScript:如何手写一个`push`高阶函数?
`push` 高阶函数是一个非常常用的数组方法,可以让你用一种简单的方法来添加数组里的元素。
141 0
|
JavaScript 前端开发
🍉学习JS不得不知的原型原型链、闭包和异步!
🍉学习JS不得不知的原型原型链、闭包和异步!
247 5
🍉学习JS不得不知的原型原型链、闭包和异步!
|
前端开发 JavaScript
前端祖传三件套JavaScript的函数之函数调用
JavaScript 函数可以被调用多次,这使得它们极其灵活和实用。在本文中,我们将讨论 JavaScript 函数的调用方式、传递参数以及一些常见的注意事项。
103 0