形参:就是定义的参数,变量名
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):