- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第8章函数与模块;8.1函数的定义与调用
8.1.1函数的定义
Python函数的定义包括对函数名、函数的参数与函数功能的描述。一般形式为:
def函数名([形式参数表]):
函数体
例如:
defmyf(x,y):
returnx*x+y*y;Python还允许函数体为空的函数,其形式为:
def函数名():
pass
在函数定义处,表明此处要定义某某函数。在程序开发过程中,通常先开发主要的函数,次要的函数或准备扩充程序功能的函数暂写成空函数,使能在程序还未完整的情况下调试部分程序。;8.1.2函数的调用
有了函数定义,凡要完成该函数功能处,就可调用该函数来完成。函数调用的一般形式为:
函数名(实际参数表)
如果调用的是无参数函数,则调用形式为:
函数名()
其中函数名之后的一对括号不能省略。;通常将函数定义和函数调用都放在一个程序文件中,然后运行程序文件。例如,程序文件ftest.py的内容如下:
defmyf(x,y):
returnx*x+y*y
print(myf(3,4))
程序运行结果如下:
25;程序中只定义了一个函数myf(),还可以定义一个主函数,用于完成程序的总体调度功能。例如,程序文件ftest1.py的内容如下:
defmyf(x,y):
returnx*x+y*y
defmain():
a,b=eval(input())
print(myf(a,b))
main()
程序运行结果如下:
3,4↙
25;例8-1求五边形面积,从键盘输入长度k1~k7。;分析:求五边形的面积可以变成求三个三角形面积的和。由于要三次计算三角形的面积,为了程序简单起见,可将计算三角形面积定义成函数,然后在主函数中三次调用它,分别得到三个三角形的面积,然后相加得到五边形的面积。;8.2函数的参数传递
8.2.1参数传递方式
Python中的变量是一个对象的引用,变量与变量之间的赋值是对同一个对象的引用,当变量重新赋值对象时,指将这个变量指向一个新分配的对象。
在Python中,实参向形参传送数据的方式是“值传递”,即实参的值传给形参,是一种单向传递方式,不能由形参传回给实参。;参数传递过程中存在两个规则。
(1)通过引用将实参复制到局部作用域的函数中,意味着形参与传递给函数的实参无关,在函数中修改局部对象不会改变原始的实参数据。
;defchange(number,string,lst):
number=5
string=GoodBye
lst=[4,5,6]
print(Inside:,number,string,lst)
num=10
string=Hello
lst=[1,2,3]
print(Before:,num,string,lst)
change(num,string,lst)
print(After:,num,string,lst);
程序运行结果如下:
Before:10Hello[1,2,3]
Inside:5GoodBye[4,5,6]
After:10Hello[1,2,3];(2)对于可变的列表或字典类型,局部区域的值是可以改变的。
defchange(lst,dict):
lst[0]=10
dict[a]=10
print(Insidelst={},dict={}.format(lst,dict))
dict={a:1,b:2,c:3}
lst=[1,2,3,4,5]
print(Beforelst={},dict={}.format(lst,dict))
change(lst,dict)
print(Afterlst={},dict={}.format(lst,dict));程序运行结果如下:
Beforelst=[1,2,3,4,5],dict={c:3,a:1,b:2}
Insidelst=[10,2,3,4,5],dict={c:3,a:10,b:2}
Afterlst=[10,2,3,4,5],dict={c:3,a:10,b:2};8.2.2参数的类型
1.位置参数
函数调用时的参数通常采用按位置匹配的方式,即实参按顺序传递给相应位置的形参。这里实参的数目应与形参完全匹配。
defmysum(x,y):
returnx+y
mysum(54)
运行程序,提示
您可能关注的文档
- Python语言程序设计(第2版) 课件 第1章 Python语言基础.pptx
- Python语言程序设计(第2版) 课件 第2章 顺序结构.pptx
- Python语言程序设计(第2版) 课件 第3章 选择结构.pptx
- Python语言程序设计(第2版) 课件 第4章 循环结构.pptx
- Python语言程序设计(第2版) 课件 第5章 字符串与文本分析.pptx
- Python语言程序设计(第2版) 课件 第7章 字典与集合.pptx
- Python语言程序设计(第2版) 课件 第9章 面向对象程序设计.pptx
- Python语言程序设计(第2版) 课件 第10章 文件操作.pptx
- Python语言程序设计(第2版) 课件 第11章 异常处理.pptx
- Python语言程序设计(第2版) 课件 第12章 图形绘制.pptx
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)