Python基础知识

Python基础知识

回调函数

  • 回调函数又叫函数回调,指的是将函数作为参数传递到另外的函数中执行。
#coding:utf-8
"""
回调函数示例
"""

def func(fun, args):
    fun(args)

def f1(x):
    print("这是f1函数:", x)

def f2(x):
    print("这是f2函数:", x)

func(f1, 1)
func(f2, 'hello')

闭包

  • 闭包是将函数作为返回值返回。闭包可以延长变量的作用时间与作用域。
#coding:utf-8
"""
闭包示例
"""

def func():
    res = []

    def put(x):
        res.append(x)

    def get():
        return res

    return put, get

p, g = func()
p(1)
p(2)
print("当前res值", g())
p(3)
p(4)
print("当前res值", g())

关键词yield

  • yield关键词可以将函数执行的中间结果返回但不结束程序。
#coding:utf-8
"""
使用yield打印fibonacci数列
"""

def fab(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a+b
        n += 1

# 打印fibonacci数列前5项
for n in fab(5):
    print(n)

遍历函数(map)

  • map函数用于遍历序列。对序列中每个元素进行操作,最终获取新的序列。

这里写图片描述

li = [11, 22, 33]
new_list = map(lambda a:a+100, li)

li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a,b: a+b, li, sl)

筛选函数(filter)

  • filter函数用于对序列中的元素进行筛选,最终获取符合条件的序列。

这里写图片描述

li = [11, 22, 33]
new_list = filter(lambda x: x>22, li)

累计函数(reduce)

  • 累计函数用于对序列内所有元素进行累加操作。
  • reduce函数在Python2中是内置函数,从Python3开始移到了functools模块中,使用时需要从functools模块中导入。

这里写图片描述

from functools import reduce
li = [1, 2, 3]
reduce(lambda arg1, arg2: arg1+arg2, li)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值