《Python程序设计任务驱动教程》 课件-第8章 模块_第1页
《Python程序设计任务驱动教程》 课件-第8章 模块_第2页
《Python程序设计任务驱动教程》 课件-第8章 模块_第3页
《Python程序设计任务驱动教程》 课件-第8章 模块_第4页
《Python程序设计任务驱动教程》 课件-第8章 模块_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

第8章模块《Python程序设计任务驱动教程》学习目标/Target了解模块,能够说出模块的概念以及分类

掌握模块的导入方式,能够通过import和from...import...语句导入模块

熟悉模块的变量,能够归纳变量__all__和__name__的作用

掌握random模块的使用,能够熟练使用random模块生成各种各样的随机数

掌握time模块的使用,能够熟练使用time模块处理时间学习目标/Target

掌握turtle模块的使用,能够熟练使用turtle模块绘制要求的图形

熟悉第三方模块的安装方式,能够熟练使用pip工具安装第三方模块

掌握jieba模块的使用,能够熟练使用jieba模块对中文文本进行分词

掌握wordcloud模块的使用,能够熟练使用wordcloud模块制作词云图片章节概述/Summary在开发程序时,我们通常不会把程序的所有代码写在一个文件中,而是把实现各个特定功能的代码放置在不同文件中,形成不同的独立模块。模块是一种组织代码的方式,这种方式不仅可以提高代码的复用性,还可以提高开发人员的开发效率。本章将通过5个任务对模块相关的知识进行详细讲解。目录/Contents任务8-1验证码任务8-2高考倒计时器任务8-3画奥运五环任务8-4《西游记》人物出场次数统计任务8-5制作词云验证码任务8-1任务描述本任务要求编写程序,运用random模块的知识,实现生成六位验证码的功能。【任务目标】知识储备了解模块,能够说出模块的概念以及分类学习目标1.认识模块知识储备1.认识模块一个扩展名为“.py”的文件称为一个模块,文件的名称为模块的名称,通过在当前模块中导入其他模块,便可以使用被导入模块中定义的内容。知识储备1.认识模块Python标准库中提供的一系列预先编写好的模块,不需要安装,便可以直接导入程序供开发人员使用。内置模块非官方制作发布的、供给大众使用的Python模块,不能直接导入程序中,安装成功方可导入并使用。第三方模块开发人员自行编写的、存放功能性代码的“.py”文件。自定义模块知识储备掌握模块的导入,能够使用import或者from...import..导入模块

学习目标2.模块的导入知识储备2.模块的导入(1)使用import语句导入模块import语句支持一次导入一个模块,也支持一次导入多个模块。importtime

#导入一个模块importrandom,time

