函数的参数

函数参数

函数参数分为形式参数和实际参数,简称形参和实参。

形参是在函数定义阶段时,括号内声明的参数。形参本质是变量名,用来接收外部参数。

实参是在函数调用阶段时,括号内传入的值。实参本质是变量值,用来传入值,值可以是常量、变量等

def index(a,b):    #形参
    pass

index(1,2)        #实参

形参和实参的使用

位置参数

在形参中,接收的值按照位置顺序一一对应,这种是位置形参。

在实参中,传入的值按照位置顺序一一传入,这种是位置实参。

def index(a,b):    #a,b就是位置形参
    pass
index(1,2)        #1,2是位置实参

注意的是,

位置形参与位置实参对应的变量名和变量值要相等,不能多也不能少。

关键字参数

在调用函数函数时,实参是key=value的形式,可以不按顺序传入,一样可以为形参赋值。被称被关键字实参,注意,没有关键字形参这一说法。

def index(a,b):    #形参
    pass
index(a=1,b=2)    #关键字实参

在调用参数时,可以把位置实参和关键字实参组合使用,但需要注意几点:

位置实参必须在关键字实参前面:

def index(a,b):
    pass
index(10,b=2)

位置实参传给形参后,关键字实参不能传给相同的形参

def index(a,b):
    pass
index(1,a=2)

默认形参

在定义函数时,就被形参赋值

def index(a=1,b):
    pass
index(10)

因为形参a已经被赋值,所以实参传值可以不用对a传值,减少重复 

def register(name,age,sex='male'):
    print('name:%s,age:%s,sex:%s' %(name,age,sex))
register('kk',12)

可变长参数

可变长参数在形参中的使用:

可变长位置参数,可以把溢出的位置实参全部接收

def index(*args):
    pass
index(1,2,3,4)

可变长关键字参数,可以把溢出的关键字实参全部接收

def index(**kwargs):
    pass
index(a=1,b=2,c=3)

可变长参数在实参中的使用:

def func(x,y,z):
    print(x,y,z)

def wrapper(*args,**kwargs):     #位置实参变为元组形式,关键字实参变为字典形式
    func(*args,**kwargs)         #打散成实参传入时的形式,func(1,y=2,z=3)
wrapper(1,y=2,z=3)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值