首页 / 知识
Python的函数式
2023-11-12 13:37:00
尽管Python并不是以函数式为主的语言,但对它来说支持函数式编程也相对比较容易,因为Python中的一切都是对象。这意味着函数定义也可以赋给变量并传递。
defadd(a,b):
returna+b
plus=add
plus(3,4)#returns7
Lambda
通过Lambda表达式的语法,可以用声明式的方式创建函数。关键字lambda来自希腊字母,经常在正式的数学逻辑中用来描述函数和变量的虚拟绑定,即“lambda演算”,它的历史比函数式编程还要久远。这一概念的另一个术语叫做“匿名函数”,因为lambda函数可以直接嵌入到行内使用,不需要事先指定名称。将匿名函数赋值给变量后,它的行为与正常函数完全一样。
(lambdaa,b:a+b)(3,4)#returns7
addition=lambdaa,b:a+b
addition(3,4)#returns7
lambda函数最常见的用法就是提供给那些接受可调用对象作为参数的函数。“可调用对象”是任何能够通过括号调用的东西,具体来说有类、函数和方法。其中最常见的用法就是在对数据结构进行排序时,通过参数的键指定排序的相对顺序。
authors=['OctaviaButler','IsaacAsimov','NealStephenson','MargaretAtwood','UsulaKLeGuin','RayBradbury']
sorted(authors,key=len)#Returnslistorderedbylengthofauthorname
sorted(authors,key=lambdaname:name.split()[-1])#Returnslistorderedalphabeticallybylastname.
行内嵌入式lambda函数的缺点在于它不会在栈跟踪中显示名称,可能会给调试带来麻烦。
以上内容为大家介绍了Python的函数式,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
使用Python的toolz库开始函数式编
使用Python的toolz库开始函数式编程,代码,函数,培训,位置,参数,字典,顺序,操作,结果,测试,toolz库允许你操作函数,使其更容易理解,更容易测试代为什么Python没有main函数?
为什么Python没有main函数?,入口,代码,灵活,函数,培训,状态,统一,项目,网上,名称,毫无疑问,Python中没有所谓的主入口函数,但是互联网上经常有文python之什么是函数式编程?
python之什么是函数式编程?,系统,概念,项目,大规模,状态,数据,培训,函数,语言,副作用,函数式编程(简称FP)是一种编程范式,其中最基本的元素是Python 中如何实现参数化测试?
Python 中如何实现参数化测试?,密码,数据,测试,业务,情况,预期,培训,系统,参数,方法,之前,我曾转过一个单元测试框架系列的文章,里面介绍了unitPython变量数据类型的转换
Python变量数据类型的转换,代码,数据,培训,信息,字符串,类型,变量,整数,浮点,函数,虽然Python是弱类型编程语言,不需要像Java或C语言那样还要Python变量的类型(弱类型语言)
Python变量的类型(弱类型语言),检测,代码,数据,培训,类型,变量,语言,赋值,数字型,字符串,在强类型的编程语言中,定义变量时要指明变量的类型,而Python类和对象
Python类和对象,代码,培训,对象,实例,定义,关键字,函数,问题,顶层,全名,刚接触python中的类和对象,我也和大多数小伙伴一样迷茫,不知道它和我所Python的函数式编程与闭包
Python的函数式编程与闭包,代码,灵活,函数,数据,概念,变量,培训,不了,工业,环境,函数式编程 函数式编程这个概念我们可能或多或少都听说列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_python内置函数:map、reduce、filte
python内置函数:map、reduce、filter的用法和区别,数据,培训,数字,函数,序列,内容,元素,参数,列表,个数,map:根据函数对指定序列做映射map参数Python之列举常见的内置函数
Python之列举常见的内置函数,数字,数据,函数,名字,培训,一致,元素,对象,列表,参数,abs()返回数字的绝对值map根据函数对指定序列做映射map()python函数调用和参数传递
python函数调用和参数传递,位置,培训,函数,变量,参数,指针,例子,内存,整数,操作,定义过函数后,就可以在后面程序中使用这一函数printsquare_su