函数及代码复用课件.ppt

上传人(卖家):晟晟文业 文档编号:5215444 上传时间:2023-02-17 格式:PPT 页数:91 大小:1.44MB
下载 相关 举报
函数及代码复用课件.ppt_第1页
第1页 / 共91页
函数及代码复用课件.ppt_第2页
第2页 / 共91页
函数及代码复用课件.ppt_第3页
第3页 / 共91页
函数及代码复用课件.ppt_第4页
第4页 / 共91页
函数及代码复用课件.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、函数的定义微实例微实例:生日歌。生日歌。过生日时要为朋友唱生日歌,歌词为:Happy birthday to you!Happy birthday to you!Happy birthday,dear Happy birthday to you!编写程序为Mike和Lily输出生日歌。最简单的实现方法是重 复使用print()语句函数的基本使函数的基本使用用函数的定义 函数是一段具有特定功能的、可重用的语句组,用函数名来表示并通过函数名进行完成功能调用。函数也可以看作是一段具有名字的子程序,可以在需要的地 方调用执行,不需要在每个执行地方重复编写这些语句。每次使用函数可以提供不同的参数作为输入

2、,以实现对不同数据的处理;函数执行后,还可以反馈相应的处理结果。函数是一种功能抽象函数的定义Python定义一个函数使用def保留字,语法形式如下:def():注释return 函数的定义1234print(Happy birthday to you!)print(Happy birthday to you!)print(Happy birthday,dear Mike!)print(Happy birthday to you!)最简单的实现方法是重复使用print()语句,如下:函数的定义微实例5.1m5.1HappyBirthday.py12345678910def happy():pri

