关于函数进阶的学习

函数的参数传递
函数文档
lambda
map filter zip reduce enumerate
生成器与迭代器
装饰器

函数的参数传递

位置参数——关键字参数——可变数量参数
定义和传递的基本顺序

>>>def fun(a,b=6,*c,**d):   c是元组 d是字典
		 print('a=',a,'b=',b,'c=',c,'d=',d)
>>>fun(1)
a=1,b=6,c=(),d={}
>>>fun(a=1,b=2,c=3,d=4)
a= 1 b= 2 c= () d= {'c': 3, 'd': 4}

函数文档

def 函数名([参数列表]):
‘’'注释‘’‘
函数体’

def fun(a,b=6,*c,**d):
    '''这是函数'''
    print('a=',a,'b=',b,'c=',c,'d=',d)
help(fun)

Help on function fun in module __main__:

fun(a, b=6, *c, **d)
    这是函数

lambda

匿名函数
<函数名> = lambda <参数列表>:<表达式>

f = lambda x,y : x + y

相当于
def <函数名>(<参数列表>)
<函数体>
return <返回值列表>

临时使用的小函数
不能有复合语句

map/filter/zip/reduce/enumerate

map函数

做映射 第一个参数function以参数序列中的每一个元素调用function函数 返回包括每次函数function返回值的新列表

map(function,iterable,...)

iterable 序列

def square(x):
    return x**2
map(square,[1,2,3,4,5,6])

 <map at 0x23418fb8e80>     生成迭代器
def square(x):
    return x**2
list(map(square,[1,2,3,4,5,6]))

 [1, 4, 9, 16, 25, 36]
def square(x,y,z):
    return x+y+z

list(map(square,[1,2,3],[1,2,3,4],[1,2,3,4,5]))
Out[26]: [3, 6, 9]

参数不等长 截断按最短的来计算

filter

filter()用于过滤序列,过滤掉不符合的元素

filter(function,iterable)
返回true和false

zip

zip(seq[,seq…])把两个或多个序列中的相应项合并在一起 以元组格式返回 ,处理完最短项就停止

a=[1,2,3]
b=[4,5,6]
list(zip(*(zip(a,b))))
 [(1, 2, 3), (4, 5, 6)]


a=[1,2]
b=[3,4]
dict(zip(a,b))
 {1: 3, 2: 4}


x= range(1,4)
y = range(4,7)
sum([i*j for i,j in zip(x,y)])
 32

x='abcd'
y='abcde'
[i==j for i,j in zip(x,y)]
 [True, True, True, True]
enumerate

enumerate(sequence,[start=0])

用于将一个可遍历的数据对象(列表,元组,字符串)组成一个索引序列 同时列出数据和数据下表,一般用在for循环

#reduce

from functools import reduce
def add(x,y):
	return x+y
reduce(add,[1,2,3,4,5])
15
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值