书签 分享 收藏 举报 版权申诉 / 47
上传文档赚钱

类型等考二级python-第8章-Python标准库概览课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4644801
  • 上传时间:2022-12-28
  • 格式:PPT
  • 页数:47
  • 大小:4.74MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《等考二级python-第8章-Python标准库概览课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    二级 python 标准 概览 课件
    资源描述:

    1、全国计算机等级考试二级教程全国计算机等级考试二级教程Python语言语言程序设计程序设计(2018年版)【第第8章章】Python标准库概览标准库概览n 标准库:turtle库(必选)n 标准库:random库(必选)、time库(可选)考纲考点知识导图turtle库概述n turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制基本的图形绘制。n turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。对于小海龟来说,有“前进”、“后退”、“旋转”等爬行行为,对坐标系的探索也通过“前进方向前进方向”、“后退方向后退方向”、“左侧左侧方向方

    2、向”和和“右侧方向右侧方向”等小海龟自身角度方位来完成。turtle库概述n 使用import保留字对turtle库的引用有如下三种方式n 第一种,import turtle,则对turtle库中函数调用采用turtle.()形式。turtle库概述12importturtleturtle.circle(200)n 第二种,from turtle import*,则对turtle库中函数调用直接采用()形式,不在使用turtle.作为前导。turtle库概述12fromturtleimport*circle(200)n 第三种,import turtle as t,则对turtle库中函数调用

    3、采用更简洁的t.()形式,保留字as的作用是将turtle库给予别名t。turtle库概述12importturtleastt.circle(200)n turtle库包含100多个功能函数,主要包括窗体函窗体函数、画笔状态函数、画笔运动函数数、画笔状态函数、画笔运动函数等三类。turtle库与基本绘图n turtle.setup(width,height,startx,starty)窗体函数作用作用:设置主窗体的大小和位置参数参数:width:窗口宽度,如果值是整数,表示的像素值;如果值是小数,表示窗口宽度与屏幕的比例;height:窗口高度,如果值是整数,表示的像素值;如果值是小数,表示窗

    4、口高度与屏幕的比例;startx:窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央;starty:窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央;画笔状态函数函数描述pendown()放下画笔penup()提起画笔,与pendown()配对使用pensize(width)设置画笔线条的粗细为指定大小color()设置画笔的颜色begin_fill()填充图形前,调用该方法end_fill()填充图形结束filling()返回填充的状态,True为填充,False为未填充clear()清空当前窗口,但不改变当前画笔的位置reset()清空当前窗口,并重置

    5、位置等状态为默认值screensize()设置画布的长和宽hideturtle()隐藏画笔的turtle形状showturtle()显示画笔的turtle形状isvisible()如果turtle可见,则返回Truen turtle中的画笔(即小海龟)可以通过一组函数来控制,其中turtle.penup()和turtle.pendown()是一组,它们分别表示画笔的和落下,函数定义如下:画笔状态函数turtle.penup()别名别名turtle.pu(),turtle.up()作用作用:抬起画笔,之后,移动画笔不绘制形状参数参数:无turtle.pendown()别名别名turtle.pd(

    6、),turtle.down()作用作用:落下画笔,之后,移动画笔将绘制形状参数参数:无n turtle.pensize()函数用来设置画笔尺寸画笔状态函数turtle.pensize(width)别名别名turtle.width()作用作用:设置画笔宽度,当无参数输入时返回当前画笔宽度参数参数:width:设置的画笔线条宽度,如果为None或者为空,函数则返回当前画笔宽度。n turtle.pencolor()函数给画笔设置颜色turtle.pencolor(colorstring)或者或者turtle.pencolor(r,g,b)作用作用:设置画笔颜色,当无参数输入时返回当前画笔颜色参数参

    7、数:colorstring:表示颜色的字符串,例如:purple、red、blue等(r,g,b):颜色对应RGB的01数值,例如:1,0.65,0画笔运动函数函数描述forward()沿着当前方向前进指定距离backward()沿着当前相反方向后退指定距离right(angle)向右旋转angle角度left(angle)向左旋转angle角度goto(x,y)移动到绝对坐标(x,y)处setx()将当前x轴移动到指定位置sety()将当前y轴移动到指定位置setheading(angle)设置当前朝向为angle角度home()设置当前画笔位置为原点,朝向东。circle(radius,e

    8、)绘制一个指定半径r和角度e的圆或弧形dot(r,color)绘制一个指定半径r和颜色color的圆点undo()撤销画笔最后一步动作speed()设置画笔的绘制速度,参数为0-10之间n turtle.fd()函数最常用,它控制画笔向当前行进方向前进一个距离画笔状态函数n turtle.seth()函数用来改变画笔绘制方向turtle.fd(distance)别名别名turtle.forward(distance)作用作用:向小海龟当前行进方向前进distance距离参数参数:distance:行进距离的像素值,当值为负数时,表示向相反方向前进。turtle.seth(to_angle)别名

    9、别名turtle.setheading(to_angle)作用作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值。参数参数:to_angle:角度的整数值。n turtle.circle()函数用来绘制一个弧形画笔状态函数turtle.circle(radius,extent=None)作用作用:根据半径radius绘制extent角度的弧形。参数参数:radius:弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧;extent:绘制弧形的角度,当不给该参数或参数为None时,绘制整个圆形。random库概述n 使用random库主要目的是生成随机数

    10、生成随机数n 这个库提供了不同类型的随机数函数,其中最基本的函数是random.random(),它生成一个0.0,1.0)之间的随机小数,所有其他随机函数都是基于这个函数扩展而来。random库概述fromrandomimport*random()0.5780913011344704random()0.20609823213950174n random库的常用函数random库与随机数运用函数描述seed(a=None)初始化随机数种子,默认值为当前系统时间random()生成一个0.0,1.0)之间的随机小数randint(a,b)生成一个a,b之间的整数getrandbits(k)生成一

    11、个k比特长度的随机整数randrange(start,stop,step)生成一个start,stop)之间以step为步数的随机整数uniform(a,b)生成一个a,b之间的随机小数choice(seq)从序列类型(例如:列表)中随机返回一个元素shuffle(seq)将序列类型中元素随机排列,返回打乱后的序列sample(pop,k)从pop类型中随机选取k个元素,以列表类型返回n random库使用random.seed(a)对后续产生的随机数设置种子a。random库与随机数运用fromrandomimport*seed(10)random()0.5714025946899135ra

    12、ndom()0.4288890546751146seed(10)#再次设置相同的种子,则后续产生的随机数相同再次设置相同的种子,则后续产生的随机数相同random()0.5714025946899135random()0.4288890546751146n 设置随机数种子的好处是可以准确复现随机准确复现随机数序列数序列,用于重复程序的运行轨迹。对于仅使用随机数但不需要复现的情形,可以不用设置随机数种子。n 如果程序没有显式设置随机数种子,则使用随机数生成函数前,将默认以当前系统的运行时间为种子产生随机序列。random库与随机数运用time库概述n 处理时间是程序最常用的功能之一,time库是

    13、Python提供的处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可让程序暂停运行时间。time库概述importtimetime.localtime()time.struct_time(tm_year=2017,tm_mon=12,tm_mday=2,tm_hour=14,tm_min=44,tm_sec=9,tm_wday=4,tm_yday=26,tm_isdst=0)n time库的功能主要分为3个方面:时间处理、时间处理、时间格式化和计时时间格式化和计时。时间处理主要包括4个函数:time.time()、time.gmtime()、time.loca

    14、ltime()、time.ctime()。时间格式化主要包括3个函数:time.mktime()、time.strftime()、time.strptime()。计 时 主 要 包 括 3 个 函 数:t i m e.s l e e p()、time.monotonic()、time.perf_counter()time库概述n 使用time.time()获取当前时间戳n 使用time.gmtime(secs)获取当前时间戳对应的struct_time对象time库概述importtimetime.time()1516939876.6022282time.gmtime(now)time.str

    15、uct_time(tm_year=2018,tm_mon=1,tm_mday=26,tm_hour=4,tm_min=11,tm_sec=16,tm_wday=4,tm_yday=26,tm_isdst=0)n 使用time.localtime(secs)获取当前时间戳对应的本地时间的struct_time对象n 注意结果与gmtime的区别,UTC时间已自动转换为北京时间。time库概述time.localtime(now)time.struct_time(tm_year=2018,tm_mon=1,tm_mday=26,tm_hour=12,tm_min=11,tm_sec=16,tm_w

    16、day=4,tm_yday=26,tm_isdst=0)n 使用time.ctime(secs)获取当前时间戳对应的易读字符串表示,内部会调用time.localtime()函数以输出当地时间。time库概述time.ctime(now)FriJan2612:11:162018n time库使用time.mktime()、time.strftime()、time.strptime()进行时间格式化。time库概述n 使用time.mktime(t)将struct_time对象t转换为时间戳,注意t代表当地时间。struct_time对象的元素如下time库概述下标下标属性属性值值0tm_yea

    17、r年份,整数1tm_mon月份1,122tm_mday日期1,313tm_hour小时0,234tm_min分钟0,595tm_sec秒0,616tm_wday星期0,6(0表示星期一)7tm_yday该年第几天1,3668tm_isdst是否夏时令,0否,1是,-1未知n 调用time.mktime(t)函数n time.strftime()函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。该方法利用一个格式字符串,对时间格式进行表达。time库概述t=time.localtime(now)time.mktime(t)1516939876.0time.ctime(time.mkt

    18、ime(t)FriJan2612:11:162018lctime=time.localtime()lctimetime.struct_time(tm_year=2018,tm_mon=1,tm_mday=26,tm_hour=12,tm_min=55,tm_sec=20,tm_wday=4,tm_yday=26,tm_isdst=0)time.strftime(%Y-%m-%d%H:%M:%S,lctime)2018-01-2612:55:20n strftime()方法的格式化控制符time库概述格式化字符串日期/时间值范围和实例%Y年份00019999,例如:1900%m月份0112,例如

    19、:10%B月名JanuaryDecember,例如:April%b月名缩写JanDec,例如:Apr%d日期01 31,例如:25%A星期MondaySunday,例如: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,例如:26n strptime()方法与strftime()方法完全相反,用于提取字符串中时间来生成strut_time对象,可以很灵活的作为time模块的输入接口time库概述timeString=2018-

    20、01-2612:55:20time.strptime(timeString,%Y-%m-%d%H:%M:%S)time.struct_time(tm_year=2018,tm_mon=1,tm_mday=26,tm_hour=12,tm_min=55,tm_sec=20,tm_wday=4,tm_yday=26,tm_isdst=-1)time库与程序计时n 程序计时是非常常用的功能,尤其是对于运行时间较长的程序,往往需要先进行小规模(短时间)的实验,并根据实验结果预估最终程序的大致运行时间。n 程序计时主要要包含三个要素:程序开始/结束时间、程序运行总时间、程序各核心模块运行时间。n 下面以

    21、1千万次循环计时为例介绍程序计时的实现,并进一步理解time模块相关函数的运用。time库与程序计时n 以1千万次循环为主体,模拟实际程序的核心模块,用time.sleep()来模拟实际程序的其他模块。time库与程序计时123456789101112importtimedefcoreLoop():limit=10*8while(limit0):limit-=1defotherLoop1():time.sleep(0.2)defotherLoop2():time.sleep(0.4)time库与程序计时1314151617181920212223242526272829303132333435

    22、defmain():startTime=time.localtime()print(程序开始时间:程序开始时间:,time.strftime(%Y-%m-%d%H:%M:%S,startTime)startPerfCounter=time.perf_counter()otherLoop1()otherLoop1PerfCounter=time.perf_counter()otherLoop1Perf=otherLoop1PerfCounter-startPerfCountercoreLoop()coreLoopPerfCounter=time.perf_counter()coreLoopPer

    23、f=coreLoopPerfCounter-otherLoop1PerfCounterotherLoop2()otherLoop2PerfCounter=time.perf_counter()otherLoop2Perf=otherLoop2PerfCounter-coreLoopPerfCounterendPerfCounter=time.perf_counter()totalPerf=endPerfCounter-startPerfCounterendTime=time.localtime()print(模块模块1运行时间是运行时间是:秒秒.format(otherLoop1Perf)pr

    24、int(核心模块运行时间是核心模块运行时间是:秒秒.format(coreLoopPerf)print(模块模块2运行时间是运行时间是:秒秒.format(otherLoop2Perf)print(程序运行总时间是程序运行总时间是:秒秒.format(totalPerf)print(程序结束时间:程序结束时间:,time.strftime(%Y-%m-%d%H:%M:%S,endTime)main()time库与程序计时程序开始时间:程序开始时间:2017-12-2613:46:39模块模块1运行时间是运行时间是:0.20003105182731706秒秒核心模块运行时间是核心模块运行时间是:

    25、5.987101639820927秒秒模块模块2运行时间是运行时间是:0.40018931343066555秒秒程序运行总时间是程序运行总时间是:6.587323585324574秒秒程序结束时间:程序结束时间:2017-12-26 13:46:45n 程序运行的输出效果如下实例解析:雪景艺术绘图n turtle图形艺术,指利用turtle库画笔创造性绘制绚丽多彩艺术图形的过程。n turtle图形艺术效果中隐含着很多随机元素,如随机颜色、尺寸、位置和数量等。在图形艺术绘制中需要引入随机函数库random。常用randint()函数,生成指定范围内的随机数,雪景艺术绘图n“雪景”图形艺术背景为

    26、黑色,分为上下两个区域,上方是漫天彩色雪花,下方是由远及近的灰色横线渐变。该图运用了随机元素,如雪花位置、颜色、大小、花瓣数目、地面灰色线条长度、线条位置等,需要使用turtle库和random库。雪景艺术绘图n 绘制分为三个步骤1.构建图的背景2.绘制雪花效果3.绘制雪地效果雪景艺术绘图n 第一步,构建图的背景设定窗体大小为800 x600像素,窗体颜色为black。然后,定义上方雪花绘制函数drawSnow()和下方雪地绘制函数drawGround()。雪景艺术绘图n 第二步,绘制雪花效果。为体现艺术效果,drawSnow()函数首先隐藏turtle画笔、设置画笔大小、绘制速度,然后使用f

    27、or循环绘制100朵雪花。雪花大小snowsize、雪花花瓣数dens都分别设定为一定数值范围随机数。最后通过for循环绘制出多彩雪花。雪景艺术绘图n 第三步,绘制雪地效果。drawGround()函数使用for循环绘制地面400个小横线,画笔大小pensize、位置坐标x、y、线段长度均通过randint()函数作为随机数产生。雪景艺术绘图雪景艺术绘图实例9.1 1234567891011121314151617181920#SnowView.pyfromturtleimport*fromrandomimport*defdrawSnow():hideturtle()pensize(2)for

    28、iinrange(100):r,g,b=random(),random(),random()pencolor(r,g,b)penup()setx(randint(-350,350)sety(randint(1,270)pendown()dens=randint(8,12)snowsize=randint(10,14)forjinrange(dens):forward(snowsize)backward(snowsize)right(360/dens)实例9.1 212223242526272829303132333435363738defdrawGround():hideturtle()for

    29、iinrange(400):pensize(randint(5,10)x=randint(-400,350)y=randint(-280,-1)r,g,b=-y/280,-y/280,-y/280pencolor(r,g,b)penup()goto(x,y)pendown()forward(randint(40,100)setup(800,600,200,200)tracer(False)bgcolor(black)drawSnow()drawGround()done()本章小结 本章主要讲解了3个重要的Python标准库:turtle、random和time,分别用于基本图形绘制、随机数运用和时间处理。再详细讲解各函数库功能基础上,通过雪景随机艺术画的绘制进一步帮助读者掌握这三个有趣且有用的标准库。能够用Python绘图了,最想绘制的图形是什么?最想送给谁?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:等考二级python-第8章-Python标准库概览课件.ppt
    链接地址:https://www.163wenku.com/p-4644801.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库