python中的函数参数详解

来源:互联网 发布:数据流程图的分析方法 编辑:程序博客网 时间:2024/05/29 16:42

python中函数参数分为5类,主要包括普通参数、指定参数、默认参数、动态参数和万能参数。

一、普通参数
这是最简单一种参数,严格按照顺序,将实际的参数赋值给形式参数

def func_name(name):  # name叫做func_name函数的形参    print(name)func_name("xiaoma")  # xiaoma叫做func_name函数的实参

二、指定参数与默认参数(关键字参数)
默认参数必须放在参数列表的最后,指定参数将实际的参数赋值给制定的形式参数

# 为什么要设置默认,就比如有一个班级年龄大多数都是20岁,这样调用就简单了,如果有不是20岁,就可以提供额外的信息就好了,降低函数调用的难度def func_name(name, age = 20):      print(name, age)func_name("xiaoma", 18)  # 指定了一个参数func_name("xiaoma")  # 使用了默认参数,就是age=20,这里要注意默认参数要放到单数列表最后func_name(age=17, name="xiaoma")  # 调用指定参数名称,与函数申明的参数名称一致,与顺序无关

三、动态参数(可变参数)
为什么会有动态参数?你想假如做一个注册界面,必须要输入用户名和密码,其他也可以输入身份信息,学校信息等等,其他的这些信息就是关键字参数
“*args” 可变参数,默认将传入的参数,全部放置在元祖中
“**kwargs”关键字参数,默认将传入的参数,全部放置在字典中

def func(*args):  # "*"代表参数个数不确定的情况 (*)代表传入的参数将存储成元祖,如果不带*只能传一个参数,就不可变了    print(args)func(*(1, 2, 3, 4, 5))  # 可以是元祖li = [1, 2, 3, 4, 5]  # 也可以是列表func(*li)def func(**kwargs):  # (**)这是代表传入的参数将存储成字典    print(kwargs)li = {"name": "heh", "age": 17}func(a=1, b=2)func(**li)

四、全能参数(* 和**都有)

def func(*args,**kwargs):    print("这是可变参数:%s 这是关键参数:%s" % (args, kwargs))func(1, 2, a=1, b=2)`结果:这是可变参数:(1, 2) 这是关键参数:{'a': 1, 'b': 2}``
原创粉丝点击