Python编程基础-函数_第1页
Python编程基础-函数_第2页
Python编程基础-函数_第3页
Python编程基础-函数_第4页
Python编程基础-函数_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程基础06-2月-241自定义函数目录函数2

匿名函数3存储与导入函数模块4函数函数是Python为了代码效率的最大化,减少冗余而提供的最基本的程序结构。函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。1自定义函数目录函数2

匿名函数3存储与导入函数模块4自定义函数自定义函数创建使用关键字def定义函数,其后紧接函数名,括号内包含了将要在函数体中使用的形式参数(简称:形参,调用函数时的为实参),以冒号结束。然后另起一行编写函数体,函数体的缩进为4个空格或者一个制表符。

定义函数的格式如下:

def函数名():

代码

demo:#定义一个函数,能够完成打印信息的功能

defprintInfo():print('------------------------------------')print('生命苦短,我用Python')print('------------------------------------')自定义函数Python中的函数参数主要有四种:位置参数,关键字参数,默认参数,可变参数。位置参数。调用函数时根据函数定义的参数位置来传递参数。关键字参数。通过“键-值”形式加以指定。默认参数。用于定义函数,为参数提供默认值,调用函数时可传可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。可变参数。主要包括任意数量的可变位置参数和任意数量的关键字可变参数,*args参数传入时存储在元组中,**kwargs参数传入时存储在字典内。函数参数设置自定义函数自定义函数调用Python中使用函数名+()的格式对函数进行调用,按照传入参数的方式的不同,总共有三种函数调用方式:位置参数调用、关键字参数调用、可变参数调用。demo:#定义完函数后,函数是不会自动执行的,需要调用它才可以

printInfo()自定义函数嵌套函数Python中允许在函数中定义另外一个函数,这就是通常所说的函数嵌套。定义在其他函数内部的函数被称为内建函数,而包含内建函数的函数称为外部函数。#函数的嵌套调用

deftestB():print('----testBstart----')print('这里是testB函数执行的代码...(省略)...')print('----testBend----')deftestA():print('----testAstart----')testB()print('----testAend----')如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次函数A执行的位置。自定义函数1.局部变量在定义函数时,往往需要在函数内部对变量进行定义和赋值,在函数体内定义的变量为局部变量。2.全局变量与局部变量相对应,定义在函数体外面的变量为全局变量,全局变量可以在函数体内被调用。需要注意的是,全局变量不能在函数体内直接被赋值,否则会报错。若同时存在全局变量和局部变量,函数体会使用局部变量对全局变量进行覆盖在函数内部可以内建函数,函数体内的局部变量仅在该层函数体内有效。变量转换为全局变量后,可在全局使用,但是需要注意全局变量值的改变。局部变量与全局变量区分1自定义函数目录函数2

匿名函数3存储与导入函数模块4匿名函数匿名函数创建Python允许使用lambda语句创建匿名函数,也就是说函数没有具体的名称。lambda语句中,冒号前是函数参数,若有多个函数使用逗号分隔,冒号右边是返回值。如此便构建了一个函数对象,def语句也是创建一个函数对象,只是lambda创建的函数对象没有名字。lambda函数的语法只包含一个语句,如下:

lambda[arg1[,arg2,.....argn]]:expression如下实例:

sum=lambdaarg1,arg2:arg1+arg2#调用sum函数

print("Valueoftotal:",sum(10,20))print("Valueoftotal:",sum(20,20))Lambda函数能接收任何数量的参数但只能返回一个表达式,匿名函数不能直接调用print,因为lambda需要一个表达式。匿名函数其他常用高阶函数函数名称函数说明map它的基本样式为map(func,list)。其中func是一个函数,list是一个序列对象。在执行的时候,序列对象中的每个元素,按照从左到右的顺序通过把函数func依次作用在list的每个元素上,得到一个新的list并返回。fibfib函数是一个递归函数,最典型的递归例子之一就是斐波那契数列。根据斐波那契数列的定义,可以直接写成斐波那契递归函数。filterfilter函数接收一个函数func和一个list,这个函数func的作用是对每个元素进行判断,返回True或False来过滤掉不符合条件的元素,由符合条件元素组成的新list。1自定义函数目录函数2

匿名函数3存储与导入函数模块4存储与导入函数模块存储与导入整个模块如果要导入模块的函数,需要先创建一个模块。接下来,将该代码块在所在目录中保存为steak.py的文件。导入这个模块,并且调用里面的make_steak函数两次。demo:defmake_steak(d,*other):'''做一份牛排'''print('Makeasteakwelldonein%d'%d+'withtheother:')foroinother:print('-'+o)importsteaksteak.make_steak(9,'salad')Makeasteakwelldonein9withtheother:-saladsteak.make_steak(8,'redwine','salad','coffee')Makeasteakwelldonein8withtheother:-redwine-salad-coffee存储与导入函数模块导入函数1.导入指定函数可以导入模块中的指定函数,也可以是多个指定函数。若使用这种方法,在调用函数时就不需要加模块的前缀。直接调用它的函数名称即可,但当模块中函数较多时这种方法比较繁琐。2.导入所有函数如果模块中函数较多时可以用导入所有函数的方法,使用星号(*)运算符可让Python导入模块中的所有函数。import语句中星号的作用是将s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论