一、函数的参数
1.位置参数和关键字参数
根据调用函数的时候实参的提供方式不同来分类的
1)位置参数:以’数据1,数据2,数据3,…'形式存在,通过位置和形参一一对应
2)关键字参数:以’形参1=数据1,形参3=数据3,形参4=数据4,…'形式存在(交换关键字参数的顺序不影响结果)
注意:
a.位置参数和关键字参数可以一起使用,但是位置参数必须放在关键字的前面
b.不管以什么样的形式传参,都必须保证每个参数都有值
def func1(a, b, c):
print(f'a:{a},b:{b},c:{c}')
func1(12, 32, 123)
func1(a=100, b=200, c=300)
# func1(a=100, 200, c=300) # 报错
func1(100, 200, c=300)
func1(100, b=200, c=300)
2.参数默认值
在定义函数的时候,可以以’形参名=数据’的方式给参数赋默认值;
调用函数的时候由默认值的参数可以不用传参
注意:定义函数的时候如果有的参数有默认值有的没有,没有默认值的参数必须在有默认值参数的前面
def func2(a=1, b=2, c=3):
print(f'a:{
a},b:{
b},c:{
c}')
func2()
func2(10)
func2(10, 20)
func2(10, 20, 30)
func2(c=300)
案例:求10的阶乘
def factorial(num=10):
s = 1
for x in range(1, num + 1):
s *= x
print(s)
factorial()
3.参数类型说明
可以让形参在函数体中使用的时候有相关的代码提示
1)没有默认值的参数直接在参数名后加’:类型名’
2)有默认值的参数值默认值的类型就是说明的类型
def func4(a: list, b='abc'):
pass
list1 = [
{
'a': 10