函数及匿名函数
AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
函数及匿名函数
Pupper函数
1. 函数
1.1 自定义函数
def
关键字 表示定义一个函数。
1 | # 定义函数 |
- 当需要调用定义的函数时,使用 函数名() 来调用。(先定义,后调用)
- return [表达式] 结束函数,选择性地返回一个值给调用方。
- 不带表达式的 return 相当于返回 None。
1 | def sum(num1,num2): |
1.2 函数的返回值
- 函数的返回值 return 语句不是必须的,但是如果没有 return,函数的返回值是
None
- 函数中可以出现多个 return ,但必须位于不同的分支,否则后面的 return 无效
- return 后面的表达式,可以返回任意类型的对象,包括:字符串、数字、列表、元组、字典等。
- 函数返回值一次返回多个时, 返回的数据类型是元组,
函数要返回结果,就必须要使用 return 关键字,后面加上返回的结果对象
1 | def squarep(num1,num2): |
1 | def jueduizhi(a): |
1.3 函数的参数
- 函数定义时的参数叫做
形参
,函数调用时的参数叫做实参
。 - 函数的在调用时,当前面的参数使用完整写法时,后面的参数也必须使用完整写法,否则报错。
1 | def sumdata(a,b): |
1.3.1 默认参数
- 默认参数:定义在函数体中,在函数调用时,如果用户没有输入该参数,则使用默认值。
- 默认参数必须放在参数列表的后面。
- 默认参数的值必须是
不可变的对象
,比如None、True、False、数字或字符串
1 | def print_user_info(name,age=18,sex='男'): |
1.3.2 关键字参数(位置参数)
python中可以通过形参名来传参,不用按顺序传参.
1 | def print_user_info(name,age,sex='男'): |
函数的 缺省值,当用户 未输入 缺省值时,作为默认值使用;
当用户 输入 了该值,则以用户输入为准。
函数的参数定义,一旦有缺省值后,后面所有的参数必须都有缺省值。
1 | def sumdata(a,b,c=100): |
1.3.3 只接受关键字参数
将强制关键字参数放到 *
参数或者单个*
后面就能达到只接受关键字参数的功能。
1 | def print_user_info(name, *, age, sex='男'): |
1.3.4 可变参数
- 使用
*args
表示可变长度参数,可以写任意个。*args
的类型为元组(tuple)
- 使用
**kwargs
表示关键字参数,它是一个字典 可以写任意个。**kwargs
的类型为字典(dict)
1 | def fun5(a,*args,**kwargs): |
2. 匿名函数
python 使用
lambda
来创建匿名函数,也就是不再使用 def 语句这样标准的形式定义一个函数
匿名函数的特点:
- lambda 只是一个表达式,函数体比 def 简单很多。
- lambda 的主体是一个表达式,而不是一个代码块。仅仅能在 lambda 表达式中封装有限的逻辑进去。
- lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
语法格式:
1 | lambda 参数1,参数2,参数3: 函数体 |
1 | sum = lambda x,y:x+y |
3. 局部变量与全局变量
局部变量:定义在函数体内,只在该函数内部有作用。
全局变量:定义在函数体外,作用于整个模块文件。
使用 global
可以将局部变量变为全局变量。
1 | upChars = '零壹贰叁肆伍陆柒捌玖' |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果