#导入多个模块示例import模块1,模块2,...语法格式知识储备2.模块的导入(1)使用import语句导入模块导入模块以后,可以通过“.”使用模块中的内容,包括全局变量、函数或类。importtime#导入time模块time.sleep(1)#调用time模块的sleep()函数示例模块名.变量名/函数名()/类名语法格式知识储备2.模块的导入(1)使用import语句导入模块如果在开发过程中需要导入一些名称较长的模块,那么可使用as关键字为这些模块起别名。importtimeast#导入time模块,并给该模块起别名为tt.sleep(1)#通过别名t调用sleep()函数示例import模块名as别名语法格式知识储备2.模块的导入(2)使用from…import…语句导入模块使用from…import…方式导入模块之后,无需添加“模块名.”前缀,可以像使用当前程序中的内容一样使用模块中的内容。fromtimeimportsleep,time#导入time模块的sleep()和time()函数示例from模块名import变量名/函数名/类名语法格式知识储备2.模块的导入(2)使用from…import…语句导入模块如果希望一次性导入模块中的全部内容,可以将from...import...语句中import后面的内容替换为通配符“*”。fromtimeimport*#导入time模块中的全部内容示例from模块名import*语法格式知识储备2.模块的导入(2)使用from…import…语句导入模块from…import…语句也支持为模块或模块中的内容起别名fromtimeimportsleepassl#导入sleep()函数,并起别名为slsl(1)#通过名称sl调用函数示例from模块名import变量名/函数名/类名as别名语法格式需要注意的是,虽然from...import...语句可以简化模块中内容的使用方式,但可能会出现模块中的变量名、函数名或类名与当前程序中的变量名、函数名或类名重名的问题。因此,相对而言使用import语句导入模块更为安全。知识储备熟悉模块的变量,能够归纳变量__all__和__name__的作用学习目标3.模块的变量知识储备3.模块的变量(1)__all__变量Python模块的开头通常会定义一个__all__变量,该变量的值实际上是一个列表,列表中包含的元素决定了在使用from…import*语句导入模块内容时通配符*所包含的内容。如果__all__中只包含模块的部分内容,那么from…import*语句只会将__all__中包含的部分内容导入程序。知识储备3.模块的变量(1)__all__变量__all__=["add","subtract"]defadd(a,b):returna+bdefsubtract(a,b):returna–bdefmultiply(a,b):returna*bdefdivide(a,b):if(b):returna/belse:print("error")calc.py模块fromcalcimport*print(add(2,3))print(subtract(2,3))print(multipty(2,3))print(divide(2,3))test.py模块程序运行这两行代码会出现错误,说明无法访问模块的这两个方法知识储备3.模块的变量(2)__name__变量大型项目通常由多名开发人员共同开发,每名开发人员负责不同的模块。为了保证代码在整合项目后可以正常运行,开发人员通常会编写一些测试代码进行测试。然而,对整个项目而言测试代码是无用的。为了避免项目执行这些测试代码,Python为模块加入了__name__变量。知识储备3.模块的变量(2)__name__变量__name__变量通常与if条件语句一起使用,若模块是当前运行的模块,则__name__的值为__main__;若模块被其他模块导入,则__name__的值为模块名。if__name__=="__main__":#__name__的值为__main__print(multiply(3,4))print(divide(3,4))示例知识储备4.random模块掌握random模块的使用,能够熟练使用random模块生成各种各样的随机数学习目标知识储备4.random模块(1)random()函数random()函数用于返回[0.0,1.0)区间内的一个随机浮点数。importrandomresult=random.random()#随机生成一个0.0~1.0之间的浮点数print(result)示例知识储备4.random模块(2)uniform()函数uniform()函数用于返回[a,b]区间内的一个随机浮点数N。如果a

<=

b,则生成的浮点数N的取值范围为a<=N<=b;如果a>b,则生成的随机浮点数N的取值范围为b<=N<=a。importrandomnum_one=random.uniform(50,60)#随机生成一个50~60之间的浮点数print(num_one)num_two=random.uniform(50,40)#随机生成一个40~50之间的浮点数print(num_two)示例知识储备4.random模块(3)randint()函数randint()函数用于返回[a,b]区间内的一个随机整数,a和b的取值必须为整数,且a的值一定要小于b的值。importrandomresult=random.randint(1,8)#随机生成一个1~8之间的整数print(result)示例知识储备4.random模块(4)randrange()函数randrange()函数用于返回指定递增基数集合的一个随机数。importrandomnum=random.randrange(10,100,10)print(num)示例randrange(start,

