函数进阶4
Posted hany-postq473111315
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数进阶4相关的知识,希望对你有一定的参考价值。
1.匿名函数:
一个表达式,没有 return
没有名称,执行很小的功能,不可以在内部写条件语句
2.判断参数是否存在 如果不存在会怎样->给出解决办法
3.可以使用 filter 和 lambda 进行使用
如果不进行 list 转换,则只返回 filter 对象
4.参数:
位置匹配:
func(name)
关键字匹配:
func(key = value)
从最右面开始赋予默认值
收集匹配:
元组收集
func(name,arg1,arg2)
func(*args)
字典收集
func(name,key1 = value1,key2 = value2)
func(**kwargs)
参数顺序
5.递归:
递归就是调用自身
程序:
# 第一点:
d = lambda x:x+1
print(d(2))
# 3
d = lambda x:x + 1 if x > 0 else "不大于0"
print(d(3))
# 4
print(d(-3))
# 不大于0
# 列表推导
g = lambda x:[(x,i) for i in range(5)]
print(g(5))
# 只传递了一个参数
# [(5, 0), (5, 1), (5, 2), (5, 3), (5, 4)]
# 第三点:
t = [1,4,7,8,5,3,9]
g = list(filter(lambda x: x > 5,t))
# 使用 list 将结果转换为列表
print(g)
# [7, 8, 9]
# 第四点:
# 对应位置传递参数
def func(arg1,arg2,arg3):
return arg1,arg2,arg3
print(func(1,2,3))
# (1, 2, 3)
# 关键字匹配,不按照位置进行匹配
def func(k1 = ‘‘,k2 = ‘‘,k3 = ‘‘):
return k1,k2,k3
print(func(k2 = 4 , k3 = 5 , k1 = 3))
# (3, 4, 5)
# 收集匹配
# 元组
def func(*args):
return args
print(func(5,6,7,8,[1,2,3]))
# (5, 6, 7, 8, [1, 2, 3])
def func(a,*args):
# 先匹配 a 后匹配 *args
return args
print(func(5,6,7,8,[1,2,3]))
# (6, 7, 8, [1, 2, 3])
# 字典
def func(**kwargs):
return kwargs
print(func(a = 5,b = 8))
# {‘a‘: 5, ‘b‘: 8}
2020-04-12
以上是关于函数进阶4的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段
我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?