Python中函数的参数类型实例分析(python,开发技术)

时间:2024-04-30 11:53:00 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1、Python的函数参数的类型

  • 必传参数:调用函数时必须传入的参数,函数定义时只定义参数名

  • 关键字参数:传入时以函数的参数名值对的方式传入

  • 默认参数:函数定义时为参数默认设置一个值,调用时不传输参数即以默认值处理

  • 不定长参数:以*修饰或者**修饰的参数;*修饰的参数是一个元组(tuple),**修饰的参数必须是字典(dict),通常写作*args或者**args

2、Python的必传参数

  • 传入的参数个数必须与形参的数量一致

#coding:utf-8#Author:YangXiaoPengdefdemo01(a,b):print(a,type(a))print(b,type(b))#demo01(1)#TypeErrormissing1requiredpositionalargument:'b'缺少一个未知的参数,demo01必须传2个参数#demo01(1,2,3)#TypeErrordemo01()takes2positionalargumentsbut3weregiven,demo01函数有2个位置参数,但是接收到了3个;#必传参数:调用函数时必须传入的参数,函数定义时只定义参数名#传入的参数个数必须与形参的数量一致demo01(1,2)#yesdemo01(1,[1,2])#yesdemo01([2,3],(1,2))#yesdemo01(1,{2,3,4})#yesdemo01(2,{"code":'1001',"name":"zhang","age":18})#yes

Python中函数的参数类型实例分析

3、关键字参数

  • 以参数名和参数值的关联在一起的方式进行传参,键值对的模式,参数名为键。

#coding:utf-8#Author:YangXiaoPengdefdemo01(a,b):print(a,type(a),end="__")print(b,type(b))#第一个关键字出入的参数位置之前的参数比逊选择关键字传参;如下面的示例中,第一个关键字传参的变量是a,a在函数定义的第二个位置,那么第二个位置之前的参数都必须以关键字传参的形式传参。#demo01(1,a=2)#demo01()gotmultiplevaluesforargument'a'demo01(a=1,b=2)#yesdemo01(1,b=2)#yesdemo01(b=1,a=2)#yesdemo01(b=1,a=[1,2])#yesdemo01(b=[2,3],a=(1,2))#yesdemo01(b=1,a={2,3,4})#yesdemo01(b=2,a={"code":'1001',"name":"zhang","age":18})#yes

Python中函数的参数类型实例分析

4、默认参数

  • 调用函数时不传入参数an默认值处理,传入时按传入的参数值处理

#coding:utf-8#Author:YangXiaoPeng##默认参数defdemo02(City="LongNan"):print("City是默认参数,默认值是:中国,当前值是:",City)#不传入参数demo02()#传入参数demo02("Beijing")

Python中函数的参数类型实例分析

5、不定长参数

  • 传入的参数会生成一个元组类型的变量供函数内部使用

#coding:utf-8#Author:YangXiaoPeng##不定长参数defdemo03(*args):print(args,type(args))#传入的参数会生成一个元组类型的变量供函数内部使用demo03(1)demo03("code")demo03(1,"code")

Python中函数的参数类型实例分析

  • 传入的参数不能少于必传参数的个数

  • *args 后面的形参,必须以关键字参数进行传参

#coding:utf-8#Author:YangXiaoPeng#*args后面的形参,必须以关键字参数进行传参,defdemo04(a,b,*args,c):print("a传入的参数值是:{},b传入的参数值是:{},args传入的参数是:{},c出入的参数是:{}".format(a,b,args,c))#传入的参数不能少于必传参数的个数,a,b,c三个为必传参数#demo04(1,2)#TypeError#demo04(1,2,3)#TypeErrordemo04(1,2,c=3)

Python中函数的参数类型实例分析

  • *args 之前的参数只能按位置传参,不可以关键字传参

  • 传入的参数个数比必传参数多时,首先给必传参数按位置赋值,然后将剩余的参数生成一个元组传递给args

Python中函数的参数类型实例分析

  • **修饰的参数必须以关键字的参数方式传参,Python解释器会将传入的关键字和关键字的值生成一个字典供函数内部使用

#coding:utf-8#Author:YangXiaoPengdefdemo05(**kwargs):print("kwargs传入的参数是:{}".format(kwargs),type(kwargs))kwargs={"code":'1002',"name":"zhang"}#demo05(kwargs)#TypeError#**修饰的参数必须以关键字的参数方式传参,Python解释器会将传入的关键字和关键字的值生成一个字典供函数内部使用demo05(**kwargs)#kwargs传入的参数是:{'code':'1002','name':'zhang'}<class'dict'>demo05(code='1002',name="zhang")#kwargs传入的参数是:{'code':'1002','name':'zhang'}<class'dict'>

Python中函数的参数类型实例分析

  • **修饰的参数必须是最后一个

#coding:utf-8#Author:YangXiaoPeng#**修饰的参数必须是最后一个"""#SyntaxError:invalidsyntaxdefdemo06(a,b,*args,c,**kwargs,d):pass"""defdemo06(a,b,*args,c,**kwargs):print("a传入的参数值是:{},b传入的参数值是:{},args传入的参数是:{}".format(a,b,args),end='')print(",c传入的参数是:{},kwargs传入的参数是:{}".format(c,kwargs))demo06(1,2,3,4,5,c=3,code='1002',name="zhang",d=3)

Python中函数的参数类型实例分析

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python中函数的参数类型实例分析的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:python四则运算表达式求值的方法下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18