ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Python函数中几个特殊又很有用的函数,一定要搞明白函数式编程

Python函数中几个特殊又很有用的函数,一定要搞明白函数式编程 函数, 给出了一种, 表单简易的函数的办法, 变成表达式, 我们, 来瞧瞧下面的示例:#常规函数写法 def y(m,n): return m*n print(y(3,4)) #用lambda函数 slambda m,n:m*n print(s(3,4)) 运行结果 12 12在里面我们称为匿名函数。存在另外两个函数, 分别是exec函数以及eval函数, 它们属于执行语句的函数, 其格式是相同的, 然而不同之处在于返回结果, 下面我们来查看一下例子:#exec与eval s1 a0exec(print(s)) #执行了print语句 a1exec(32) #执行32 a2eval(32) #执行32 print(a0,a1,a2) #分别打印输出的结果 输出结果 1 None None 5能看出来, exec执行了print函数, 然而, 当将打印进行输出结果查看时, 却发现exec根本没有啥输出成果, 反倒是eval函数输出了执行后的结果, 这便是它们之间的不一样之处了。但是, 这两个函数有着这样的意义, 它意味着客户端能够把命令包装成参数, 而这正是有的编程会招致黑客攻击的缘由所在。需要格外留意的是, 这两个函数的首个参数必然得是一条能够执行的命令, 不然的话就连同报错。函数具备这样的特性, 即能够把另一个函数当作参数进行输入, 并且还能够返回一个函数, 而这便是函数式编程, 在这种编程方式里是能够运用变量的, 所以它也并非是纯粹的函数式编程。多个可迭代对象能当作参数, 被传入到map()函数之中, 让我们去瞧瞧几个关键的函数示例:#函数式编程 l [1, 2, 3, 4, 5] n map(lambda x: x * 5, l) print(list(n)) 输出结果 [5, 10, 15, 20, 25]有一种函数, 它具备这样的性质, 即会对一连串东西在某个界限范围之内所涵盖的每一个单独的元素, 都借助另外一个特定的函数去加以判断, 并且依据判断结果返回两种情况中的一种, 要么是True, 要么是False, 最终会把那些返回结果为True的元素组合在一起, 形成一个全新的、能够进行遍历操作的集合。l [1, 2, 3, 4, 5] n filter(lambda x: x % 2 0, l) print(list(n)) 输出结果如下 [2, 4]() 函数通常用来对一个集合做一些累积操作#reduce() 函数通常用来对一个集合做一些累积操作 import functools l [1, 2, 3, 4, 5] p functools.reduce(lambda x, y: x * y, l) print(p) 输出结果120大家可以改变数值来进行各种测试。每天坚持学习这样每天都能进步一点点往期回顾本文引用和摘录相关内容请联系侵删。
返回列表