stop[,

step])语法格式start参数:表示范围的起始值,包含在范围内。stop参数:表示范围的结束值,不包含在范围内。step参数:表示递增基数,默认值为1。知识储备4.random模块(5)choice()函数choice()函数用于从指定序列(包括字符串、列表、元组等)中随机返回一个元素。name_li=["张三","李四","王五","赵六"]print(random.choice(name_li))#随机选择name_li中的一个元素示例任务分析指定数字1、2、3来指代大写字母、小写字母、数字这几种字符类型。数字类型对应的数值范围为0~9,大写字母对应的ACSII码范围为65~90,小写字母对应的ACSII码范围为97~122。随机类型和随机字符的操作都需要用到随机数模块random,由于随机类型和随机字符的取值范围都是整数,所以这两个操作都需要通过randint()函数实现。六位验证码的生成是一个独立的功能,这里可以使用函数进行封装。实现思路任务实现1.创建项目Chapter08及01_captcha.py文件。2.在01_captcha.py文件中编写代码。导入random模块。定义一个随机生成6位验证码的函数verifycode()。3.运行01_captcha.py文件。实现步骤高考倒计时器任务8-2任务描述本任务要求运用time模块的知识编写程序完成一个高考计时器,该计时器会接收用户从键盘输入的高考时间,并提示用户距离高考时间剩余的天数。【任务目标】==============================XX年高考时间是XX年XX月XX日今天是XX年XX月XX日距离XX年高考还有XX天==============================知识储备time模块掌握time模块的使用,能够熟练使用time模块处理时间学习目标知识储备time模块程序开发中根据时间选择不同处理方式的场景非常多见,例如游戏的防沉迷系统、外卖平台的店铺营业状态管理等。Python内置了一些与时间处理相关的模块,比如time、datetime以及calendar,其中time是最基础的时间模块。知识储备time模块(1)time()函数time()函数用于返回以浮点数表示的从世界标准时间1970年1月1日00:00:00开始到现在的总秒数,也就是时间戳。importtimeprint(time.time())#获取时间戳示例知识储备time模块(2)localtime()与gmtime()函数localtime()与gmtime()函数返回的所有的时间都是时间对象struct_time,该对象其实是一个元组对象,元组中共有9项元素。元素含义取值tm_year年4位数字tm_mon月1~12tm_mday日1~31tm_hour时0~23tm_min分0~59tm_sec秒0~61(60或61是闰秒)tm_wday一周的第几日0~6(0为周一,依此类推)tm_yday一年的第几日1~366tm_isdst夏令时1:是夏令时;0:非夏令时;-1:不确定各元素的含义与取值知识储备time模块无论是采用浮点数还是元组形式表示的时间,其实都不符合人们的认知习惯。人类日常接触的表示时间的信息常见形式有“2008-02-2812:30:45”“12/31/200812:30:45”和“2008年12月31日12:30:45”。为了便于人们去理解时间数据,Python提供了用于输出格式化时间字符串的strftime()和asctime()函数。(3)strftime()和asctime()函数知识储备time模块(3)strftime()和asctime()函数strftime()函数会借助时间格式控制符来输出格式化的时间字符串。strftime(format[,t])语法格式format:指代时间格式的字符串。t:struct_time对象,默认为当前时间。importtimeprint(time.strftime('%a,%d%b%Y%H:%M:%S'))#获取格式化时间示例知识储备time模块(3)strftime()和asctime()函数常用的时间格式控制符时间格式控制符说明%Y四位数的年份,取值范围为0001~9999%m月份(01~12)%d月中的一天%B本地完整的月份名称,比如January%b本地简化的月份名称,比如Jan%a本地简化的周日期知识储备time模块(3)strftime()和asctime()函数常用的时间格式控制符时间格式控制符说明%A本地完整周日期%H24小时制小时数(0~23)%l12小时制小时数(01~12)%p上下午,取值为AP或PM%M分钟数(00~59)%S秒(00~59)知识储备time模块(3)strftime()和asctime()函数asctime()函数用于输出格式化的时间字符串,但它只能将struct_time对象转化为“SatJan1321:56:342018”形式。asctime([t])语法格式importtimeprint(time.asctime())gmtime=time.gmtime()print(time.asctime(gmtime))示例知识储备time模块(4)ctime()函数ctime()函数用于将一个时间戳转换为“%a%b%d%H:%M:%S%Y”形式的时间字符串,若该函数未传参数,则默认将time.time()作为参数。importtimeprint(time.ctime())#将当前时间戳转换成指定形式的时间字符串print(time.ctime(34.56))#将34.56转换成指定形式的时间字符串

