Python.d8
函数返回多个返回值
实例如下:
1 | def return_num(): |
函数的多种参数形式
- 位置参数
- 关键字参数
- 缺省参数
- 不定长参数
位置参数
位置参数:调用函数时根据函数定义的参数位置来传递参数
示例:
1 | def print_info(name,years,gender): |
关键字参数
关键字函数:函数调用时通过“键-值”形式传递参数
示例:
1 | def print_info(name,years,gender): |
函数调用时,如果有位置参数时,位置参数必须在关键字参数前面,但关键字函数不存在先后顺序
缺省参数
缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值
所有位置参数必须出现在默认参数前,包括函数定义和调用
示例:
1 | def print_info(name,age,gender='男'): |
不定长参数
不定长参数:即可变参数,用于不确定调用时会传递多少个参数不确定的场景
不定长参数类型:
- 位置传递
- 关键字传递
位置传递
1 | def print_info(*args): |
传入参数都会被args收集,它会根据传入参数的位置合并为一个元组,这就是位置传递
关键字传递
1 | def print_info(**kwargs): |
参数返回的是“键值对”形式,类型是字典
函数作参数
关键字函数
即带有名称的函数
示例:
1 | def print_result(compute): |
示例代码将打印和计算分为两个函数,我的理解是程序设计上模块化的设计,用于把函数的具体步骤解耦抽象化,以实现函数的高复用性。
所以,函数传参嵌套是计算逻辑的传递,而非数据的传递
因此,不仅仅是相加、乘除,任何逻辑都可自定义并作为传入函数
lambda函数
匿名函数(无名)
示例代码:
1 | def print_result(compute): |
使用def
和lambda
定义的函数功能完全一支,只是lambda
关键字定义的函数是匿名的,无法二次使用
lambda
定义语法lambda 传入参数: 函数体(一行代码)
注意事项:
- 用于临时构建的函数,仅仅使用一次的场景
- 函数体只能写一行代码,如果函数体要写多行则应使用
def
关键字函数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 rminit's blog!