- 函数的声明语法
基本语法:
def 函数的名称([函数的参数]):
"""文档注释:描述函数的作用"""
函数中的代码
return 函数的返回结果
操作案例:
# 无参数无返回值
def sleep():
print("正在睡觉")
# 调用
sleep()
# 有参数无返回值
def sleep(t):
print(f"睡觉了{t}小时")
# 调用
sleep(6)
# 无参数有返回值
def sleep():
print(f"睡醒了")
return "准备吃饭"
# 调用
s = sleep()
print(s)
# 有参数有返回值
def sleep(x):
print(f"睡了{x}个小时")
return "准备吃饭"
# 调用
s2 = sleep(8)
print(s2)
- 可变参数
可变参数:*args arguments多个参数
案例操作:
u1 = {"name": "渡劫", "age": 18}
u2 = {"name": "星痕", "age": 20}
u1 = {"name": "多多", "age": 16}
def info(*users):
for user in users:
print(f"姓名:{user['name']}")
print(f"年龄:{user['age']}")
info() #查看0个用户信息
info(u1) #查看1个用户信息
info(u1,u2,u3)
- 可变关键字参数
可变关键字参数:**kwargs key word arguments多个key-value参数
案例操作:
def info(**kwargs):
for key,value in kwargs.items():
print(f"{key}:{value}")
# 运行结果:name:渡劫 age:18
info(name="渡劫", age= 18)
- 强制关键字参数
案例操作:
def info(name, *, age, gender):
"""
展示用户资料;
*分隔符号,后面的都必须是关键字参数
"""
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"性别:{gender}")
info("渡劫", age = 16, gender="女")
- 万能参数
def test(*args,**kwargs):
"""
万能参数
*args,接受可变参数
**,接受可变关键字参数
"""
print(args)
print(kwargs)
# 0个参数
test()
# 多个位置参数
test("渡劫", "星痕")
# 1个位置参数,一个关键字参数
test("多多", age=18)
# 错误写法
test(age=18, "多多")
- 拓展
全局变量:函数外部声明的变量(公共数据),所有函数都能访问(在函数中使用global来引入并且修改)
局部变量:函数内部声明的变量,只能被当前函数访问