示例知识储备time模块(5)strptime()函数strptime()函数用于将格式化的时间字符串转化为struct_time对象,该函数是strftime()函数的反向操作。importtimeprint(time.strptime('Sat,11Apr202011:54:42','%a,%d%b%Y%H:%M:%S'))print(time.strptime('11:54:42','%H:%M:%S'))示例strptime(string,format)语法格式string:表示格式化的时间字符串。format:表示时间字符串的格式。知识储备time模块(6)mktime()函数mktime()函数用于将struct_time对象转化为以浮点数表示的时间戳,该函数是gmtime()函数和localtime()函数的反向操作。importtimestr_dt="2022-05-2717:43:54"time_struct=time.strptime(str_dt,"%Y-%m-%d%H:%M:%S")print(time_struct)timestamp=time.mktime(time_struct)#转化成时间戳print(timestamp)示例mktime(t)语法格式任务分析获取高考时间。获取当天日期。计算高考时间与当天日期的时间差。生成高考倒计时器。实现思路任务实现1.创建项目Chapter08及02_countdown.py文件。2.在02_countdown.py文件中编写代码。导入time模块,获取用户从键盘输入的高考时间字符串,根据该字符串构建一个时间元组。获取当天日期的时间戳,并将时间戳转化成时间元组。把元组形式的高考时间和当天日期转换成时间戳,计算两者之间的时间差,并将时间差转换成剩余天数。通过格式字符串生成高考倒计时器中的上分割线、下分割线和其他内容。3.运行02_countdown.py文件。实现步骤画奥运五环任务8-3任务描述奥运五环由5个大小相等的奥林匹克环套接组成,自左向右两两相互紧密交叉,形成上方三个圆环、下方两个圆环的形状,整个造形呈一个底部小的规则梯形。奥林匹克标志上方的三个圆环依次为蓝色、黑色、红色,下方两个圆环为黄色、绿色,背景为白色。任务描述本案例要求编写程序,使用turtle模块画一个奥运五环标志,最终效果如下图所示。【任务目标】任务描述窗口和奥运五环图形的具体要求如下。(1)窗口窗口占整个屏幕大小的一半,标题为奥运五环。(2)奥运五环图形每个圆环的半径为100像素,描边粗细为20像素。蓝环、黑环、红环、黄环、绿环的颜色为#0081C8、#FCB131、#000000、#00A651、#EE334E。上面一排圆环位于同一水平线上。下面一排圆环位于同一水平线上,且穿插到上面两圆环的中间位置。每一排圆环之间的间隙相等,均为50像素。【任务目标】知识储备掌握创建窗口的方式,能够熟练使用turtle模块创建窗口学习目标1.使用turtle模块创建窗口知识储备1.使用turtle模块创建窗口turtle(海龟)是Python内置的一个标准模块,它提供了绘制线、圆以及其他形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形。知识储备1.使用turtle模块创建窗口图形窗口也称为画布(canvas)。控制台无法绘制图形,使用turtle模块绘制图形化界面需要先使用setup()函数创建图形窗口。setup(width,height,startx=None,starty=None)语法格式width、height:表示窗口宽度、高度,它们的取值可以是整数或小数。startx和starty:表示窗口在计算机屏幕上的横坐标和纵坐标。参数startx、starty的取值可以为整数或None,当取值为整数时,分别表示图形窗口左侧、顶部与屏幕左侧、顶部的距离,单位为像素;当取值为None时,窗口位于屏幕中心。知识储备1.使用turtle模块创建窗口#创建一个宽800、高600像素的图形窗口turtle.setup(800,600)创建图形窗口的示例需要说明的是,使用turtle模块实现图形化程序时setup()函数并不是必须的,如果程序中未调用setup()函数,程序执行时会生成一个默认窗口。知识储备1.使用turtle模块创建窗口调用turtle模块的title()函数为窗口设置标题,如此每次打开的窗口左上角都会显示指定的标题。在使用turtle模块绘制图形后应调用turtle模块的done()函数声明绘制结束,如此turtle的主循环会终止,但直到手动关闭图形窗口时图形窗口才会退出。知识储备掌握设置画笔的方式,能够熟练使用turtle模块的函数设置画笔的属性和状态学习目标2.使用turtle模块设置画笔知识储备2.使用turtle模块设置画笔画笔属性包括尺寸、颜色和移动速度。画笔属性画笔状态分为提起和放下两种状态。画笔状态知识储备2.使用turtle模块设置画笔(1)画笔属性相关函数turtle模块中用于设置画笔属性的函数主要有3个,分别是pensize()、speed()和color(),pensize()函数用于设置画笔尺寸,speed()函数用于设置设置画笔移动的速度,color()函数用于设置画笔颜色。pensize(<width>) #设置画笔尺寸speed(speed) #设置画笔移动速度color(color) #设置画笔颜色语法格式width:表示画笔的尺寸,即画笔绘制出线条的宽度。speed:表示画笔移动的速度,该参数的取值范围为[0,10]内的整数,整数越大,速度越快。color:表示画笔的颜色。知识储备2.使用turtle模块设置画笔(1)画笔属性相关函数color()函数的参数color支持多种形式的取值,包括字符串、RGB颜色(RGB整数值和RGB小数值)和十六进制颜色。颜色字符串RGB整数值RGB小数值十六进制白色white(255,255,255)(1,1,1)#FFFFFF黄色yellow(255,255,0)(1,1,0)#FFFF00洋红magenta(255,0,255)(1,0,1)#FF00FF青色cyan(0,255,255)(0,1,1)#00FFFF蓝色blue(0,0,255)(0,0,1)#0000FF黑色black(0,0,0)(0,0,0)#000000知识储备2.使用turtle模块设置画笔(1)画笔属性相关函数color()函数的参数color支持多种形式的取值,包括字符串、RGB颜色(RGB整数值和RGB小数值)和十六进制颜色。颜色字符串RGB整数值RGB小数值十六进制海贝色seashell(255,245,238)(1,0.96,0.93)#FFF5EE金色gold(255,215,0)(1,0.84.0)#FFD700粉红色pink(255,192,203)(1,0.75,0.80)#FFC0CB棕色brown(165,42,42)(0.65,0.16,0.16)#A22A2A紫色purple(160,32,240)(0.63,0.13,0.94)#A020F0番茄色tomato(255,99,71)(1,0.39,0.28)#FF6347知识储备2.使用turtle模块设置画笔(1)画笔属性相关函数字符串、RGB整数值、RGB小数值、十六进制表示的颜色都可以直接传入color()函数的color参数,但使用RGB颜色之前,需要先使用colormode()函数设置颜色模式。colormode()函数需要接收一个cmode参数,该参数支持两种取值:1.0或255,其中1.0表示RGB颜色值位于0.0~1.0之间,255表示RGB颜色值位于0~255之间。importturtleturtle.color('pink')turtle.color('#A22A2A')示例turtle.colormode(1.0)turtle.color((1,1,0))turtle.colormode(255)

