Python合集之Python函数(二)

 1.形式参数和实际参数

在使用函数时,经常会用到形式参数和实际参数,二者都叫做参数,他们的区别将先通过形式参数与实际参数的作用进行讲解。

形式参数和实际参数在作用上面的区别如下:

形式参数:在定义函数时,函数名后面括号中的参数为“形式参数”。

实际参数:在调用一个函数时,函数名后面括号中的参数作为“实际参数”,也就是将函数的调用者提供给函数的参数称为实际参数。

根据实际参数类型的不同,可以分为将实际参数的值传递给形式参数和将实际参数的引用传递给形式参数两种情况。其中,当实际参数为不饿变对象,进行值传递,当实际参数为可变对象时,进行的是引用传递。实际上,值传递与引用传递的基本区别就是,进行值传递后,改变形式参数的值,实际参数的值不变,而进行引用传递后,改变形式参数的值,实际参数的值也一同改变。

例如:def demo(obj):

  print("原值:",obj)
  obj+=obj

print("
值传递调用")
mot="
唯有在被追赶的时候,你才能真正地奔跑"
print("
函数调用前:",mot)
demo(mot)
print("函数调用后:",mot)

print("
引用传递调用")
list=
["绮梦","香凝"]
print("函数调用前:",list)

demo(mot)
print("函数调用后:",list)
 

执行后的结果:

值传递调用
函数调用前:唯有在被追赶的时候,你才能真正地奔跑
原值:唯有在被追赶的时候,你才能真正地奔跑
函数调用后:唯有在被追赶的时候,你才能真正地奔跑

引用传递调用
函数调用前:["绮梦","香凝"]
原值:["绮梦","香凝"]
函数调用后:["绮梦","香凝","绮梦","香凝"]

 2.位置参数

位置参数也称为必备参数,是必须按照正确的顺序传到函数中,及调用时的数量和位置必须和定义时时一样的。

注:

1.在调用函数时,指定的实际参数的数量必须与形式参数的数量是一致的,否则将抛出异常,提示缺少必要的位置参数。

2.在调用函数时,如果指定的实际参数与形式参数的位置不一致,但是他们的数据类型一致,那么就不会抛出异常,而是产生的结果与预期不符的问题存在。

3.关键字参数

关键字参数时指使用形式参数的名字来确定输入的参数值,通过该方式指定实际参数时,不在需要与形式参数的位置完全一致,只要将参数名字写正确即可,这样可以避免用户需要牢记参数位置的麻烦,使得函数的调用和参数传递更加灵活方便。

例如:有一个函数fun_bmi()包含了3个参数,分别是 weight,height,person

利用关键字参数,可以如下的进行调用函数:

fun_bmi(height=1.83,weight=60,person='张三')

花絮:

本期的Python 函数相关的参数传递就分享到这里,下期我们将继续分享Python函数参数传递的相关知识,感兴趣的朋友可以关注我。

同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。


 

posted @ 2021-03-17 21:19  @睦  阅读(118)  评论(0编辑  收藏  举报