- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
def my_sum4(a, b, *c, **d): #各数字累加和 total = a + b for n in c: #元组中各元素累加和 total = total + n for key in d: #字典中各元素累加和 total = total + d[key] return total print(my_sum4(1, 2)) #计算1+2 print(my_sum4(1, 2, 3, 4, 5)) #计算1+2+3+4+5 print(my_sum4(1, 2, 3, 4, 5, male = 6, female = 7)) #计算1+2+3+4+5+6+7 可变参数(VarArgs)(3) 强制命名参数(Keyword-only)(1) 在带星号的参数后面申明参数会导致强制命名参数(Keyword-only) 调用时必须显式使用命名参数传递值,因为按位置传递的参数默认收集为一个元组,传递给前面带星号的可变参数 如果不需要带星的可变参数,只想使用强制命名参数,可以简单地使用一个星号。例如:def my_func( *, a, b, c) def my_sum(*, mid_score, end_score, mid_rate = 0.4): #期中成绩、期末成绩、期中成绩权重 #基于期中成绩、期末成绩和权重计算总评成绩 score = mid_score * mid_rate + end_score * (1 - mid_rate) print(format(score, .2f)) #输出总评成绩,保留2位小数 my_sum(mid_score = 88, end_score = 79) #期中88,期末79,期中权重为默认的40% my_sum(end_score = 79, mid_score = 88) #期末79,期中88,期中权重为默认的40% my_sum(88, 79) #报错,必须显式使用命名参数传递值 强制命名参数(Keyword-only)(2) 参数类型检查 定义函数时,不用限定其参数和返回值的类型 这种灵活性可以实现多态性,即允许函数适用于不同类型的对象,例如,my_average(a,b)函数,即可以返回两个int对象的平均值,也可以返回两个float对象的平均值 当使用不支持的类型参数调用函数时,则会产生错误。例如,my_average(a,b)函数传递的参数为str对象时,Python在运行时将抛出错误TypeError 用户调用函数时必须理解并保证传入正确类型的参数值 参数类型检查和类型注解 def area(r: float) - float: #使用形参:类型注解形参类型,使用-类型注解返回值类型 res: float = 3.14 * r * r #使用变量名:类型注解变量类型 return res r1 = 1.2 #圆的半径为1.2 print(area(r1)) #调用函数,计算并输出圆的面积 说明:类型注解仅仅是类型的声明,不是强制限制。但是一些开发工具(例如Pycharm)会根据这个指定类型做类型推断 函数的返回值 求若干数中最大值的方法一般如下: (1)将最大值的初值设为一个比较小的数,或者取第一个数为最大值的初值。 (2)利用循环,将每个数与最大值比较,若此数大于最大值,则将此数设置为最大值 def my_max(a, b, *c): #求若干数中的最大值 max_value = a #假设第一个数为最大值 if max_value b: #如果最大值小于b,则b为最大值 max_value = b for n in c: #循环迭代c中每个元素n,如果最大值小于n,则n为最大值 if max_value n: max_value = n return max_value #利用return语句返回最大值 #测试代码 print(my_max(1, 2)) #求(1, 2)中的最大值 print(my_max(1, 7, 11, 2, 5)) #求(1, 7, 11, 2, 5)中的最大值 多条return语句 def is_prime(n): if n 2: return False #如
您可能关注的文档
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch01 Python程序设计导论.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch03 程序流程控制.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch04 常用内置数据类型.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch05 组合数据类型.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch06 输入输出和文件.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch07 错误和异常处理.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch09 面向对象程序设计.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch10 模块和模块化程序设计.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch11 数据结构与算法基础.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch12 图形用户界面.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch13 图形绘制和数据可视化.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch14 数值日期和时间处理.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch15 字符串和文本处理.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch16 数据库访问.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch17 网络编程和通信.ppt
- Python程序设计与算法基础教程(第3版)(含思政案例) 课件 Ch18 并行计算:线程、进程和协程.ppt
文档评论(0)