2022年python简明教程 .pdf

上传人:C****o 文档编号:39895187 上传时间:2022-09-08 格式:PDF 页数:16 大小:188.33KB
返回 下载 相关 举报
2022年python简明教程 .pdf_第1页
第1页 / 共16页
2022年python简明教程 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年python简明教程 .pdf》由会员分享,可在线阅读,更多相关《2022年python简明教程 .pdf(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、简明 Python 教程第 7 章 函数上一页简介下一页第 7 章 函数目录表简介定义函数函数形参使用函数形参局部变量使用局部变量使用 global语句默认参数值使用默认参数值关键参数使用关键参数return语句使用字面意义上的语句DocStrings使用 DocStrings概括简介函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为调用 函数。我们已经使用了许多内建的函数,比如len和range。函数通过def关键字 定义。def 关键字后跟一个函数的标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行

2、以冒号结尾。接下来是一块语句,它们是函数体。下面这个例子将说明这事实上是十分简单的:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 16 页 -定义函数例 7.1 定义函数#!/usr/bin/python#Filename:function1.pydef sayHello():print Hello World!#block belonging to the functionsayHello()#call the function(源文件:code/function1.py)输出$python function1.py Hello World!它如何工作我们使用上面解释的语法定

3、义了一个称为sayHello的函数。这个函数不使用任何参数,因此在圆括号中没有声明任何变量。参数对于函数而言,只是给函数的输入,以便于我们可以传递不同的值给函数,然后得到相应的结果。上一页上一级下一页概括首页函数形参名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 16 页 -简明 Python 教程第 7 章 函数上一页函数形参下一页函数形参函数取得的参数是你提供给函数的值,这样函数就可以利用这些值做 一些事情。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式

4、提供值。注意我们使用过的术语函数中的参数名称为形参 而你提供给函数调用的值称为实参。使用函数形参例 7.2 使用函数形参#!/usr/bin/python#Filename:func_param.pydef printMax(a,b):if a b:print a,is maximum else:print b,is maximumprintMax(3,4)#directly give literal values名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 16 页 -x=5y=7printMax(x,y)#give variables as arguments(源文件:co

5、de/func_param.py)输出$python func_param.py 4 is maximum 7 is maximum 它如何工作这里,我们定义了一个称为printMax的函数,这个函数需要两个形参,叫做a和b。我们使用if.else语句找出两者之中较大的一个数,并且打印较大的那个数。在第一个printMax使用中,我们直接把数,即实参,提供给函数。在第二个使用中,我们使用变量调用函数。printMax(x,y)使实参x的值赋给形参a,实参y的值赋给形参b。在两次调用中,printMax 函数的工作完全相同。上一页上一级下一页简介首页局部变量名师资料总结-精品资料欢迎下载-名师精

6、心整理-第 4 页,共 16 页 -简明 Python 教程第 7 章 函数上一页局部变量下一页局部变量当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部 的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。使用局部变量例 7.3 使用局部变量#!/usr/bin/python#Filename:func_local.pydef func(x):print x is,x x=2 print Changed local x to,xx=50func(x)print x is still,x(源文件:co

7、de/func_local.py)输出名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 16 页 -$python func_local.py x is 50 Changed local x to 2 x is still 50 它如何工作在函数中,我们第一次使用x的值的时候,Python 使用函数声明的形参的值。接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。使用 global语句如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python 这

8、个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。例 7.4 使用 global语句名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 16 页 -#!/usr/bin/python#Filename:func_global.pydef func():global x print

9、x is,x x=2 print Changed local x to,xx=50func()print Value of x is,x(源文件:code/func_global.py)输出$python func_global.py x is 50 Changed global x to 2 Value of x is 2 它如何工作名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 16 页 -global语句被用来声明x是全局的因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。你可以使用同一个global语句指定多个全局变量。例如global

10、x,y,z。上一页上一级下一页函数形参首页默认参数值简明 Python 教程第 7 章 函数上一页默认参数值下一页默认参数值对于一些函数,你可能希望它的一些参数是可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。注意,默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的这会在后面的章节中做详细解释。从现在开始,请记住这一点。使用默认参数值例 7.5 使用默认参数值#!/usr/bin/python#Filename:func_default.pydef

11、say(message,times=1):名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 16 页 -print message*timessay(Hello)say(World,5)(源文件:code/func_default.py)输出$python func_default.py Hello WorldWorldWorldWorldWorld 它如何工作名为say的函数用来打印一个字符串任意所需的次数。如果我们不提供一个值,那么默认地,字符串将只被打印一遍。我们通过给形参times指定默认参数值1来实现这一功能。在第一次使用say的时候,我们只提供一个字符串,函数只打印一次

