一、语法格式:
def test(x):
"解释函数的作用"
x += 1
return x
def:定义函数的关键字
test:函数名
():定义函数的形参
"":文档描述,定义函数的作用
x+=1:函数的代码块
return:定义返回值
当函数遇到一个return时整个函数结束
当指定了默认参数的时候,在调用函数的时候可以不指定参数
二、函数的参数:
1、形参:
在函数中定义的变量,其只有在被调用的时候才会被分配内存单元,在调用结束时释放分配的内存单元
2、实参:
在调研用函数的时候定义的常量、变量、表达式、函数等
3、例子:
def add(x,y):
res = x * y
return res
add = add(2,4)
在上面的例子中形参为add后面的x和y,实参为调用函数时的2和4;形参和实参的位置必须要一一对应
三、可变长参数:
可变长参数是指可以向函数的传递不定个数的参数;可变长参数的原则是位置参数必须在关键字参数之前
1、位置参数:
位置参数是和函数中的形参一一对应的,如:
def add(x,y):
res = x * y
return res
add(2,4)
在上面的代码中2和4对应函数中x和y,也就是x和y是位置参数
2、关键字参数:
关键字参数是指可以接受0个或多个实参的参数,如:
def test01(x, *args):
print(x)
print(args)
test01(1,2,3,4,5)
在上面的代码中x是位置参数,对应实参中的1;
而*args是一个关键字参数,对应实参中的2,3,4,5
3、*:
在函数的形参中*可接受字符串、数字、列表、元组、集合的数据类型;Python最后会将这些数据类型转化为元组。
例子:
def test01(x, *args):
print(x)
print(args)
test01(1,2,3,4,5)
运行结果:
1
(2, 3, 4, 5)
若传递的实参是一个可迭代的参数时需要加上一个*号,如:
def test01(x, *args):
print(x)
print(args)
test01(1, *[2,3,4])
运行结果:
1
(2, 3, 4)
4、**:
和*类似,不同的是**可接收的是键值对,最后都会转换为字典形式
例子:
def test02(x, **kwargs):
print(x)
print(kwargs)
test02(1, y