python有哪些高级特性?
在Python学习中,我们会接触到各类各样的特性,如果能够熟练掌握这些特性,我们的技术水平也会大幅度提升,那掌握它首先要了解它,小编整理了高级特性的定义,希望能帮助到大家,让我们来看看都有哪些吧。
闭包即可以访问另一个函数作用域中的变量的函数,创建闭包的方法就是在一个函数内部创建另一个函数。其函数里面嵌套函数,外部函数的返回值是内部函数的引用,内部函数还可以使用外部函数的变量。
装饰器指为被装饰器对象添加额外功能的工具或函数,如果我们已经上线了某个项目,则需要修改某一个方法,但我们如果不想修改的话,就可以使用装饰器,软件的维护该遵循开放封闭原则,也就是软件上线运行后,软件的维护对修改源代码是封闭的。
装饰器必须遵循2大原则:1、封闭:对已经实现的功能代码块封闭,不修改被装饰对象的源代码。2、开放:即对扩展开放。装饰器就是在遵循这两者的前提下开发的。
装饰器本身是一个函数,可以用来处理其他函数,也可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰起的返回值也是一个函数对象。
Python也支持多装饰器,装饰器的执行顺序是由上至下的,被装饰器的执行顺序是由下至上的,一般情况下,在函数中可以使用一个装饰器,但有时也会有两个或两个以上的装饰器,多个装饰器的执行顺序是自下至上的,也就是就近原则,而调用的顺序是由上至下的。
Python中也有一些内置的高阶函数,请看下面:
1、map():会根据提供的函数对指定序列做映射,当序列多一个时,map可以并行地对每个序列执行。
2、reduce():会对参数序列中元素进行累计。
3、filter():用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
4、sorted():对所有可迭代的对象进行排序操作,返回重新排序的列表,其中reverse表示排序规则,true为降序,false为升序,升序(false)为默认的。
那在Python中sort()和sorted()的区别是什么?
1、排序对象不同:sort是应用在list的方法,sorted可以对所有可迭代的对象进行排序操作。
2、返回值不同:list的sort方法返回的是对已经存在的列表进行操作,不存在返回值,内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!