Python之函数参数的传递方式1、位置传递2、关键字传递3、参数默认值传递4、包裹传递5、解包裹

######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)

#####混合传递参数:在定义或者调用参数时,参数的几种传递方式可以混合。
##### 但在过程中要小心前后顺序。基本原则是,先位置,再关键字,再包裹位置,再包裹关键字。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值