8.5高阶函数、递归函数和内置函数

高阶函数、递归函数和内置函数

高阶函数和递归函数

#函数名可以进行赋值,可以作为函数参数,可以作为返回值
#高阶函数:允许导入函数作为参数导入或者返回值为函数
def f(n):
    return n*n

def fun(a,b,fun1):
    an1=fun1(a)+fun1(b)
    return (an1)

print(fun(1,2,f))

def sqrt(n):
    return n*n
def function(a,b,function1):
    answer=function1(a)+function1(b)
    return answer
print(function(1,8,sqrt))
# 65
#递归函数
#递归函数特点:自己调用自己,结束判断
#递归可以写的程序,循环都可以做,递归效率在很多时候很低
def recursion(n):
    if n==1:
        return 1

    return n*recursion(n-1)

print(recursion(5))
# 120
#斐波那切数列
def fibo_seq(n):
    if n==1:
        return 0
    elif n==2:
        return 1
    else:
        return fibo_seq(n-1)+fibo_seq(n-2)

print(fibo_seq(10))

内置函数(python3.0以后)
很多,网上也有很多,可以去看看。

print(any([1]))
print(eval("1+2*3"))  #eval有计算器功能
#eval()函数能把字符串类型成其他类型执行,比如转换成列表,元组和字典
#filter函数
list1=[1,2,3,4]

def fun1(l):
    if l!=1:
        return l

ret=filter(fun1,list1)
# ret变成迭代器
print(ret)
# <filter object at 0x000000911CD9B978>
print(list(ret))
# [2, 3, 4]
#map函数
def fun2(l):
    return l+2

ret1=map(fun2,list1)
print(ret1)
# <map object at 0x000000E5A604B9E8>
print(list(ret1))
# [3, 4, 5, 6]
#reduce函数
# def reduce(function, sequence, initial=None): # real signature unknown; restored from __doc__
#     """
#     reduce(function, sequence[, initial]) -> value
#
#     Apply a function of two arguments cumulatively to the items of a sequence,
#     from left to right, so as to reduce the sequence to a single value.
#     For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
#     ((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
#     of the sequence in the calculation, and serves as a default when the
#     sequence is empty.
#     """
#     pass

from functools import reduce
def add1(x,y):
    return x+y
print(reduce(add1,range(1,10)))
# 45
a=5
b=6
c=lambda a,b:a+b   #lambda函数没有名字,表示一个表达式
print(c(1,2))
#  3
#阶乘:函数式编程的方法,命令式编程比较直观
from functools import reduce
print(reduce(lambda a,b:a*b,range(1,6)))
#120

大家对内容有任何问题,欢迎留言,定在第一时间解答,谢谢大家!

原文地址:http://blog.51cto.com/10777193/2082947

时间: 2024-08-11 20:08:38

8.5高阶函数、递归函数和内置函数的相关文章

day05 协程函数,递归函数,匿名函数lambda,内置函数map reduce filter max min zip sorted,匿名函数lambda和内置函数结合使用,面向过程编程与函数编程,模块与包的使用,re模块内置函数

基础篇 本章大纲: 协程函数 递归函数 匿名函数lambda 内置函数map reduce filter  max min zip sorted 匿名函数lambda和内置函数结合使用 面向过程编程与函数编程 模块与包的使用 re模块内置函数 一,协程函数 注意:函数先定义,后使用.这是函数第一原则.函数主要分为定义,调用 1.1,什么是协程函数 协程函数特点:yield变为表达式,可以通过g.send(value)传值,用send传值时协程函数需要初始化,也可以说是生成器函数的一种 1.2,协

python函数七(内置函数)

一.内置函数 1.重要内置函数 都是带key的: max min map filter 返回的是迭代器 sorted 返回的是列表 函数名在后 1.1 max dic = {'k1':20,'k2':30,'k3':100} def func(x): return dic[x] l1 = max(dic,key=func,) #(输出的是dic默认就是输出dic的键),函数返回的是是value值,即选出最大的value对应的键 print(l1) #k3 dic = {3:20,2:30,1:1

高阶函数、递归函数、内置函数

这里我们学习的是: 高阶函数 递归函数 内置函数 参数分类: # 这里的参考文章是:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000'''函数的参数的分类:必选参数默认参数可变参数关键字参数命名关键字参数 调用的顺序就是,必选参数-默认参数-可变参数-命名关键字参数-关键字参数

高阶函数_递归函数_内置函数

最近挺喜欢纯音乐的,比如暴力一点的star sky.victory.go time.the mass...今天发现了一首特好安静的纯音乐,叫做桜(ying)道.清风推门开,疑是故人来,又是一年秋分至,门扉如旧,我该以什么理由想起你呢,以星月,以静默……对了,今天秋分. #Author:"haijing"#date:2018/9/23#上节回顾# s2=set('alvin')# print(s2) #打印 {'i', 'l', 'n', 'a', 'v'}# s2.add('op')

文成小盆友python-num3 集合,函数,-- 部分内置函数

本接主要内容: set -- 集合数据类型 函数 自定义函数 部分内置函数 一.set 集合数据类型 set集合,是一个无序且不重复的元素集合 集合基本特性 无序 不重复 创建集合 #!/bin/env python s1 = {"1","2","3","4"} ##或者 s2 = set() set 提供的功能 1 class set(object): 2 """ 3 set() -> n

python自定义函数、常用内置函数

1.python自定义函数 Python中用户自己编写的用于实现特定功能的函数代码块,就是自定义函数. 如: def是关键字,saa是自定义函数名,括号用于传参,可以不写参数,冒号后面是函数代码块,这里只写了一条print语句 注意:函数不调用不执行,只有调用函数才会执行 小练习1: 执行结果是: : 再来看一个小练2: 这是一个用来生成双色球的小程序,如蓝色球号码 01 红色球 22 12 23 14 05 26,蓝色球数字范围1-16,红色球数字范围1-33,最后一行调用produce()自

6-1:递归、内置函数、匿名函数

本节内容: 1.函数基本语法及特性 2.函数: 函数的参数: 形参,实参: 4种参数,注意参数顺序 参数传递:可变类型和不可变类型 函数的返回值: return的几种情况:返回值个数0/1/多个 3.函数的嵌套调用 4.递归:添加图片??? 5.匿名函数,lambda 6.内置函数 eval 7.使用模块中的函数 8.函数式编程介绍 9.高阶函数 原文地址:https://www.cnblogs.com/chenhuan123/p/12038607.html

python内置函数、匿名函数、递归

一.内置函数 内置函数详解:http://www.runoob.com/python/python-built-in-functions.html 二.匿名函数 匿名函数就是不需要显示的指定函数 #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n:n**n print(calc(10)) l=[3,2,100,999,213,1111,31121,333] print(max(l)) dic={'k1':1

三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

一 三元表达式.列表推导式.生成器表达式 1.三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterabl