您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > python函数和函数传参ppt(PPT41页)
李凯函数的定义微实例:生日歌。过生日时要为朋友唱生日歌,歌词为:Happybirthdaytoyou!Happybirthdaytoyou!Happybirthday,dear名字Happybirthdaytoyou!编写程序为Mike和Lily输出生日歌。最简单的实现方法是重复使用print()语句函数的基本使用函数的定义•函数是一段具有特定功能的、可重用的语句组,用函数名来表示并通过函数名进行完成功能调用。•函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执行,不需要在每个执行地方重复编写这些语句。•每次使用函数可以提供不同的参数作为输入,以实现对不同数据的处理;函数执行后,还可以反馈相应的处理结果。函数是一种功能抽象函数的定义Python定义一个函数使用def保留字,语法形式如下:def函数名(参数列表):'''注释'''函数体return返回值列表函数的定义1234print(Happybirthdaytoyou!)print(Happybirthdaytoyou!)print(Happybirthday,dearMike!)print(Happybirthdaytoyou!)最简单的实现方法是重复使用print()语句,如下:函数的定义微实例5.1m5.1HappyBirthday.py12345678910defhappy():print(Happybirthdaytoyou!)defhappyB(name):happy()happy()print(Happybirthday,dear{}!.format(name))happy()happyB(Mike)print()happyB(Lily)Happybirthdaytoyou!Happybirthdaytoyou!Happybirthday,dearMike!Happybirthdaytoyou!Happybirthdaytoyou!Happybirthdaytoyou!Happybirthday,dearLily!Happybirthdaytoyou!函数调用的过程程序调用一个函数需要执行以下四个步骤:(1)调用程序在调用处暂停执行;(2)在调用时将实参复制给函数的形参;(3)执行函数体语句;(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。函数调用的过程微实例5.1中happyB()的被调用过程函数调用的过程函数调用的过程lambda函数Python的有33个保留字,其中一个是lambda,该保留字用于定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:函数名=lambda参数列表:表达式lambda函数与正常函数一样,等价于下面形式:def函数名(参数列表):return表达式lambda函数简单说,lambda函数用于定义简单的、能够在一行内表示的函数,实例如下。f=lambdax,y:x+ytype(f)class'function'f(10,12)22函数的参数传递可选参数和可变数量参数在定义函数时,有些参数可以存在默认值。默认值参数必须出现在函数参数列表的最右端,且任何一个默认值参数右边不能有非默认值参数。defdup(str,times=2):print(str*times)dup(knock~)knock~knock~dup(knock~,4)knock~knock~knock~knock~可选参数和可变数量参数在函数定义时,可以设计可变数量参数,通过参数前增加星号(*)实现defvfunc(a,*b):print(type(b))forninb:a+=nreturnavfunc(1,2,3,4,5)class'tuple'15参数的位置和名称传递Python提供了按照形参名称输入实参的方式,调用如下:result=func(x2=4,y2=5,z2=6,x1=1,y1=2,z1=3)由于调用函数时指定了参数名称,所以参数之间的顺序可以任意调整。变量的返回值•return语句用来退出函数并将程序返回到函数被调用的位置继续执行。•return语句同时可以将0个、1个或多个函数运算完的结果返回给函数被调用处的变量,例如。deffunc(a,b):returna*bs=func(knock~,2)print(s)knock~knock~变量的返回值函数可以没有return,此时函数并不返回值,如微实例5.1的happy()函数。函数也可以用return返回多个值,多个值以元组类型保存,例如。deffunc(a,b):returnb,as=func(knock~,2)print(s,type(s))(2,'knock~')class'tuple'Python内置函数(BIF)Python解释器提供了68个内置函数,其中大部分会经常用到abs()id()round()compile()locals()all()input()set()dir()map()any()int()sorted()exec()memoryview()asci()len()str()enumerate()next()bin()list()tuple()filter()object()bool()max()type()format()property()chr()min()zip()frozenset()repr()complex()oct()getattr()setattr()dict()open()globals()slice()divmod()ord()bytes()hasattr()staticmethod()eval()pow()delattr()help()sum()float()print()bytearray()isinstance()super()hash()range()callable()issubclass()vars()hex()reversed()classmethod()iter()import()常用内置函数内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数dir(__builtins__)Python标准库turtleforward()pencolor()……input()print()str()range()……time……………………………………函数功能简要说明abs(x)返回数字x的绝对值或复数x的模all(iterable)如果对于可迭代对象中所有元素x都等价于True,也就是对于所有元素x都有bool(x)等于True,则返回True。对于空的可迭代对象也返回Trueany(iterable)只要可迭代对象iterable中存在元素x使得bool(x)为True,则返回True。对于空的可迭代对象,返回Falseascii(obj)把对象转换为ASCII码表示形式,必要的时候使用转义字符来表示特定的字符bin(x)把整数x转换为二进制串表示形式bool(x)返回与x等价的布尔值True或Falsebytes(x)生成字节串,或把指定对象x转换为字节串表示形式callable(obj)测试对象obj是否可调用。类和函数是可调用的,包含__call__()方法的类的对象也是可调用的compile()用于把Python代码编译成可被exec()或eval()函数执行的代码对象complex(real,[imag])返回复数chr(x)返回Unicode编码为x的字符常用内置函数函数功能简要说明delattr(obj,name)删除属性,等价于delobj.namedir(obj)返回指定对象或模块obj的成员列表,如果不带参数则返回当前作用域内所有标识符divmod(x,y)返回包含整商和余数的元组((x-x%y)/y,x%y)enumerate(iterable[,start])返回包含元素形式为(0,iterable[0]),(1,iterable[1]),(2,iterable[2]),...的迭代器对象eval(s[,globals[,locals]])计算并返回字符串s中表达式的值exec(x)执行代码或代码对象xexit()退出当前解释器环境filter(func,seq)返回filter对象,其中包含序列seq中使得单参数函数func返回值为True的那些元素,如果函数func为None则返回包含seq中等价于True的元素的filter对象float(x)把整数或字符串x转换为浮点数并返回frozenset([x]))创建不可变的字典对象getattr(obj,name[,default])获取对象中指定属性的值,等价于obj.name,如果不存在指定属性则返回default的值,如果要访问的属性不存在并且没有指定default则抛出异常续表1常用内置函数函数功能简要说明globals()返回包含当前作用域内全局变量及其值的字典hasattr(obj,name)测试对象obj是否具有名为name的成员hash(x)返回对象x的哈希值,如果x不可哈希则抛出异常help(obj)返回对象obj的帮助信息hex(x)把整数x转换为十六进制串id(obj)返回对象obj的标识(内存地址)input([提示])显示提示,接收键盘输入的内容,返回字符串int(x[,d])返回实数(float)、分数(Fraction)或高精度实数(Decimal)x的整数部分,或把d进制的字符串x转换为十进制并返回,d默认为十进制isinstance(obj,class-or-type-or-tuple)测试对象obj是否属于指定类型(如果有多个类型的话需要放到元组中)的实例iter(...)返回指定对象的可迭代对象len(obj)返回对象obj包含的元素个数,适用于列表、元组、集合、字典、字符串以及range对象和其他可迭代对象续表2常用内置函数函数功能简要说明list([x])、set([x])、tuple([x])、dict([x])把对象x转换为列表、集合、元组或字典并返回,或生成空列表、空集合、空元组、空字典locals()返回包含当前作用域内局部变量及其值的字典map(func,*iterables)返回包含若干函数值的map对象,函数func的参数分别来自于iterables指定的每个迭代对象,max(x)、min(x)返回可迭代对象x中的最大值、最小值,要求x中的所有元素之间可比较大小,允许指定排序规则和x为空时返回的默认值next(iterator[,default])返回可迭代对象x中的下一个元素,允许指定迭代结束之后继续迭代时返回的默认值oct(x)把整数x转换为八进制串open(name[,mode])以指定模式mode打开文件name并返回文件对象ord(x)返回1个字符x的Unicode编码pow(x,y,z=None)返回x的y次方,等价于x**y或(x**y)%z续表3常用内置函数函数功能简要说明print(value,...,sep='',end='\n',file=sys.stdout,flush=False)基本输出函数quit()退出当前解释器环境range([start,]end[,step])返回range对象,其中包含左闭右开区间[start,end)内以step为步长的整数reduce(func,sequence[,initial])将双参数的函数func以迭代的方式从左到右依次应用至序列seq中每个元素,最终返回单个值作为结果。在Python2.x中该函数为内置函数,在Python3.x中需要从functools中导入reduce函数再使用repr(obj)返回对象obj的规范化字符串表示形式,对于大多数对象有eval(repr(obj
本文标题:python函数和函数传参ppt(PPT41页)
链接地址:https://www.777doc.com/doc-25973 .html