turtle.color((165,42,42))turtle.done()知识储备2.使用turtle模块设置画笔(2)画笔状态相关函数turtle模块中的画笔默认为放下状态。我们使用penup()和pendown()函数可以修改画笔状态,其中penup()函数用于提起画笔,pendown()函数用于放下画笔。importturtleturtle.penup() #提起画笔turtle.pendown() #放下画笔turtle.done()示例turtle模块中为penup()和pendown()函数定义了别名,penup()函数的别名为pu(),pendown()函数的别名为pd()。知识储备了解turtle的坐标体系,能够说出turtle的坐标体系的特点掌握绘制图形的方式,能够熟练通过turtle模块的函数控制画笔来绘制需要的图形学习目标3.使用turtle模块绘制图形知识储备3.使用turtle模块绘制图形在画笔状态为放下时,通过移动画笔可以在画布上绘制图形。此时可以将画笔想象成一只海龟(这也是turtle模块名字的由来):海龟落在画布上,它可以向前、向后、向左、向右移动,海龟爬动时在画布上留下痕迹,痕迹即为所绘图形。知识储备3.使用turtle模块绘制图形turtle坐标体系以窗口中心为原点,右方为默认朝向,原点右侧为x轴正方向,原点上方为y轴正方向。turtle的坐标体系知识储备3.使用turtle模块绘制图形(1)移动控制函数移动控制函数包括forward()、backward()和goto()函数,分别用于控制画笔向前、向后或者向指定位置移动。forward(distance) #向前移动backward(distance) #向后移动goto(x,y=None) #向指定位置移动语法格式distance:用于指定画笔移动的距离,单位为像素。x、y:表示目标位置的横坐标和纵坐标。知识储备3.使用turtle模块绘制图形(2)角度控制函数角度控制函数用于更改画笔朝向,包括right()、left()和seth(),其中right()函数用于控制画笔向右转动,left()函数用于控制画笔向左转动,seth()函数用于控制画笔转动到指定方向。right(degree) #向右转动left(degree) #向左转动seth(angle) #转动到某个方向语法格式

degree:用于指定画笔向右与向左的角度。angle:用于设置画笔在坐标系中的角度。知识储备3.使用turtle模块绘制图形(2)角度控制函数函数seth()的参数angle接收的角度值遵循一定的规则,角度会以x轴正向为0°,以逆时针方向为正,角度从0°逐渐增大;以顺时针方向为负,角度从0°逐渐减小。角度与坐标系的关系知识储备3.使用turtle模块绘制图形(2)角度控制函数importturtleastt.forward(200)t.seth(-90)

