版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python函数的参数的几种类型和实例参数类型CHAPTER601位置参数02
关键字参数03默认参数CONTENTS目
录04不定长参数05
特殊形式06参数传递的序列解包CONTENTS目
录参数类型
位置参数>>>#定义一个函数,其有两个位置参数>>>defrequired_param(p1,p2):print(p1,p2)return>>>
#调用函数,缺少2个参数>>>required_param()Traceback(mostrecentcalllast):File"<pyshell#9>",line1,in<module>required_param()TypeError:required_param()missing2requiredpositionalarguments:'p1'and'p2'>>>#调用函数,缺少1个参数>>>required_param("astring")Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>required_param("astring")TypeError:required_param()missing1requiredpositionalargument:'p2'>>>
#调用函数,提供2个参数>>>required_param("Hello","World")HelloWorld对于定义的【位置参数】,在函数调用时必须有,且顺序和数量都要保持一致参数类型
关键字参数“关键字参数”在函数调用时,参数的传入使用了参数的名称,则该类参数称为“关键字参数”允许函数参数的顺序与声明不一致因为Python解释器能够用参数名匹配参数值关键字参数必须在位置参数后面在函数调用中,多个关键字参数的顺序可以随意,但关键字参数必须跟随在位置参数的后面参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param("p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param("p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下kp1、kp2关键字参数参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param("p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下p1是位置参数参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param("p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下【
p1必须有,kp1、kp2顺序可随意】参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param(p1="p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param(p1="p1",kp2="kp2",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下p1关键字参数参数类型>>>#定义一个函数,有1个位置参数、2个关键字参数>>>defkey_param(p1,kp1,kp2): print(p1,kp1,kp2) return>>>#调用函数>>>key_param(kp2="kp2",p1="p1",kp1="kp1")p1kp1kp2【例】
关键字参数必须跟随在位置参数的后面,实例如下都是关键字参数参数类型
默认参数没传递该参数使用默认值该参数是默认参数则使用默认值参数类型01#param1.py02#定义一个函数03#某社团纳新,会员一般为大一学生04defnew_member(name,student_id,grade="大一"):05print("姓名",name)06print("学号",student_id)07print("年级",grade)08print("---------------------------")09return1011#调用函数12new_member("张三","0001")13new_member("李四","0002","大二")【例6-15】某学生社团纳新的会员管理,在函数定义中使用默认参数参数类型
位置参数执行结果姓名张三学号0001年级大一---------------------------姓名李四学号0002年级大二---------------------------默
认
参
数参数类型>>>gradeone='大一'>>>deffunc(grade=gradeone): print(grade)>>>gradeone='大二'>>>#函数调用>>>func()大一【例】默认参数在函数定义时就计算参数类型>>>gradeone='大一'>>>deffunc(grade=gradeone): print(grade)>>>gradeone='大二'>>>#函数调用>>>func()大一【例】默认参数在函数定义时就计算函数定义就确定的值参数类型
不定长参数如果希望函数参数的个数不确定时,需要用不定长参数不定长参数*parameter和**parameter不定长函数的定义方式前者接收多个实参并放在一个元组中后者是接收键值对并将其放在字典中两种定义方式参数类型
不定长参数deffunctionname([formal_args,]*var_args_tuple):function_suitereturn[expression]两种定义方式的基本语法【方式一】【方式二】deffunctionname([formal_args,]**var_args_dict):function_suitereturn[expression]参数类型01#param2.py02#定义函数03defcal_sum(*a):04
sum=005
foreleina:06
sum+=ele07
returnsum0809#调用函数10print(cal_sum(1,2))11print(cal_sum(1,2,3,4))【例6-16】不定长参数示例-对所有数字参数求和
不定长参数参数类型01#param2.py02#定义函数03defcal_sum(*a):04
sum=005
foreleina:06
sum+=ele07
returnsum0809#调用函数10print(cal_sum(1,2))11print(cal_sum(1,2,3,4))【例6-16】不定长参数示例-对所有数字参数求和
不定长参数310结果参数类型01
#param3.py02
#函数定义03
defuserinfo(**p):04
print(p)05
fork,vinp.items():06
print(k,":",v)0708
#函数调用09
userinfo(name='zhangsan',id='0001',sex='male')10
print("====================================================")11
userinfo(name='lisi',id='0002',sex='female')12
print("====================================================")13
userinfo(name='wangwu',id='0003',sex='female')【例6-17】使用不定长参数,实参传递进函数后被转变为字典类型参数类型{'name':'zhangsan','id':'0001','sex':'male'}name:zhangsanid:0001sex:male===================================================={'name':'lisi','id':'0002','sex':'female'}name:lisiid:0002sex:female===================================================={'name':'wangwu','id':'0003','sex':'female'}name:wangwuid:0003sex:female【例6-17】实参传递进函数后被转变为字典类型,执行结果参数类型特殊形式确保可读性运行效率Python限制参数传递形式通过在函数定义的参数列表中增加“/”或“*”来确定参数项是仅按位置、按位置也按关键字,还是仅按关键字传递参数类型deff(pos1,pos2,/,pos_or_kwd,*,kwd1,kwd2):------------------------------------------①②③①仅允许位置参数(Positionalonly)②可位置参数或关键字参数(Positionalorkeyword)③仅允许关键字参数(Keywordonly)【例】
为函数定义参数列表中增加“/”或“*”的相关语法和规定参数类型
位置参数030201参数传递的类型可以是位置参数或关键字参数未使用“/”和“*”“/”前形参仅限位置参数,函数调用时实参
应与形参对应,不能按照关键字参数来传递定义中使用“/”其后的形参为仅限关键字参数定义中使用“*”参数类型列表元组集合1234字典作为【实参】进行参数传递参数类型>>>deffunc(p1,p2,p3):
#形参列表中有多个位置参数
print(p1,p2,p3)
return>>>list1=["a1","a2","a3"]>>>func(*list1)#对列表进行解包a1a2a3>>>tup1=("a1","a2","a3")>>>func(*tup1)#对元组进行解包a1a2a3>>>dict={'a':1,'b':2,'c':3}【例】在实参名称前加星号(*),解释器会将实参进行解包操作参数类型>>>func(*dict)#对字典的键进行解包abc>>>func(*dict.values
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南省阅麓山幼儿园教职工招聘备考题库附答案详解(模拟题)
- 2026安徽淮北师范大学招聘高层次人才66人备考题库附答案详解(黄金题型)
- 2026上海复旦大学经济学院博士后招聘备考题库含答案详解ab卷
- 2026湖南怀化市溆浦县土地与房屋征收安置办公室公益性岗位招聘1人备考题库及答案详解(历年真题)
- 202西门子股份公司招聘工作笔试参考题库及答案解析
- 2025-2026学年国际音标教学设计说明
- 2026广东珠海高新区发展改革和财政金融局招聘合同制职员2人考试参考试题及答案解析
- 2026中国建筑(南洋)发展有限公司招聘笔试参考试题及答案解析
- 2026大连交通大学公开招聘海内外人才79人笔试模拟试题及答案解析
- 2026年石墨烯材料在电池领域的应用进展
- 2023年06月上海华东师范大学教育学部行政管理人员招考聘用笔试历年难、易错考点试题含答案解析
- 多彩贵州,魅力贵州
- 全国小学信息技术优质课教学课件-语音识别技术
- CT增强扫描的临床应用演示文稿
- 2023学年完整公开课版船舶防污漆
- 抗菌药物临床应用指导原则(2015版)
- 新教材人教版2019年高中生物课本课后问题参考答案(全集)
- 海尔集团PIP-绩效改进计划
- GB/T 4338-2006金属材料高温拉伸试验方法
- GB/T 32900-2016光伏发电站继电保护技术规范
- 礼仪11:鞠躬,手势,握手
评论
0/150
提交评论