python:方法参数的各种形式
📅 2026/7/20 14:20:36
👁️ 阅读次数
📝 编程学习
# 0、位置参数(正常传参)# 一、参数可以设置默认值# 二、关键字参数:传参时需要指定 形参名=值# 关键字参数必须放在位置参数后面,如果一个参数是关键字参数,那么它后面的参数就都是关键字参数# 三、可变参数:分两种:# 1、*参数名,在定义它的函数中以元组的形式接收实参值# 2、**参数名,在定义他的函数中以字典的形式接收实参值# 可变参数必须在形参列表的最末尾,而且‘**参数’必须在‘*参数’的后面# 四、解包传参# 五、强制使用位置传参或关键字传参# / : 前面的参数必须使用位置参数# * : 后面的参数必须使用关键字参数# 一、参数可以设置默认值,设置默认值的参数必须放在最后,如果不传参就用默认值print("++++++参数设置默认值++++++")defmethod1(x,y,z='使用默认z坐标'):print(f"x->{x}, y->{y}, z->{z}")# 方法内->运行结果:x->X, y->Y, z->使用默认z坐标method1("X",'Y')# 二、关键字参数:传参时需要指定 形参名=值# 关键字参数必须放在位置参数后面,如果一个参数是关键字参数,那么它后面的参数就都是关键字参数print("++++++关键字参数++++++")defmethod2(x,y,z):print(f"x->{x}, y->{y}, z->{z}")# 方法内->运行结果:x->X, y->Y, z->Zmethod2(y='Y',z='Z',x='X')# 三、可变参数 可变参数必须在形参列表的最末尾,而且‘**参数’必须在‘*参数’的后面print("++++++可变参数++++++")# 1、*参数名,在定义它的函数中以元组的形式接收实参值defmethod3(flag,*args):sum=0ifflag:foriteminargs:sum+=itemprint(f"可变参数累加和为:{sum}")else:print(f"输入的可变参数有:{len(args)}个")method3(True,1,2,3)# 可变参数累加和为:6# 2、**参数名,在定义他的函数中以字典的形式接收实参值defmethod4(nums,**kwargs):print(f"输入的nums为:{nums}")forkey,valueinkwargs.items():print(f"key:value ->{key}:{value}")method4(100,name="张三",age=18,sex='1')# 结果:# key:value -> name:张三# key:value -> age:18# key:value -> sex:1# 四、解包传参print("++++++解包传参++++++")defmethod5(type,name,age,sex):print(f"{type}解包传参:{name=},{age=},{sex=}")#列表解包传参method5("列表",*['李四',18,'0'])#字典解包传参(key值和方法形参对应上)method5("字典",**{"name":"王五","age":20,"sex":"1"})# 结果:# 列表解包传参:name='李四',age=18,sex='0'# 字典解包传参:name='王五',age=20,sex='1'# 五、强制使用位置传参或关键字传参# / : 前面的参数必须使用位置参数# * : 后面的参数必须使用关键字参数print("++++++强制使用位置传参或关键字传参++++++")defmethod6(param1,param2,/,param3,param4,*,param5,param6):print(f"位置参数:{param1}、{param2}-> 中间参数:{param3}、{param4}-> 关键字参数:{param5}、{param6}")method6("位置参数1","位置参数2","位置参数3",param4="关键字参数4",param6="关键字参数6",param5="关键字参数5",)# 结果:位置参数:位置参数1、位置参数2 -> 中间参数:位置参数3、关键字参数4 -> 关键字参数:关键字参数5、关键字参数6结果:
++++++参数设置默认值++++++
x->X, y->Y, z->使用默认z坐标
++++++关键字参数++++++
x->X, y->Y, z->Z
++++++可变参数++++++
可变参数累加和为:6
输入的nums为:100
key:value -> name:张三
key:value -> age:18
key:value -> sex:1
++++++解包传参++++++
列表解包传参:name=‘李四’,age=18,sex=‘0’
字典解包传参:name=‘王五’,age=20,sex=‘1’
++++++强制使用位置传参或关键字传参++++++
位置参数:位置参数1、位置参数2 -> 中间参数:位置参数3、关键字参数4 -> 关键字参数:关键字参数5、关键字参数6
编程学习
技术分享
实战经验