t.forward(200)t.right(90)

绘制正方形的示例t.forward(200)t.left(-90)

t.forward(200)t.right(90)

t.done()知识储备3.使用turtle模块绘制图形(3)图形绘制函数turtle模块中提供了circle()函数,使用该函数可绘制以当前坐标为圆心,以指定像素值为半径的圆或弧。circle(radius,extent=None,steps=None)语法格式radius:用于设置半径。extent:用于设置弧的角度。steps:用于设置步长,它可以取值为整型数据或None,默认值为None,表示该参数无效。若参数steps的值为正数N,则使用circle()函数可以绘制一个有N条边的正多边形;若参数steps的值为负数,则使用circle()函数不会绘制图形。知识储备3.使用turtle模块绘制图形(3)图形绘制函数radius和extent的取值可以是正数,也可以是负数,具体可以分成以下几种情况:当radius为正数时,画笔以原点为起点向上绘制弧线;radius为负数时,画笔以原点为起点向下绘制弧线。当extent为正数时,画笔以原点为起点向右绘制弧线;extent为负数时,画笔以原点为起点向左绘制弧线。绘制半径为90/-90像素、角度为60°/-60°的弧线知识储备3.使用turtle模块绘制图形(3)图形绘制函数turtle模块中可通过fillcolor()函数设置填充颜色,通过begin_fill()函数和end_fill()函数填充图形,实现“面”的绘制。importturtleturtle.fillcolor("red")turtle.begin_fill()turtle.circle(100)turtle.end_fill()turtle.done()绘制圆形的示例任务分析创建窗口。绘制蓝色圆环。绘制黑色圆环。绘制红色圆环。绘制黄色圆环。绘制绿色圆环。制作环环相扣的效果。实现思路任务分析蓝色圆环和黑色圆环的位置关系黑色圆环和红色圆环的位置关系任务分析黄色圆环和红色圆环的位置关系绿色圆环和黄色圆环的位置关系任务分析重叠部分遮挡绿色圆环或黄色圆环部分任务实现1.创建项目Chapter08及03_olympic_rings.py文件。2.在03_olympic_rings.py文件中编写代码。导入turtle模块,定义若干个表示特殊值的变量,并根据指定的大小要求创建窗口。移动指定位置后放下画笔,绘制描边为蓝色的圆形。移动指定位置后放下画笔,绘制描边为黑色的圆形。移动指定位置后放下画笔,绘制描边为红色的圆形。移动指定位置后放下画笔,绘制描边为黄色的圆形。移动指定位置后放下画笔,绘制描边为绿色的圆形。移动指定位置后放下画笔,绘制4个指定弧度的弧线。3.运行03_olympic_rings.py文件。实现步骤《西游记》人物出场次数统计任务8-4任务描述《西游记》是中国古代第一部浪漫主义章回体长篇神魔小说,是中国古典四大名著之一。全书主要描写了孙悟空、唐僧、猪八戒、沙僧和白龙马一同西行取经,历经九九八十一难到达西天见到如来佛祖,最终五圣成真的故事。《西游记》篇幅巨大、出场人物繁多。任务描述本任务要求读者编写程序,读取xiyouji.txt文件并统计《西游记》小说中的出场次数排在前10名的人物的出场次数。【任务目标】知识储备熟悉第三方模块的安装方式,能够熟练使用pip工具安装第三方模块学习目标1.安装第三方模块知识储备1.安装第三方模块第三方模块不能直接在程序中导入与使用,而是需要提前安装到当前的开发环境中。第三方模块的安装需要借助pip工具,pip工具是一个通用的Python

包或模块的管理工具,它提供了查找、下载、安装、卸载Python包或模块的功能。知识储备1.安装第三方模块pipinstalljieba#安装最新版本的jieba模块pipinstallwordcloud#安装最新版本的wordcloud模块示例pipinstall模块名

