python的实参,形参,位置参数,关键字参数,在源码中看到的 *args, **kwargs所代表的的意思

形参:就是定义的参数,变量名

def get_name(username):

      print(username)

这个函数的定义的:username就是形参,调用这个函数所传递的  'name_csdn' 这个字符串就是实参。

实参:调用函数时传递的具体参数。

 

位置参数: 就是形参具体的位置,这个参数时单个的

def get_name(name_111,name_222):

这个方法中的形参,name_111 和 name_222 就是两个位置参数,传值的时候需要一一对应

 

关键字参数 :  形参的位置不重要,传值的时候需要用'=' 来传值

def login(username,password):

这个方法中,username,和password两个参数做关键字形参,传值的时候

login(username="liming",password="123456789")或者  login(password="123456789",username="liming")

 

*args   代表    传递任意数量的实参

在不确定有多少实参,就可以使用这种格式来定义

当然,*args这个是一种通用的写法,也可以定义为  *name    *top 都是可以的,它的存储格式是一个元组。

def  get_some(*args):

这个方法传值的时候,可以是任意多的位置参数 get_some('name1','name2','name3') 或者 get_som('name1','name2')

 

**kwargs   代表      传递任意数量关键字实参 

在不确定有多少个关键字实参时,使用这种格式,他存储的是 字典

def get_dict(**kwargs):

这个方法传值时:def get_dict(name="james",password="123456789".address="US")

 

有几点需要注意的地方

1.如果只是用位置参数,实参传值时,需要和形参一一对应

2.位置参数,和任意多实参,任意多关键字实参,共用时

位置参数在最前面,任意多参数在第二顺序,任意多关键字参数在最后,否则程序会报错

def   many_params(username,password,*friends,**address):

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值