实际参数
位置实参 (1,2,3,4):按位置进行对应(实 --> 形)
序列实参(*序列):拆(实 --> 形)
关键字实参(b = “B”):按名称进行对应(实 --> 形)
字典关键字实参(**字典):拆(实 --> 形)
def fun01(p1,p2,p3):
print(p1)
print(p2)
print(p3)
#1\位置实参:根据位置与形参进行对应
fun01(1, 2, 3)
list01=[1,2,3]
fun01(*list01)#*号会拆分序列元素,与形参进行对应
# 2. 序列实参:使用星号将序列中的元素进行拆分,根据位置与形参进行对应.
dict01 = {"a": 1, "b": 2, "c": 3} # 只传递了键
list01 = [2, 3, 4] # 没问题
tuple01 = (5, 6, 7) # 没问题
str01 = "孙悟空" # 没问题
set01 = {"A", "B", "C"}
fun01(*set01)# *号用在集合会乱序
# 3. 关键字实参:实参根据名字与形参进行对应.
fun01(p2=20, p3=30, p1=10)
# 位置 + 关键字
fun01(10, p3=30, p2=20)
# 4. 字典实参:使用双星号将字典中的记录进行拆分,根据名字与形参进行对应.
dict02 = {"p2": 2, "p1": 1, "p3": 3}
fun01(**dict02)
作用: 位置实参:最常用的传递数据的方式
序列实参、字典实参:当参数很多时,用容器统一存储,用星号/双星进行拆分.
关键字实参 + 默认参数:可以随意指定形参进行传递。