本文摘自php中文网,作者零到壹度,侵删。
本篇文章给大家分享的是实例详解python高级函数的使用,内容挺不错的,希望可以帮助到有需要的朋友。函数参数问题
三种基本情况
1 2 3 4 5 6 7 8 9 10 11 | ls = [i for i in range(10)]
# print (ls)
def fun1(a,*b):
for i in b:
print (a,i)
#fun1(1,*ls)
def fun2(name,age,**kw):
print ( "name:" ,name, "age:" ,age, "other:" ,kw)
fun2( 'fanhaitao' , '26' ,参数= 'random' )
|
匿名函数
lambda
没有return返回值,返回值就是表达式的值
函数没有名字,不用担心名字冲突
匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,在利用变量来调用该函数
1 2 3 4 5 6 7 | fun3 = lambda x:x+1
print (fun3(99))
#100
fun4 = lambda x,y :x*x + y*y
print (fun4(3,4))
#25
|
装饰器@
这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)
没有参数的装饰器
1 2 3 4 5 6 7 8 9 10 11 | #定义一个装饰器
def log(func):
def wrapper(*args,**kw):
print ( 'call %s()' % func.__name__)
return func(*args,**kw)
return wrapper
@log
def now():
print ( '2018-3-29' )
now()
|
装饰器内部逻辑关系(调用顺序):log() -> return wrapper() -> return func() -> now()
含参数的装饰器
1 2 3 4 5 6 7 8 9 10 11 12 13 | #定义一个装饰器
def log(text):
def decorator(func):
def wrapper(*args,**kw):
print ( '%s %s():' % (text,func.__name__))
return func(*args,**kw)
return wrapper
return decorator
@log( "可爱的参数" )
def now():
print ( '2018-3-29' )
now()
|
BiF内建函数
zip:将两个迭代对象合成一个迭代对象
注:多余的没有匹配到的变量会被舍弃
1 2 3 4 5 6 | a = [1,2,3]
b = 'abcde'
for i in zip(a,b):
print (i)
for i,j in zip(a,b):
print ( "Index:" ,i, ";Item:" ,j)
|

enumerate:返回的是迭代对象,由位置+元素构成
1 2 | for i,j in enumerate( 'abcde' ):
print (i,j)
|

filter:过滤函数
两个参数,第一个是参数,第二个是可迭代对象,返回的值也是可迭代对象;参数中迭代对象在函数中是True是,值会保留,否者pass
1 | print (list(filter(lambda x:(x*x+x+2)%8 == 0,range(100))))
|
map
用法和filter类似,区别如下:
1 | print (list(map(lambda x:x**2,range(5))))
|
reduce
reduce把结果继续和序列的下一个元素做累积计算
1 2 3 4 | from functools import reduce
add = lambda x,y:x+y
ls = [i for i in range(101)]
print (reduce(add,ls))
|
#5050
相关推荐:
Python之高级函数
Python函数与高级语法合集
python函数高级用法
以上就是实例详解python高级函数的使用的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python常用运算符有哪些?
Python怎么读help文件
Python如何实现客户端和服务器端的数据传输(代码)
安卓app可以用Python写吗
Python中pack和unpack用法介绍
Python的变量类型-列表的操作与截取(实战与分析)
Python生成任意范围任意精度的随机数的方法
Python list排序的两种方法及实例
Python语言支持中文吗
Python如何合并两个列表
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 实例详解python高级函数的使用