Python语言程序设计(第2版) 课件 第8章 函数与模块.pptx

Python语言程序设计(第2版) 课件 第8章 函数与模块.pptx

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

运行程序,提示

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档