python的函数

[toc]

函数的定义

函数就是一组实现特定功能的一组代码

定义

1
2
3
def 函数名([输入参数]):
函数体
[return xxx]

函数的调用函数名([实际参数])

1
2
result=fun()
print(result)

函数的参数传递

定义函数时,用来占位的参数被称为形参,实际的参数被叫为实参

在传值时,可以根据位置进行传递,也可以根据关键字进行传递

1
2
3
#fun(a,b)
res=fun(2,1)
res=fun(b=1.a=2)

在定义函数时,可以设置形参的默认值,当实参与默认值不同是就会传值

1
print (' hello’, end='\t')

函数返回多个值时,结果为元组

函数参数定义

定义函数时,无法确定传递实参的个数时,可以使用可变位置参数

使用*定义个数可变的位置形参

返回一个一个元组

1
2
3
4
5
6
7
def fun( *args):#可变位置参数
print(args)
fun (10)
fun (10,20,30)
#输出
#(10,)
#(10,20,30)

可以用**定义可变的关键字形参

结果是一个字典

1
2
3
4
5
6
7
def fun( **args):#可变关键字形参
print(args)
fun(a=10)
fun(a=10, b=20,c=30)
#输出
#{'a': 10}
#{'a’: 10, 'b': 20,'c' : 30}

可变位置参数和可变的关键字形参都只能有一个

当既有可变位置参数,又有可变的关键字形参,要把个数可变位置参数放前面

1
def fun (*arg1,**arg2)

变量的作用域

根据变量的有效范围可分为局部变量和全局变量

局部变量,只能在函数内部有效,如果想全局使用,用global声明

递归函数

自己调自己的函数,递归完成需要终止条件,优点是思路和代码简单,缺点是占用内存多,效率低下