1、函数的互相调用
函数调用是去执行函数内部的代码逻辑
python如何运行代码?
- python进入文件后从上到下读取顶格写的代码,所以函数定。义的先后顺序不影响调用
1、函数的定义可以不分顺序,但必须在调用之前定义
#函数的定义不分先后,但必须在调用之前定义好
def Fun1():
print(f"正在调用Fun1()")
Fun2()
def Fun2():
print(f"正在调用Fun2()")
Fun1()
2、避免两个函数相互调用
#应避免两个函数互相调用,会陷入死循环
def A():
B()
def B():
A()
3、尽量避免调用自己(递归)
尽量避免调用自己,调用自己的时候必须要有退出条件
def Fun(n):
print(n)
if n == 10:
return
Fun(n+1)
Fun(0) #打印0到10
2、拆包
比如一个函数有两个形参,在调用的时候,将两个值存入一个元组中,然后将该元组传入,直接传入时,形参实参不匹配会报错,这是就可以给实参的元组前面加一个*来讲这个元组拆成两个值,这个方式就叫拆包
列表和元组拆包:拆成位置参数
字典拆包:拆成关键字参数
在调用的时候把一个列表(元组)或者字典变量传入函数,在前面加上*,就可以变成多个值
列表和元组的拆包:
def add(a, b):
print(a+b)
return a+b
#元组的拆包
tup = (1,3)
add(*tup)
#列表的拆包
lis = [1, 3]
add(*lis)
#字典的拆包
dic = {'a':1, 'b':3}
add(**dic)