12、字符串。在第二次使用say的时候,我们提供了字符串和参数5,表明我们想要说 这个字符串消息 5 遍。重要只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这 是因 为赋 给形参 的值 是 根 据位 置 而赋 值的。例如,def 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 16 页 -func(a,b=5)是有效的,但是def func(a=5,b)是 无效 的。上一页上一级下一页局部变量首页关键参数简明 Python 教程第 7 章 函数上一页关键参数下一页关键参数如果你的某个函数有许多参数,而你只想指定其

13、中的一部分,那么你可以通过命名来为这些参数赋值这被称作关键参数我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。这样做有两个优势一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。使用关键参数例 7.6 使用关键参数#!/usr/bin/python#Filename:func_key.pydef func(a,b=5,c=10):print a is,a,and b is,b,and c is,cfunc(3,7)名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 16 页 -func

14、(25,c=24)func(c=50,a=100)(源文件:code/func_key.py)输出$python func_key.py a is 3 and b is 7 and c is 10 a is 25 and b is 5 and c is 24 a is 100 and b is 5 and c is 50 它如何工作名为func的函数有一个没有默认值的参数,和两个有默认值的参数。在第一次使用函数的时候,func(3,7),参数a得到值3,参数b得到值7,而参数c使用默认值10。在第二次使用函数func(25,c=24)的时候,根据实参的位置变量a得到值25。根据命名,即关键参数

15、,参数c得到值24。变量b根据默认值,为5。在第三次使用func(c=50,a=100)的时候,我们使用关键参数来完全指定参数值。注意,尽管函数定义中,a在c之前定义,我们仍然可以在a之前指定参数c的值。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 16 页 -上一页上一级下一页默认参数值首页return语句简明 Python 教程第 7 章 函数上一页return语句下一页return语句return语句用来从一个函数返回 即跳出函数。我们也可选从函数返回一个值。使用字面意义上的语句例 7.7 使用字面意义上的语句#!/usr/bin/python#Filename:fun

16、c_return.pydef maximum(x,y):if x y:return x else:return yprint maximum(2,3)(源文件:code/func_return.py)输出名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 16 页 -$python func_return.py 3 它如何工作maximum函数返回参数中的最大值,在这里是提供给函数的数。它使用简单的if.else语句来找出较大的值,然后返回 那个值。注意,没有返回值的return语句等价于return None。None是 Python 中表示没有任何东西的特殊类型。例如,如果一个

17、变量的值为None,可以表示它没有值。除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句。通过运行print someFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:def someFunction():passpass语句在 Python 中表示一个空的语句块。上一页上一级下一页关键参数首页DocStrings 简明 Python 教程第 7 章 函数上一页DocStrings 下一页名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 16 页 -DocStrings Python有 一 个 很

18、 奇 妙 的 特 性,称 为文 档 字 符 串,它 通 常 被 简 称 为docstrings。DocStrings 是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!使用 DocStrings 例 7.8 使用 DocStrings#!/usr/bin/python#Filename:func_doc.pydef printMax(x,y):Prints the maximum of two numbers.The two values must be integers.x=int(x)#convert to integ

19、ers,if possible y=int(y)if x y:print x,is maximum else:名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 16 页 -print y,is maximumprintMax(3,5)print printMax._doc_(源文件:code/func_doc.py)输出$python func_doc.py 5 is maximum Prints the maximum of two numbers.The two values must be integers.它如何工作在函数的第一个逻辑行的字符串是这个函数的文档字符串。注意

20、,DocStrings也适用于 模块和类,我们会在后面相应的章节学习它们。文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。强烈建议你在你的函数中使用文档字符串时遵循这个惯例。你可以使用_doc_(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。请记住Python 把 每一样东西都作为对象,包括这个函数。我们会在后面的类一章学习更多关于对象的知识。如果你已经在Python 中使用过help(),那么你已经看到过DocStings 的使用了!它所做的只是抓取函数的_doc_属性,然后整洁地展示给你。你 可 以 对

21、 上 面 这 个 函 数 尝 试 一 下 只 是 在 你 的 程 序 中 包 括help(printMax)。记住按 q 退出help。名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 16 页 -自动化工具也可以以同样的方式从你的程序中提取文档。因此,我 强烈建议你对你所写的任何正式函数编写文档字符串。随你的Python 发行版附带的 pydoc命令,与help()类似地使用 DocStrings。上一页上一级下一页return语句首页概括简明 Python 教程第 7 章 函数上一页简介下一页概括我们已经学习了函数的很多方面的知识,不过注意还有一些方面我们没有涉及。然而,我们已经覆盖了大多数在日常使用中,你可能用到的Python 函数知识。接下来,我们将学习如何创建和使用Python 模块。上一页上一级下一页DocStrings 首页第 8 章 模块名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 16 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com