#安装最新版本的模块pipinstall模块名==版本号#安装指定版本的模块语法格式需要注意的是,pip是在线工具,它只有在联网的状态下才可以下载相应的模块资源,若网络未连接或网络环境不佳,则pip工具将无法顺利安装第三方模块。知识储备掌握jieba模块的使用,能够熟练使用jieba模块对中文文本进行分词学习目标2.jieba模块知识储备2.jieba模块jieba模块用于实现中文分词,中文分词即将中文语句或语段拆成若干汉语词汇。精确模式:试图将句子最精准地切开。全模式:将句子中所有可以成词的词语都扫描出来,速度非常快。搜索引擎模式:在精确模式的基础上对长词再次切分,适用于建立搜索引擎的索引。我是一个学生我是学生一个知识储备2.jieba模块函数功能说明cut(s)以精准模式对文本s进行分词,返回一个可迭代对象cut(s,cut_all=True)默认以全模式对文本s进行分词,输出文本s中出现的所有词cut_for_search(s)以搜索引擎模式对文本s进行分词lcut(s)以精准模式对文本s进行分词,分词结果以列表形式返回lcut(s,cut_all=True)以全模式对文本s进行分词,分词结果以列表形式返回lcut_for_search(s)以搜索引擎模式对文本s进行分词,分词结果以列表形式返回分

数知识储备2.jieba模块示例importjiebaseg_list=jieba.cut("我打算到中国科学研究院图书馆学习",cut_all=True)print("【全模式】:"+"/".join(seg_list))#全模式seg_list=jieba.lcut("我打算到中国科学研究院图书馆学习")print("【精确模式】:"+"/".join(seg_list))#精确模式#搜索引擎模式seg_list=jieba.cut_for_search("我打算到中国科学研究院图书馆学习")print("【搜索引擎模式】:"+",".join(seg_list))知识储备2.jieba模块

jieba实现分词的基础是词库,jieba的词库存储在jieba库下的dict文件中,该文件中存储了中文词库以及每个词的词频、词性等信息。利用jieba模块的add_word()函数可以向词库中增加新词。jieba.add_word("好天气")jieba.lcut("今天真是个好天气")示例任务分析获取《西游记》全书内容。统计中文词语及数量。删除无意义词语。按固定格式输出中文词语及数量。实现思路"一个","那里","怎么","我们","不知","两个","甚么","只见","不是","原来","不敢","闻言","如何","什么"停用词库的内容任务实现1.创建项目Chapter08及04_appearances.py文件。2.在04_appearances.py文件中编写代码。导入jieba模块,从xiyouji.txt文件读取全书的文本内容。使用jieba模块对文本内容进行分词操作,统计每个中文词语的出现次数,并对悟空、唐僧和沙僧这3个人物的称谓进行单独处理。创建一个停用词库,查找字典中是否有停用词库中保存的中文词语,若有则直接从字典中删除这个中文词语。按中文词语的出现次数对字典进行排序。3.运行04_appearances.py文件。实现步骤制作词云任务8-5任务描述本任务要求根据xiyouji.txt文件生成一个形状如孙悟空图片的词云图片xiyou.jpg。【任务目标】知识储备掌握wordcloud模块的使用,能够熟练使用wordcloud模块制作词云图片学习目标wordcloud模块知识储备wordcloud模块wordcloud是Python中专门生成词云的第三方模块,该模块以文本中词语出现的频率作为参数来绘制词云,并支持对词云的形状、颜色和大小等属性进行设置。生成词云的步骤利用WordCloud对象的to_file()方法生成词云3利用WordCloud对象的generate()方法加载词云文本2利用WordCloud类的构造方法WordCloud()创建词云对象1知识储备wordcloud模块当调用WordCloud()方法创建词云对象时我们可以通过参数设置词云的属性。参数说明width指定词云对象生成图片的宽度,默认为400像素height指定词云对象生成图片的高度,默认为200像素min_font_size指定词云中字体的最小字号,默认为4号max_font_size指定词云中字体的最大字号,默认根据高度自动调节font_step指定词云中字体字号的步间隔,默认为1参数的说明知识储备wordcloud模块当调用WordCloud()方法创建词云对象时我们可以通过参数设置词云的属性。参数说明font_path指定字体文件的路径,默认为当前路径max_words指定词云显示的最大单词数量,默认为200stop_words指定词云的停用词列表,即不显示的单词列表background_color指定词云图片的背景颜色,默认为黑色mask指定词云形状,默认为长方形参数的说明知识储备wordcloud模块generate()方法会接收一个字符串作

温馨提示

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

评论

0/150

提交评论