3、nt(Happy birthday to you!)def happyB(name):happy()happy()print(Happy birthday,dear!.format(name)happy()happyB(Mike)print()happyB(Lily)Happy birthday to you!Happy birthday to you!Happy birthday,dear Mike!Happy birthday to you!Happy birthday to you!Happy birthday to you!Happy birthday,dear Lily!Happy

4、birthday to you!函数调用的过程程序调用一个函数需要执行以下四个步骤:(1)调用程序在调用处暂停执行;(2)在调用时将实参复制给函数的形参;(3)执行函数体语句;(4)函数调用结束给出返回值,程序回到调用前的暂 停处继续执行。函数调用的过程微实例5.1中happyB()的被调用过程函数调用的过函数调用的过程程函数调用的过函数调用的过程程lambda函数Python的有33个保留字,其中一个是lambda,该保留字用于定义 一种特殊的函数匿名函数,又称lambda函数。匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:=lambda:lambda函数与正常函数一样,等价于下

5、面形式:def():return lambda函数简单说,lambda函数用于定义简单的、能够在一行内表示的函数,实例如下。f=lambda x,y:x+ytype(f)f(10,12)22函数的参数传函数的参数传递递可选参数和可变数量参数在定义函数时,有些参数可以存在默认值。必须出现在函数参数列表的最右端,且任何一个默认值参数右边不能有非默认值参数。def dup(str,times=2):print(str*times)dup(knock)knockknockdup(knock,4)knockknockknockknock可选参数和可变数量参数在函数定义时,可以设计可变数量参数,通过参数前

6、增加 星号(*)实现def vfunc(a,*b):print(type(b)for n in b:a+=n return avfunc(1,2,3,4,5)15参数的位置和名称传递Python提供了按照形参名称输入实参的方式,调用如下:result=func(x2=4,y2=5,z2=6,x1=1,y1=2,z1=3)由于调用函数时指定了参数名称,所以参数之间的顺序可 以任意调整。变量的返回值 return语句用来退出函数并将程序返回到函数被调用的位 置继续执行。return语句同时可以将0个、1个或多个函数运算完的结果 返回给函数被调用处的变量,例如。def func(a,b):retur

7、n a*bs=func(knock,2)print(s)knockknock变量的返回值函数可以没有return,此时函数并不返回值,如微实例5.1的happy()函数。函数也可以用return返回多个值,多 个值以元组类型保存,例如。def func(a,b):return b,as=func(knock,2)print(s,type(s)(2,knock)函数对变量的作用一个程序中的变量包括两类:全局变量全局变量和局部变局部变量量。全局变量指在函数之外定义的变量,一般没有缩进,在 程序执行全过程有效。局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在。变量的返回值d

8、ef func(a,b):c=a*b#c是局部变量,a和b作为函数参数也是局部变量return cs=func(knock,2)print(c)Traceback(most recent call last):File,line 1,in print(c)NameError:name c is not defined这个例子说明,当函数执行完退出后,其内部变量将被 释放。如果函数内部使用了全局变量呢?变量的返回值n=1#n是全是全局变量局变量def func(a,b):n=b#这个这个n是在是在函函数内数内存存中新中新生生成的成的局局部变部变量量,不,不是是全局全局变变量量 return a*

9、bs=func(knock,2)print(s,n)#测测试一下试一下n值值是是否改变否改变knockknock 1 函数func()内部使用了变量n,并且将变量参数b赋值给变 量n,为何全局变量n值没有改变?变量的返回值如果希望让func()函数将n当作全局变量,需要在变量n使用前显式声明该变量为全局变量,代码如下。n=1#n是全局变量是全局变量def func(a,b):global nn=b#将局部变量将局部变量b赋值给全局变量赋值给全局变量n return a*bs=func(knock,2)print(s,n)#测试一下测试一下n值是否改变值是否改变knockknock 2变量的返回

10、值如果此时的全局变量不是整数n,而是列表类型ls,会怎么 样呢?理解如下代码。ls=#ls是是全局列表全局列表变变量量def func(a,b):ls.append(b)#将局将局部变部变量量b增增加加到全到全局局列表列表变变量量ls中中return a*bs=func(knock,2)print(s,ls)#测试测试一下一下ls值是否值是否改改变变knockknock 2变量的返回值如果func()函数内部存在一个真实创建过且名称为ls的列表,则func()将操作该列表而不会修改全局变量,例子如下。ls=#ls是全局列表变量是全局列表变量def func(a,b):ls=#创建了名称创建了名

11、称为为ls的局部列表的局部列表变变量量列列 ls.append(b)#将局部变量将局部变量b增加到全局列表变增加到全局列表变量量ls中中 return a*bs=func(knock,3)print(s,ls)#测试一下测试一下ls值是否改变值是否改变knockknock 变量的返回值Python函数对变量的作用遵守如下原则:对于简单数据类型变量简单数据类型变量无论是否与全局变量重名,仅在函数内部创 建和使用,函数退出后变量被释放;简单数据类型变量在用global保留字声明后,作为全局变量;对于组合数据类型的全局变量组合数据类型的全局变量,如果在函数内部没有被真实创 建的同名变量,则函数内部可

12、直接使用并修改全局变量的值;如果函数内部真实创建了组合数据类型变量,无论是否有同名 全局变量,函数仅对局部变量进行操作。案例精选例:编写函数模拟猜数游戏。系统随机产生一个数,玩家最多可以猜5次,系统会根据玩家的猜测进行提示,玩家则可以根据系统的提示对下一次的猜测进行适当调整。案例精选from random import randintdef guess(maxValue=100,maxTimes=5):value=randint(1,maxValue)#随机生成一个整数 for i in range(maxTimes):prompt=Start to GUESS:if i=0 else Gue

13、ss again:#使用异常处理结构,防止输入不是数字的情况 try:x=int(input(prompt)except:print(Must input an integer between 1 and,maxValue)else:if x=value:#猜对了 print(Congratulations!)break elif x value:print(Too big)else:print(Too little)else:#次数用完还没猜对,游戏结束,提示正确答案 print(Game over.FAIL.)print(The value is,value)小练习:使用turtle绘制阴

14、阳图形datetime库的使用库的使用datetime库概述以不同格式显示日期和时间是程序中最常用到的功能。Python提供了一个处理时间的标准函数库datetime,它提供 了一系列由简单到复杂的时间处理方法。datetime库可以从 系统中获得时间,并以用户选择的格式输出。datetime库概述datetime库以类的方式提供多种日期和时间表达方式:类类datetime.date:可以表示年、月、日等 类类datetime.time:可以表示小时、分钟、秒、毫秒等 类类datetime.datetime:日期和时间表示的类,其很多功能覆盖date和time类 类类datetime.time

15、delta:时间间隔有关的类 类类datetime.tzinfo:与时区有关的信息表示类datetime库解析使用datetime.now()获得当前日期和时间对象,使用 方法如下:from datetime import datetimedatetime.now()作用作用:返回一个datetime类型,表示当前的日期和时 间,精确到微秒。from datetime import datetime today=datetime.now()todaydatetime.datetime(2016,9,20,10,29,43,928549)datetime库解析使用datetime.utcnow(

16、)获得当前日期和时间对应的UTC(世界标准时间)时间对象,使用方法如下:datetime.utcnow()作用作用:返回datetime类型,表示当前日期和时间的UTC表示,精确到微秒。today=datetime.utcnow()todaydatetime.datetime(2016,9,20,2,35,1,427954)datetime库解析datetime.now()和 datetime.utcnow()都 返 回 一 个 datetime类型的对象,也可以直接使用datetime()构造一个 日期和时间对象,使用方法如下:datetime(year,month,day,hour=0,m

17、inute=0,second=0,microsecond=0)作用作用:返回一个datetime类型,表示指定的日期和时间,可以精确到微秒。datetime库解析调用datetime()函数直接创建一个datetime对象,表示2016 年9月16日22:33,32秒7微秒,执行结果如下:someday=datetime(2016,9,16,22,33,32,7)somedaydatetime.datetime(2016,9,16,22,33,32,7)程序已经有了一个datetime对象,进一步可以利用这个对象 的属性显示时间,为了区别datetime库名,采用上例中的 someday代替生

18、成的datetime对象datetime库解析属性描述someday.min固 定 返 回 datetime 的 最 小 时 间 对 象,datetime(1,1,1,0,0)someday.max固定返回datetime的最大时间对象,datetime(9999,12,31,23,59,59,999999)someday.year返回someday包含的年份someday.month返回someday包含的月份someday.day返回someday包含的日期someday.hour返回someday包含的小时someday.minute返回someday包含的分钟someday.secon

19、d返回someday包含的秒钟someday.microsecond返回someday包含的微秒值datetime库解析datetime对象有3个常用的时间格式化方法,如表所示 someday=datetime(2016,9,16,22,33,32,7)someday.isoformat()2016-09-16T22:33:32.000007 someday.isoweekday()5属性描述someday.isoformat()采用ISO 8601标准显示时间someday.isoweekday()根据日期计算星期后返回1-7,对应星期一到星期日someday.strftime(format

20、)根据格式化字符串format进行格式显示的方法isoformat()和isoweekday()方法的使用如下:datetime库解析strftime()方法是时间格式化最有效的方法,几乎可以以任 何通用格式输出时间 someday.strftime(%Y-%m-%d%H:%M:%S)2016-09-16 22:33:32datetime库解析格式化字符串日期/时间值范围和实例%Y年份00019999,例如:1900%m月份0112,例如:10%B月名JanuaryDecember,例如:April%b月名缩写JanDec,例如:Apr%d日期01 31,例如:25%A星期MondaySund

21、ay,例如:Wednesday%a星期缩写MonSun,例如:Wed%H小时(24h制)00 23,例如:12%I小时(12h制)01 12,例如:7%p上/下午AM,PM,例如:PM%M分钟00 59,例如:26%S秒00 59,例如:26datetime库解析strftime()格式化字符串的数字左侧会自动补零,上述格 式也可以与print()的格式化函数一起使用from datetime import datetimenow=datetime.now()now.strftime(%Y-%m-%d)2016-09-20now.strftime(%A,%d.%B%Y%I:%M%p)Tuesd

22、ay,20.September 2016 01:53PMprint(今天今天是是0:%Y年年0:%m月月0:%d日日.format(now)今天是2016年09月20日七段数码管绘七段数码管绘制制七段数码管绘制七段数码管(seven-segment indicator)由7段数码管拼 接而成,每段有亮或不亮两种情况,改进型的七段数码管还包 括一个小数点位置,如图所示。七段数码管绘制七段数码管能形成27=128种不同状态,其中部分状态能 够显示易于人们理解的数字或字母含义,因此被广泛使用。图5.5给出了十六进制中16个字符的七段数码管表示。七段数码管绘制每个0到9的数字都有相同的七段数码管样式,

23、因此,可以 通过设计函数复用数字的绘制过程。进一步,每个七段数码 管包括7个数码管样式,除了数码管位置不同外,绘制风格 一致,也可以通过函数复用单个数码段的绘制过程。七段数码管绘制实例代码7.1e7.1DrawSevenSegDisplay.py123456789101112131415#e7.1DrawSevenSegDisplay.py import turtle,datetimedef drawLine(draw):#绘制单段绘制单段数码管数码管 turtle.pendown()if draw else turtle.penup()turtle.fd(40)turtle.right(90

24、)def drawDigit(d):#根据数根据数字绘制七段数码管字绘制七段数码管drawLine(True)if d in 2,3,4,5,6,8,9 else drawLine(False)drawLine(True)if d in 0,1,3,4,5,6,7,8,9 else drawLine(False)drawLine(True)if d in 0,2,3,5,6,8,9 else drawLine(False)drawLine(True)if d in 0,2,6,8 else drawLine(False)turtle.left(90)drawLine(True)if d in

25、0,4,5,6,8,9 else drawLine(False)drawLine(True)if d in 0,2,3,5,6,7,8,9 else drawLine(False)drawLine(True)if d in 0,1,2,3,4,7,8,9 else drawLine(False)七段数码管绘制实例代码7.1e7.1DrawSevenSegDisplay.py1617181920212223242526272829turtle.left(180)turtle.penup()turtle.fd(20)def drawDate(date):#获得要获得要输出的数字输出的数字 for

26、i in date:drawDigit(eval(i)#注意注意:通过通过eval()函数将函数将数字变为整数数字变为整数def main():turtle.setup(800,350,200,200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate(datetime.datetime.now().strftime(%Y%m%d)turtle.hideturtle()main()七段数码管绘制实例代码定义了drawDigit()函数,该函数根据输入的数字d 绘制七段数码管,结合七段数码管结构,每个数码管的绘制 采用图所示顺序。七段数码

27、管绘制绘制起点在数码管中部左侧,无论每段数码管是否被绘制 出来,turtle画笔都按顺序“画完”所有7个数码管。对于给 定数字d,哪个数码段被绘制出来采用ifelse语句判断。8drawLine(True)if d in 2,3,4,5,6,8,9 else drawLine(False)七段数码管绘制七段数码管绘制七段数码管绘制七段数码管绘制七段数码管绘制实例代码7.2e7.2DrawSevenSegDisplay.py123456789101112131415161718192021222324#e7.2DrawSevenSegDisplay.py import turtle,dateti

28、medef drawGap():#绘制绘制数数码码管间隔管间隔 turtle.penup()turtle.fd(5)def drawLine(draw):#绘制绘制单段数单段数码码管管 drawGap()turtle.pendown()if draw else turtle.penup()turtle.fd(40)drawGap()turtle.right(90)def drawDigit(d):#根据根据数字数字绘绘制七制七段段数码管数码管drawLine(True)if d in 2,3,4,5,6,8,9 else drawLine(False)drawLine(True)if d in

29、 0,1,3,4,5,6,7,8,9 else drawLine(False)drawLine(True)if d in 0,2,3,5,6,8,9 else drawLine(False)drawLine(True)if d in 0,2,6,8 else drawLine(False)turtle.left(90)drawLine(True)if d in 0,4,5,6,8,9 else drawLine(False)drawLine(True)if d in 0,2,3,5,6,7,8,9 else drawLine(False)drawLine(True)if d in 0,1,2,

30、3,4,7,8,9 else drawLine(False)turtle.left(180)turtle.penup()turtle.fd(20)七段数码管绘制实例代码7.2e7.2DrawSevenSegDisplay.py25262728293031323334353637383940414243444546def drawDate(date):turtle.pencolor(red)for i in date:if i=-:turtle.write(年年,font=(Arial,18,normal)turtle.pencolor(green)turtle.fd(40)elif i=:tu

31、rtle.write(月月,font=(Arial,18,normal)turtle.pencolor(blue)turtle.fd(40)elif i=+:turtle.write(日日,font=(Arial,18,normal)else:drawDigit(eval(i)def main():turtle.setup(800,350,200,200)turtle.penup()turtle.fd(-350)turtle.pensize(5)drawDate(datetime.datetime.now().strftime(%Y-%m=%d+)turtle.hideturtle()main

32、()函数的递函数的递归归递归的定义函数作为一种代码封装,可以被其他程序调用,当然,也可以被函数内部代码调用。这种函数定义中调用函数自 身的方式称为递归。就像一个人站在装满镜子的房间中,看到的影像就是递归的结果。递归在数学和计算机应用上 非常强大,能够非常简洁的解决重要问题。递归的定义数学上有个经典的递归例子叫阶乘,阶乘通常定义为:n!n(n 1)(n 2).(1)这个关系给出了另一种方式表达阶乘的方式:n 0n!1n(n 1)!otherwise递归的使用方法微实例微实例5.21:阶乘的计算。阶乘的计算。根据用户输入的整数n,计算并输出n的阶乘值。微实微实例例5.21m5.1CalFactor

33、ial.py1234567def fact(n):if n=0:return 1 else:return n*fact(n-1)num=eval(input(请输请输入入一个一个整整数数:)print(fact(abs(int(num)递归的使用方法递归的使用方法递归的使用方法微实例微实例5.32:字符串反转。字符串反转。对于用户输入的字符串s,输出反转后的字符串。解决这个问题的基本思想是把字符串看作一个递归对象。12def reverse(s):return reverse(s1:)+s0递归的使用方法观察这个函数的工作过程。s0是首字符,s1:是 剩余字符串,将它们反向连接,可以得到反转字

34、符串。执 行这个程序,结果如下def reverse(s):return reverse(s1:)+s0 reverse(ABC).RecursionError:maximum recursion depth exceeded科赫曲线绘科赫曲线绘制制科赫曲线绘制自然界有很多图形很规则,符合一定的数学规律,例如,蜜蜂蜂窝是天然的等边六角形等。科赫(Koch)曲线在众多经 典数学曲线中非常著名,由瑞典数学家冯科赫(HVKoch)于1904年提出,由于其形状类似雪花,也被称为雪花曲线。科赫曲线绘制科赫曲线绘制科赫曲线绘制科赫曲线属于分形几 何分支,它的绘制过程 体现了递归思想,绘制 过程代码。实例代

35、码8.1e8.1DrawKoch.py12345678910111213141516171819#e8.1DrawKoch.py import turtledef koch(size,n):if n=0:turtle.fd(size)else:for angle in 0,60,-120,60:turtle.left(angle)koch(size/3,n-1)def main():turtle.setup(800,400)turtle.speed(0)#控控制绘制速度制绘制速度turtle.penup()turtle.goto(-300,-50)turtle.pendown()turtle.

36、pensize(2)koch(600,3)#0阶科阶科赫曲线赫曲线长长度度,阶数阶数 turtle.hideturtle()main()科赫曲线绘制实例代码8.2e8.2DrawKoch.py123456789101112131415161718192021222324#e8.2DrawKoch.pyimport turtledef koch(size,n):if n=0:turtle.fd(size)else:for angle in 0,60,-120,60:turtle.left(angle)koch(size/3,n-1)def main():turtle.setup(600,600)

37、turtle.speed(0)turtle.penup()turtle.goto(-200,100)turtle.pendown()turtle.pensize(2)level=5 koch(400,level)turtle.right(120)koch(400,level)turtle.right(120)koch(400,level)turtle.hideturtle()main()科赫曲线的雪花效果小练习:绘制谢宾斯基三角形汉诺塔游戏汉诺塔游戏小练习:汉诺塔游戏小练习:汉诺塔游戏def def honiMove(self,k,x,y,z):#turtle.Screen().clear()

38、if if k1:self.honiMove(k-1,x,z,y)z.push(x.pop()self.honiMove(k-1,y,x,z)elseelse:z.push(x.pop()Python内置函数内置函数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()

39、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

40、()hex()reversed()classmethod()iter()import()常用内置函数内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数 dir(_builtins_)Python标准库input()print()str()range()函数函数功能简要说明功能简要说明abs(x)返回数字x的绝对值或复数x的模all(iterable)如果对于可迭代对象中所有元素x都等价于True,也就是对于所有元素x都有bool(x)等于True,则返回True。对于空的可迭代对象也返回Trueany(iterable)只要可迭代对象iterable中存在元素x使得bool(

41、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)返回Unicod

42、e编码为x的字符常用内置函数函数函数功能简要说明功能简要说明delattr(obj,name)删除属性,等价于del obj.namedir(obj)返回指定对象或模块obj的成员列表,如果不带参数则返回当前作用域内所有标识符divmod(x,y)返回包含整商和余数的元组(x-x%y)/y,x%y)enumerate(iterable,start)返回包含元素形式为(0,iterable0),(1,iterable1),(2,iterable2),.的迭代器对象eval(s,globals,locals)计算并返回字符串s中表达式的值exec(x)执行代码或代码对象xexit()退出当前解释器

43、环境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()返回包含当前作用域内全局变量

44、及其值的字典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是否属于指定类型(如果

45、有多个类型的话需要放到元组中)的实例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

46、)返回可迭代对象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,flus

47、h=False)基本输出函数quit()退出当前解释器环境range(start,end,step)返回range对象,其中包含左闭右开区间start,end)内以step为步长的整数reduce(func,sequence,initial)将双参数的函数func以迭代的方式从左到右依次应用至序列seq中每个元素,最终返回单个值作为结果。在Python 2.x中该函数为内置函数,在Python 3.x中需要从functools中导入reduce函数再使用repr(obj)返回对象obj的规范化字符串表示形式,对于大多数对象有eval(repr(obj)=objreversed(seq)返回se

48、q(可以是列表、元组、字符串、range以及其他可迭代对象)中所有元素逆序后的迭代器对象续表4常用内置函数函数函数功能简要说明功能简要说明round(x,小数位数)对x进行四舍五入,若不指定小数位数,则返回整数sorted(iterable,key=None,reverse=False)返回排序后的列表,其中iterable表示要排序的序列或迭代对象,key用来指定排序规则或依据,reverse用来指定升序或降序。该函数不改变iterable内任何元素的顺序str(obj)把对象obj直接转换为字符串sum(x,start=0)返回序列x中所有元素之和,要求序列x中所有元素必须为数字,允许指定

49、起始值start,返回start+sum(x)type(obj)返回对象obj的类型zip(seq1,seq2.)返回zip对象,其中元素为(seq1i,seq2i,.)形式的元组,最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个续表5常用内置函数常用内置函数dir()函数可以查看指定模块中包含的所有成员或者指定对象类型所支持的操作。help()函数则返回指定模块或函数的说明文档。import timedir(time)help(time)常用内置函数ord()和chr()是一对功能相反的函数,ord()用来返回单个字符的序数或Unicode码,chr()用来返回某序数对应的

50、字符str()则直接将其任意类型参数转换为字符串。ord(a)97 chr(65)A chr(ord(A)+1)B str(1)1 str(1234)1234 str(1,2,3)1,2,3 str(1,2,3)(1,2,3)str(1,2,3)set(1,2,3)常用内置函数max()、min()、sum()这三个内置函数分别用于计算列表、元组或其他可迭代对象中所有元素最大值、最小值以及所有元素之和,sum()要求元素支持加法运算,max()和min()则要求序列或可迭代对象中的元素之间可比较大小。import random a=random.randint(1,100)for i in r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(函数及代码复用课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|