######python中参数传递有多种方式:1、位置传递2、关键字传递3、参数默认值传递4、包裹传递5、解包裹
#####位置传递
def a(a,b,c):
print(a,'我是位置传递参数a')
print(b, '我是位置传递参数b')
print(c, '我是位置传递参数c')
a(1,2,3)
#####关键字传递,不用区分参数顺序位置,通过参数名称来传递
def b(d,e,f):
print(d,'我是关键字传递参数d')
print(e, '我是关键字传递参数d')
print(f, '我是关键字传递参数d')
b(e=5,f=6,d=4)
#####关键字传递可以和位置传递混用,但位置参数要出现在关键字参数之前
def b2(d2,e2,f2):
print(d2,'我是混合传递之:关键字传递参数d,我需要在位置传递之前')
print(e2, '我是混合传递之:位置传递混合参数d')
print(f2, '我是混合传递之:、位置传递混合参数d')
b2(5,e2=6,f2=4)
#####参数默认值传递,可以先给参数赋默认值,如果参数没有传值,默认值就会被使用,如果有重新赋值,就会使用新值
#####但是这样传递顺序很重要
def c(i=7,g=1,h=2):
print(i,'我有默认值')
print(g,'我有重新赋值')
c(g=8,h=9)
#####包裹传递:用于不确定函数会传递多少个参数.参数需要确认是使用元祖接收,还是使用字典接收,
#####如果是使用元祖接收 需要参数前面加上*,如果使用字典接收,参数前面加上**
#####使用元祖接收
def d(*sum):
print(sum)
d(1,2,3,4,5,6)
#####使用字典接收
def d2(**sum2):
print(sum2)
d2(a=1,b=2,c='c')
#####解包裹,在调用时传递包裹,此时会将dic拆分成11,22,33分别通过位置传递分发给方法e
def e(k,l,s):
print(k,'我是通过解包裹传递进来的')
dic=(11,22,33)
e(*dic)
#####混合传递参数:在定义或者调用参数时,参数的几种传递方式可以混合。
##### 但在过程中要小心前后顺序。基本原则是,先位置,再关键字,再包裹位置,再包裹关键字。
Python之函数参数的传递方式1、位置传递2、关键字传递3、参数默认值传递4、包裹传递5、解包裹
最新推荐文章于 2023-03-09 23:50:23 发布