为了得到外部的数据,进而实现特定的功能
必选的意思是,有几个参数就传递几个参数,否则报错
#正确的代码
def sum(a,b):
sum = a+b
print(sum)
pass
pass
sum(10,20)
#结果
30
#错误的代码
def sum(a,b):
sum = a+b
print(sum)
pass
pass
sum(10)
#报错如下:
TypeError: sum() missing 1 required positional argument: 'b'
(1)在调用函数时,如果未传递参数,就会使用定义函数时给定的值
#代码
def sum(a=3,b=2):
sum = a+b
print(sum)
pass
pass
sum(10)
#结果
12
#讲解
10传递给了a。b使用默认值2来做相加运算10+2=12
(2)默认参数的值必须放到参数列表中的后面
#错误代码
def sum(a=3,b):
sum = a+b
print(sum)
pass
pass
sum(10)
#报错
SyntaxError: non-default argument follows default argument
#正确代码
def sum(a,b=2):
sum = a+b
print(sum)
pass
pass
sum(10)
#结果
12
当参数的数目不确定时,使用可选参数,使用方法如下
def sum(*args):
result = 0
for item in args:
result+= item
pass
print(result)
pass
pass
sum(10,20)
#结果
30
(1)参数的关键字是一个字典类型,使用方法有三种如下:
#方法一
def keyFunction(**kwargs):
print(kwargs)
pass
pass
#调用函数
keyFunction(name = '张飞',age=20)
#结果
{'name': '张飞', 'age': 20}
#方法二:
def keyFunction(**kwargs):
print(kwargs)
pass
pass
dictA = {'name':'张飞','age':20}
#调用函数
keyFunction(**dictA)#这里必须加上**,要不就会报错
#结果
{'name': '张飞', 'age': 20}
#方法三:
def keyFunction(**kwargs):
print(kwargs)
pass
pass
dictA = {'name':'张飞','age':20}
#调用函数
keyFunction()#不加参数也可以
#结果
{}
1.使用情况一:
#args是元组类型,kwargs是字典类型
def complex(*args,**kwargs):
print(args)
print(kwargs)
pass
pass
complex(1,2,3)
#结果
(1, 2, 3)
{}
2.使用情况二:
def complex(*args,**kwargs):
print(args)
print(kwargs)
pass
pass
complex(1,2,3,name='张飞')
#结果
(1, 2, 3)
{'name': '张飞'}
3.使用情况三:
def complex(*args,**kwargs):
print(args)
print(kwargs)
pass
pass
complex(name='张飞')
#结果
()
{'name': '张飞'}
注意事项:可变参数必须放于关键字参数之前,否则会报语法错误