函数
函数编程基础:
函数定义:将一组逻辑调用放在一个自定义函数中,方便程序之间调用,避免重复逻辑和多次编写。
def test(x,y): #形参,位置参数,一一对应
z = x*y
print(z)
test(5,10)
def test1(x,y):#关键字参数
print(x,y)
test1(x=1,y=2)
def test2(*args):#参数组,将n个位置参数传参给原组
print(args)
test2(1,2,3,4,5)
def test3(**kwargs):#参数组,将n个关键字参数传参给字典
print(kwargs)
test3(name="abc",age="8")
---------------------------------------------------
函数中的局部变量与全局变量
在子程序中定义的变量称之为局部变量,在程序的一开始定义的变量称之为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
------------------------------------------------------
def的返回值
要想获取函数的执行结果,就可以用return语句把结果返回
注意:
1.函数在执行过程中只要遇到return语句,就会停止执行并返回结果,所以也可以理解为return语句代表证函数的结束。
2.如果未在函数中指定return,那整个函数的返回值为None
------------------------------------------------------------------
递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归函数特性:
1.必须有一个明确的结束条件
2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用时通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会增加一层栈帧,每当函数返回,栈就会减少一层栈帧。
由于栈的大小不是无限的,所以递归调用次数过多,会导致栈溢出)

浙公网安备 33010602011771号