1 函数参数的匹配
1.1 参数数量一定时
1.2 参数数量不一定时
定义函数时, 其参数使用元组, 具体方式为变量前加 *, 如:
- def func(*score):
- return sum(score)/len(score)
注: 参数使用元组定义的函数, 调用时, 则不能使用元组, 如需要使用可在元组前加 *, 如:
- score=(1,2,3,4)
- data=func(*score)
注: 参数还可以使用字典表, 使用方式与元组类似, 具体方式稍有差异, 需要在变量前加 **, 使用定义的字典名当参数时, 则需要加 ** 解包
2 lambda 表达式
2.1 基本格式
lambda 参数 1, 参数 2...: 表达式
2.2 lambda 是表达式, 需要将其赋值给变量来使用
2.3 lambda 表达式可读性较差, 使用 lambda 表达式一方面嵌套起来很方便, 另外对于使用较少的函数, 这样表达也更加省事
3 字典表中键值对中的值可以使用函数名, 从而简化代码的编写
- def hello_chinese(name):
- print('你好',name)
- def hello_english(name):
- print('hello',name)
- operation={'c':hello_chinese,'e':hello_english}
- while True:
- name=input('请输入姓名:')
- if name == stop:
- break
- language=input('c=> 中文 e=> 英文')
- (operation.get(language))(name)
4 函数高级工具
4.1 map 函数
基本格式:
map(函数, 可迭代对象)
用例:
- def add(a):
- return a+5
- l=list(range(1,6))
- res=list(map(add,l))
4.2 filter 函数
基本格式:
Filter(函数, 可迭代对象)
用例:
- def jud(a):
- return a%2 == 0
- l=list(range(1,8))
- res=list(filter(jud,l))
来源: http://www.bubuko.com/infodetail-3147768.html