粉丝4461获赞2.8万

下面我们介绍模块舞结巴库的使用。 首先对街霸库做一个简要介绍,街霸是优秀的中文分词第三方库,由于中文文本之间每个汉字是连续书写的,我们需要通过特定的手段来获得其中的每个单词, 这种手段就叫分词。而结巴呢,是拍森计算生态中非常优秀的中文分词第三方库, 既然说它是第三方库,我们就需要通过安装来使用它,这把库提供了三种分词模式, 但实际上要想达到分次效果,只需要掌握一个函数就够了,他就是非常的简单有效。 安装结巴库也十分的方便,只需要在命令行的模式下,通过 pip 命令使用 pip 音撕到结巴就可以给他进行安装。 这期中需要注意,你的计算机呢要联网,而且要在命令行的情况下去运行。 pip 运输到结巴的指令安装之后,系统会提供相关的界面,告诉你结巴库已经安装成功。 那我们想一想,这个结巴库是靠什么原理来进行中文分词的呢? 我们知道词语与词语之间,它都是由汉字来组成的,所以简单说,结巴库是通过中文词 库的方式来识别分词的。他首先利用了一个中文词库,通过这样的词库呢,计算汉字之间的构成词语的关联概率, 比如中文两个汉字,他们之间就有很强的概率构造成一个词组叫中文,所以通过计算汉字之间的概率就可以形成分词的结果。 当然,除了结巴自带的中文词库,用户也可以向题中增加自定义的词组,从而使结巴的分词更适应某些具体领域的使用。 下面我们对街霸库的使用做一个简要介绍。街霸分 词有三种模式,精确模式、全模式和搜索引擎模式。简单说,精确模式就是把一段文本精确的切分成若干个中文单词, 如果干过,中文单词之间经过组合,就精确的还原为之前的文本,其中不存在溶于单词,这就是精确模式。精确模式是最常用的分词模式。进一步呢, j 八又提供了全模式。 全模式是把一段中文文本中所有可能的词语都扫描出来,可能有一段文本,它可以切分成不同的模式, 或者有不同的角度来切分,变成不同的词语。那么结巴在全模式下把这样的不同的组合都挖 解出来。所以如果用全模式来进行分词,分词的信息组合起来并不是精确的,原有文本会有很多的种于。 而搜索引擎模式呢,更加智能,它是在精确模式的基础上,我们发现的那些长的词语, 他会对他进行再次切分,将藏的词语变成更短的切分。词语劲儿适合搜索引擎对短词语的锁引和搜索,在一些特定场合会用的比较多。 好,我们看一下结巴库提供的常用函数,其实就有四个, 最简单的或最常用的函数是结巴点儿 l cut。 l 指的是 list, 也就是列表。卡的呢,就是分词的意思,它表示的是精确模式,它能够对一个字母串精确的返回分词结果,而分词的结果使用列表的形式来组织。 比如站在例子接把点儿卡特,中国是一个伟大的国家, 那么经过分词之后就变成了中国是一个伟大的国家。等六个具体的单词,如果我们在 l cat 后面增加一个参数, 变成 l cat s 逗号 cut o 等于 true, 那就形成了全模式,它能够返回一个列表的分词结果,但是结果中存在溶于。 比如说还是这样的一段话,中国是一个伟大的国家,他就会返回中国,国士一个等等。其中的中国和国士中的国字是溶于的,但是他可能更认为国士呢,也可能是一个词,所以这就是全模式。 此外的缩存引擎模式是使用结巴点 aircut full search, 它能够返回一个列表类型的分词结果也存在容易。比如我们用缩存引擎模式来分词一段中文,这段中文是中华人民共和国是伟大的, 我们可以看到它产生的结果,包括中华华人人民共和共和国,甚至中华人民共和国也作为了单词。他的做法呢,是 是将中华人民共和国是伟大的这句话先按照精确方法来分词。分词之后呢,发现中华人民共和国这个词特别长,他又将这个词再次进行了分词, 所以形成了有勇于的分词结果。结巴库还提供了一个像其中的中文词库增加新单词的函数叫 idword, 我们可以使用结巴点儿 idword 蟒蛇语言将我们定义的一个新词增加到词库中。 好讲了这么多,我们说结巴库的要点是什么?就是一个函数,结巴点 l cut s, 他能够将资不少 s 进行精确的分次处理,并且返回一个列表类型。 同学们只需要记住这样的一个函数,就能够完成中文分词的功能。

今天我们讲词云图的制作,首先导入 g 八裤 输入,我们需要制作词云图的原文本地址, 见一个要被替代的字符串, 替换成空格符,相当于删除。 进行分词, 引入自己字第一的词典, 对文章内容进行精准模式分词。 打开停用词文件, 建一个空字点,创建一个循环,如果长度是一的话,就跳过进行下个循环。如果不再停用词字点中统计各个键的值, 转化成列表,将字典中间合直,按照元组保存。将列表中内容按照间值进行降序排序, 将列表转化成字典形式。 在地盘兴建一个西游记瓷拼文档, 列表有多长就循环几次序列解包,将元素分别复制给 k 和 v, 第一个参数左对齐,宽度为八,第二个参数右对齐,宽度为两字符串格式 运行之后,可以看到有些地方出现了错误,一个符号或者字母的错误就会导致无法运行成功, 这就是磁屏统计结果。接下来是磁云图, 打开西游记词频文件,加载文本,输出词语,文件保存为 png 图片文件,检查错误, 这样我们的词云图就做好了。 通过词云图,我们可以很直观的看出文本的关键词一目了然,使内容更直观,视觉上更有冲击力。在本片中,行者、巴结、师傅等词语出现的频率更高。

好,同学们,那么这一小节啊,咱们要去讲解一下第二种导入包以及调用功能的写法,那么这种写法呢,和我们之前学过的导入模块的某一种写法比较类似,弗绕姆包名音炮的新花, 我们说遇到新欢啊,是不是只带导入所有?那么其实这一句导入的代码是不是我们理解为,哎,意思就是从 目标包当中到所有模块,将来我们是不是模块名点目标去调用功能是不是就可以了? 但是啊,老师要强调一下,在我们导入包的时候,情况有点特殊,我们涉及到弗绕姆包名音炮的新欢的时候,必须要设置一下包当中的因腻特点 py, 在这个文件当中要添加一个 奥列表,这个奥列表却控制着允许的导入的模块。如果我们把某一个模块添加到奥列表当中来,那这个模块既能通过 flam 包明音炮的星花去导入, 但是如果模块没有添加到奥列表,那么这个模块将无法通过 flome mpod 星块去导入。 那么言外之意就是说啊,我们要讲通过弗朗姆包名音炮的新花的时候,导入某一个功能的时候,那么这个时候我们必须第一步先设置音里特点 py 当中的二列表,第二步再去导入调用功能才可以。 那么接下来啊,也就是说,在我们这要强调一下,如果通过弗朗姆包面音炮的星花去导入奥列表,因泥特点 py 当中的奥列 列表必须必须要设置。那所以啊,一会的话,老师打算第一步先做正确实验,第二步咱们把印尼特点 py 的奥列表给他去掉或者是注视掉,咱们去看一下是不是奥列表有这么大的权限,能控制模块的导入行为。 那么接下来啊,咱们来做实验去体验一下。那同学们跟着老师啊,咱们打开拍叉部,在拍叉部里面啊,首先我们要明确一下,现在啊,我们要讲解的是不是第二种方法,这第二种方法要有一个注意事项,就是我们一定要干什么 设置,呃,因你他 i n i t 点 p y 文件里面的奥列表,这个列表添加的是我们允许 导入的模块,对不对? ok, 那么同学们,咱们还记不记得第二种导入包以及调用对应功能的写法是什么? 那么现在啊,咱们一块来复习一下咱们的写法,比如说导入的话,首先我们是不是要写 flom, 然后放上我们的包名,加上什么 i m p o r t empart, 然后是不是要跟上一个鲜花, 那么将来调用功能呢?哎,是不是就是模块名点目标功能是不是就可以了?哎,老师,这啊就简单写一个目标。 那么接下来啊,同学们,我们现在把方法注意事项以及写法放在这之后,咱们是不是要书写代码去体验一下了?那么体验的时候同学们我们说了,第一步是不是应该先设置奥列表?那所以咱们是不是应该展开 买 party 纸,这个包双击打开音里头点 py, 是不是?我们在这里面添加一个奥列表对不对?哎,那么等于一个列表,那这里面比如说我们设置允许导入的是麦杠毛豆一,那么接下来同学们讲一下,将来我们的麦毛豆一是不是就可以导入, 买毛豆二还能倒入吗?哎,是不是就不能了?那么接下来啊,别急,同学们跟着老师回到零六点 py 这个文件里面来打开, 那么打开之后是不是在零六里面,我们书写导入是不是就可以了?那写法是爱是不是福绕母 包名是买拍 k 制对不对?然后接下来是不是音炮他导入新花,然后我们是不是该调用功能了?那么调用功能的语法是模块名点目标, 那模块名刚才咱们允许导入的是不是卖毛豆一,然后接下来打点调用功能,比如说 inforry 的一。 那么接下来这个时候,当我们右键 read 的时候,同学们来看模块一里面的代码是不是全都导入进来,哪怕是 pent 是不是都导入成功?在此基础之上,我们调用 efryent 一是不是也正常执行出来了, 因为我们的音否 plus 一的代码,朋友们切回来来看一下,是不是就是打印买 model 一这个模块的名字对不对?好,那么接下来啊,朋友们,我们回到零六点 py 这个文件里面,那我们现在能够运行出来买 model 一当中的 打印以及功能的调用,那说明我们导入包的功能以及调用功能的代码是不是全都成功了? 那么这是不是我们第一步正确方法的实验是不是已经做完了?那接下来同学们还记不记得老师要说做一个错误做法的实验,错误做法的实验是怎么测试来着? 哎,是不是把印尼特点 py 当中的奥列表把它注视掉或者是删掉,看一下买 model e 的功能还能不能用,对不对?哎,那接下来啊,朋友们打开印尼特点 py, 把我们的奥列表的代码注视掉, 在此基础之上回到零六,我们再右键软。那么这个时候我们来看一下买 model e 是不是一直闹他的 flie 的,即便我们不右键软,他们来看一下我们的代码是不是都报错了,所以那么也就是跟老师说的一样,我们如果通过扶绕母包面印炮的新欢去导入 时候,因你的点 py 的奥列表必须要设置,否则的话将无法导入任何一个按摩块以及对应的功能。 那么接下来啊,我们在导入班的第二种方法这里正确错误的实验是不是全都测试完成了,那么接下来啊,老师要把咱们的代码改成正确的形式,要不然同学们在课下复习的时候是不是全都是错误的表现,是不是就太尴尬了?那么我们回到阴历特点 py, 把我们的奥列表释放注视, 回到零六右键软,这个时候控制台是不是就没有任何的错误了?那接下来啊,修改成功我们的代码之后,咱们现在啊回到笔记做一个回顾。那同学们打开笔记之后,老师问 第二种方法导入包要注意的重点是语法写法是不是要记住, 与此同时这个注意事项是不是必须要记住?哎,在阴历特点 py 添加奥列表, 添加我们允许导入的模块,那这样的话,在奥列表里边的模块可以通过这种方法去导入,否则的话是不是导入不了其他的模块, ok, 那么这就是我们的一个第二种方法,实现导入包以及对应的功能。那么讲解完成之后呢?老师把咱们的视频啊稍微暂停一下。

好,接下来我给大家讲一下包, 包也是一个在我这个模块这一张里边一个重要的概念,我们前面讲的模块是核心,对吧?包呢也很重要,我们在实际应用中呢,当一个项目模块很多的时候, 这时候呢就需要通过包来组织,包呢相当于什么?相当于文件夹啊?就像你们那个你们的文件一样,比如说我这有一大堆的这个 mp 三文件, 对吧?广场舞,我可以弄个文件夹,可以把这广场舞的这个歌呢放在这里边, 对不对?然后呢流行音乐,哎,好了,我可以放到这个文件夹里面,所以呢就是包,就是用来组织管理模块的, 把同类的模块放到一起形成了包,当然了包呢大家也不用认为,呃,有什么特别的东西啊,包呢本质就是个文件夹, 他在硬盘上,你看的时候呢,他就是个文件夹,只不过呢这个文件夹比较特别,必须包含一个叫 初始化,这样的一个拍摄文件叫安安,其文件他用来初始化我们的标标识。我们的包 有时只要是一个文件夹,一个目录包含了什么?包含我们这个安安器文件,我就认为他是一个包,如果一个目录没有这个文件,那我就认为他不是包,就这么简单。 好吧,所以大家一定要关注哦,包,大家去学习的时候呢,一定要重点关注这个安安奇文件,他是包区别于文件夹的一个 本质的一个区别。好,那么有了包之后呢,我们在这个包下面呢,我们可以包换什么呢?可以包换其他的模块,也可以放紫包,包下面仍然可以放包,就像你的文件夹下面是不是仍然可以放文件夹,对吧?我还可以再放文件夹, 当然我也可以,可以放什么呢?可以放文件有这样这样的一个这个标识的顺序, 好吧,所以这个包呢,来,我们呢直接在拍摄里边创建一个包,在拍摄里边见包特别简单啊,大家去扭的时候呢,直接扭这个叫拍摄,拍紧就可以了, 这样就可以帮助我们自动生成一个什么带有这样的一个初始化拍摄文件的这样的一个包,当然了你自己手工件也可以一样,好不好? 这就是一个带有安安替文件的一个文件夹。来,那么我们呢来看一下啊,我在这呢建立建立这样两包结构吧,大家看一下 b 包啊,名字叫 b 啊,里边呢包含了两个两个模块啊,毛豆 b 一,毛豆 b 二 这两个模块啊,然后呢我又有个 a 包, a 包下面有包含 a a 纸包,对吧?包含了什么?毛豆 a, 毛豆 a 二,毛豆毛豆 a 三这样的模块,同时呢这个 a a 下面又包含了什么?毛豆 a, 咱们可以去见这样的一个这样的一个这样的一个音响节奏, 来,首先我们见这个臂包啊, 来,在我们的项目上点右键,对吧?拍什么拍?给,首先我建议你闭包好,大家看是不是自动帮我吹成这个文件了, 这关键是一个空的牌,怎么念?看到没有?目前呢,他没有,没有实质的作用,只用来标识一下我这个 b, 他就是一个什么,就是一个我们的一个包,而不是一个普通的文件夹, 对吧?如果,如果你把他删了以后,他就他就变成一个普通文件夹了,好吧,他就不是包了,好,然后在这里边呢。呃,一会咱们可以做测试啊,我在这呢先写两句吧,就叫毛豆,嗯, 直接写 b 也可以,毛豆 b 一啊,然后呢再建一个毛豆 b 二, 好了,建这样两个文件,好了,这就是我们的,对吧?这是我们的这个币包啊,我建了一个名字叫做币的一个包,当然了,我还可以继续建背包,对不对? 在 a 包下面呢,我还可以继续见什么呢?再见子包,比如 a, a 子包,对吧?然后呢跟我们咱们跟资料上保保持一致吧, a 下面有一个毛肚, a, a 二, a 三是吧?还有 a 是在这个 a 下面,好了,咱们照着他来吧, 现在后期你看视频的书的时候呢,容易,这个容易容易堆到起来,好了, a 位于我们的 a 下面,是吧?然后在这呢,我可以建个什么呢? 帽子,哎, 王者归二, 好,大家看我就建立了,建立了这样的什么这样的文件夹啊,这样的一个包,对不对?这就是我们包的一个创建, 当然这个过程比较简单,我们见好之后当然需要,当然,当然我们要去使用它,对不对?我们去使用它,我们知道这个包呢,目前是帮助我们来组织这个模块结构的,是吧?组织模块结构好了,接下来我们要干嘛?我们去使用它,我们怎么去使用 使用这个包呢?非常简单,就是我们去,你既然有包包呢,肯定是我们是用的时候呢,肯定是为了使用他下面的什么 下面的文件夹,这是我写的,哎,这刚是我写错了吗?啊?他没有出现, 没事,我们自己手工建一个吧。好吧,手工建一个也一样啊。然后我说是不是导入了普通的那个, 打入这个普通的一个底外层?好,那我们继续啊,就说我现在这个包的话,我们建好了,我们就用它的时候,肯定是为了使用这个包下面的什么包下面的这些模块吗?对不对?我是为了使用它, 所以那么如果我要去使用的时候呢?我该怎么样去导入?他该怎么样去导入?比如说,呃,比如说我在 b 包下面的模块,我要使用 a 包里的资源, 怎么做?很简单。那么之前比如说我们要导入一个这个模块的时候呢?我们之前是不是写的直接引爆的模块名啊? 是不是现在呢?我们干嘛呢?我们把这个如果你要导入另一个包的话,写上报名就可以了,写上报名就可以了啊, 那我们在使用的时候呢,我们也可以干嘛? aimpot a 点 a a 包下面的 model a, 那用的时候也也也怎么着也写上这个名字?或者你用 airbome 炮顶级 福尔福尔姆 a 点 a a 包,对吧?导入下面这个模块。那好, ok, 我在下面就可以直接使用什么呢?这个毛肚 a 这个模块或者呢可以使用什么呢?毛肚 a 下面的某一个函数, 对吧?那我就可以直接使用这个函数,所以也就是说实际上这个导入包呢,本质上呢跟我们导入模块差不多 啊,也是一样的,那么我们只是要注意一下什么去用的时候呢?在这个模块前面呢,加上我们的这个光明,导入的时候呢?加上这个光明, 好吧,来我们测试一下啊。呃,如果我要再使用这个,咱们就导入他吧,好吧,就导入他 啊,它里面什么都没有啊,就咱一个 a 吧。好,然后呢,我在这个这里边我要去使用它 零 pos, 什么 a 点 a a 点什么摩托 a, 好了,这就相当于什么?当你去调用这句话的时候呢,我们就导入了我们什么 看到没有?说明我们导入的时候引炮的时候呢?去执行了他这个这里的代码,是不是然后呢他这里面用是不是就可以用了?摸到这里边啊,我们就可以去去使用里边的方法,对不对啊?比如说我对应一个方法啊, 那么大家看我去用的时候该怎么用啊?放心。哎,我需要这样去掉, 看到没有? ok, 当然了,当然我拍这个怎么着还可以这样啊, 什么 a 角 a a 是吧?然后呢? airpod, 这样我去钓的时候呢,我就不需要什么 你在一起 我就可以直接用它了,是不是 直接从膜画面来掉,效果是一样的,对吧?当然了还可以干嘛呢?就像我们书上写的一样, 我让我 a 点 a 对吧?点什么猫头 a, 然后呢?我直接导入里边的什么方法,对吧?平时我就可以直接使用方法, 看到了没有?这就是关于我们的包呢这样的几种导入的方式啊,那么继续往下啊,继续往下,那么在这里边大家一定要注意,我给这大家给大家多写两句话啊,这个很有必要。那么导入包那到底是什么意思? 注意一下,我们说了每个包下面呢都有这个 iunt 文件, 实际上呢,我们当你去执行一个导入包动作的时候呢,实际上导入就是包下面的这个按钮键,说白了 就是当你掉入一个导入包这个动作的时候呢,就是执行这个包里边的,按按键 就执行这个文件,这个文件里边,大家看这是一个普通的我们的拍摄模块,是不是导入包相当于执行他,那也就是说,说白了导入包本质上还是导入一个模块,只不过他导入的什么呢?是包的安安剂模块, 在这个里边呢,我们就可以写我们的东西了,你可以写这个包里边需要的统一执行代码,甚至我在这个里面也可以放定一个方法,定一个函数,我定一类,因为他是个普通文件吗?定一什么都行。 好吧,当然了,我们一般情况呢,尽量保持这个按压器,我们先简单一点,你不要不要乱乱写别的别的功能啊,一般就是用来做一个导入,好吧? 好,所以呢,这样他可以帮助我们在呃批量导入一些内容啊,而不需要一个导入。来我们看一下啊,呃,比如说,嗯,咱们继续说, 好,大家看啊,比如说我在这个 b, 啊啊啊,不,反正在这个 a 里边吧, a 里边, a, a 包里边的这个这个文件里边,我在这里面写什么呢?嗯,比如说我写一个 abox 托特啊,哪炮托特?能炮什么? nice, 是吧? 导入 a 包,大家看啊,这里边我写这么这么三句话,那就意味着什么呢?意味着当我们去导入 a 包的时候,是吧? 比如说这个导入 a 啊,导入 a 包的时候呢,他要执行谁呢?他就会执行他下面这个文件,这个文件懂我意思吗?执行他。 好,来我们来试试啊,一抱腿,然后呢?跑一下来看倒入 a 包,是不是他呀?那么他相当于包,我们直接用这个。

在许多的工作场景中啊,都需要用到中文分词,比如搜索引擎需要对搜索内容进行分词,以便更准确、精确地匹配。比如电商平台对于商品名称描述,分词能够更好地匹配用户的搜索意图。还比如 智能客服可以通过分词理解用户的提问,更准确回答问题。那 python 中啊,有没有更好用的中文分词工具呢?当然有了,姐吧就是一个非常优秀的中文分词第三方库, 他需要通过这条命令来进行安装。解巴支持精确模式、全模式和搜索引擎模式,可以根据自己的需求选择不同的分次模式。我们来看一下他的具体视力吧。

我们知道了包和模块他俩之间的关系,包和模块能够解决这个代码的复印性,比如说我现在这个 c 三里边有一些变量,还有一个函数, 要想实现代码的复用性,比如说我在戴帽二的 c 家里面想要去引用 a 变量,那这时候你写 a 是不可以的,还是报错的?找不到,那这时候我们如何去寻找这个 a? 是不是要知道这个 a 在哪里? 我们知道这个 a 是在 c 三里面,但是这里又有一个问题,这个 c 三呢?在 m 一 里面有 c 三,在呆木二里面也有 c 三,我们是不是还要往上写一层?这个是呆木一里面的 c 三,这样叫做一个命名空间,也就是他的一个路径,通过 这个路径去查找引用的这个变量。那么还有一种情况,就是一个包里面有纸包,你比如说我这个 c 三在纸包 t 里面, 这个同样也是他的一个命名空间。好,那这是他的一个层级结构。现在呢,我要导入 两种方式,一种是直接用这个 apple, 这后面呢通常加的是模块名, 直接写到这个 c 三就可以了。这个 c 三是某块名,我们不可以把这个 a 写在这里的,这是会爆错的,我们导入进来就可以使用了。那如何来使用呢?我们需要把这个路径给他写全 弹幕一点 t 下面的 c 三,下面的 a 变量运行一下, a 就被打印出来了, 那么这里会涉及到一个问题,如果说之后还要导入很多变量,这里是不是有重复的代码?如何来解决?命名空间过长?有两种方案,一种是起别名, 就是将前面这一串入井,给他定一个别名。 m 可以通过 m 来导入当前的这个变量, 再运行一下,这结果是一样的,这是第一种方式,第二种方式是通过 furm frum, 后面通常也是放的这个某块名, m, e, t 一直写到这个某块名这里面 angpot 从这里边去导入谁 这里直接加变量也可以啊。或者说你写了一些函数,像我们这里边定义了这个爱的这个函数 都是可以接到这个 apple 的。后面的我们再来试一下,我们将这个 m 先给他注视掉,这种方式也解决了命名空间过长的问题。

开放中导入模块的两种方式上代码,假如说我们要从 tim 模块中来导入 slip 方法,我们看一下。方式一,我们直接使用 mpose 来导入碳模块,然后在调用的时候呢,使用 time 点 slip 来调用这个 slip, 接下来我们看方式二,倒入的时候我们使用 from, 后面是模块名,接着 apod 方法名,在调的时候,我们直接通过方法名来进行调用, 在使用的时候推荐大家使用这种方式,如果我们的代码中还有其他的模块,这个模块也有一个同名的 sleep 方法,当我们在调用 sleep 的时候,就不知道是调用哪一个模块的 sleep 了,那么这个时候呢,推荐大家使用方式一,小伙伴们你学会了吗?

一分钟学会一个盘子知识点,今天我们来介绍一下导入模块的两种方式,第一种方式呢,咱们使用 impot 导入一个模块,第二种方式我们使用 prom impot 来进行导入,他们两个有什么区别呢?上代码,比方说我们要从太阳模块中来导入 sleep 方法,我们看一下方式一, 我们直接使用 imposs 来导入 tan 模块,然后在调用的时候呢,使用 tan 点 sleep 来调用这个 sleep, 接下来我们看方式二,导入的时候我们使用 from, 后面是模块名,接着 imposs 方法名,在调用的时候,我们直接通过方法名来进行调用。 在使用的时候推荐大家使用调整方式,如果我们的代码中还有其他的模块,这个模块也有一个同名的 sleep 方法,当我们在调用 sleep 的时候,就不知道是调用哪一个模块的 sleep 了,那么这个时候呢,推荐大家使用方式一,小伙伴们你学会了吗?

好,同学们,那么这一小节啊,我们要去学习一下导入模块的写法。 那首先呢,老师要说一下啊,在咱们拍摄语言当中啊,一共有三种最基本的导入模块的方式,一会呢,我们要去挨个学习并做实验。 除了这三种最基本的写法以外,我们还有另外两种爱字别名的形式,那么这种爱字别名的形式可以做到将某个模块名或者是功能去重命名,以辅助我们程序员快速记忆或使用这个模块名或者是爱功能。 那么接下来啊,同学们,我们刚才说有三种最基本的导入模块的方式,那我们是不是就要挨个去学习不同的导入方式,以及导入模块之后 如何书写调用功能的代码?那首先啊,我们就进入到咱们之前用过也是导入模块最简单的一种写法,那么这种写法呢,就是音炮,他导入某个指定的模块名写法就是音炮的空格跟上目标模块名就行了。 当然老师要说一下,呃,像我们这种音炮的导入模块的方式,可以去书写成音炮的模块名一,逗号模块名二, 逗号模块名三,依次向下类推。言外之意就是说,如果我们用这种逗号隔开模块名的形式,可以做到音炮的一次性导入多个模块。但是 同学们注意啊,老师这里说了一个转折,但是咱们派三的 p 一 p 八规范 不推荐因泡特一次性导入多个模块这种写法,推荐的写法就是因泡特空格跟一个模块名就可以了。 当然那同学们还记不记得咱们之前因泡泡软的母之前写过因泡的太母,这都是按照咱们这种写法去导入的模块,对不对? 那接下来老师问同伴,还记不记得像我们这样去书写导入一个模块之后是如何调用的?模块里面的功能还记不记得 哎?非常好了,像我们音炮的导入软的木之后,想要调用功能是不是软的抹点软的印,他是不是就可以了?那继当导入模块之后,调用功能的话,是不是必须得是模块名点功能是不是才可以? 那接下来啊,同学们,我们啊,现在就这样掌握了第一种最基本的写法之后,咱们是不是要回到拍场当中去分析一个步骤,咱们自己去做实验,但是在做实验之前,同学们,老师先把咱们实验的代码做一个规范,功能做一个规范。 那同学们啊,老师介绍一个咱们呃已有的一个模块叫做 nice 模块, 这个麦子模块啊,是我们拍摄语言当中的去制作,去操作数学方面数据相关的模块, 那么这个模块当中其中有一个非常非常简单的一个功能,叫做 s q r t 这个功能,这个功能是做开平方计算用的,记 s q r t 小括号填上一 数字,可以做到把这个数字做开平方计算。那同学们,也就是说当老师 nice 点调用这个功能的时候,小括号填了九,将来返回的结果即为三。为什么是三呢?同学们想想, 哎,因为老师说这个功能是开平方的功能,那同学们就讲几的平方是等于九呢? 哎,是不是三的平方是九,所以那么将来我们控制台打印出来的结果他必定为三。那接下来啊,同学们老师这样打算, 我们刚才说是不是有三种最基本的导入模块的方式,咱们就把这种导入模块的方式分别都用我们的麦色模块下的开平方这个功能去做实验。推门讲一下,如果我们导入 这个模块并调用了功能,这个功能是可用的,那说明我们的模块是不是就导入成功了?那接下来同学们啊,咱们现在啊就回到拍场当中去,把需求定了步骤分析一下,然后我们开始书写代码做实验是不是就可以了? 那接下来同学们咱们打开拍叉木,在拍叉木里边啊,同学们要注意,我们要测试不同的写法, 需求就是什么,哎,我们是不是要基于卖死这个模块下的 s q rt 这个功能,这个功能是干什么的呀?是不是开平方计算用的,对不对?开平方计算用的。 那么接下来同学们我们的需求明确了,那接下来我们是不是要分析一个步骤,同学们我们是不是要测试 试的是模块导入方式以及是否导入成功?那所以同学们我们分析一个步骤, 第一步是不是应该按照不同的写法我们去导入模块,第二步是不是测试是否导入成功?那怎么测试呢?我们导入之后调用该模块内的 s q r t 这个功能是不是就可以了? 那么接下来啊,同学们,也就是说我们所谓的实验是不是就分成了两个步骤就可以了?那接下来咱们就把第一个 导入模块的方式是不是就是音 patt 跟上模块名这个方式,咱们去做一个实验,那么同学们注意啊,语法老师先记在这是不是音。 patt, 我们空格跟上一个模块名, 这是不就是我们刚才所说的第一种写法,对不对?哎,老师在这里啊,加上一个方法一这个标识,那同学们注意啊, 我们导入模块的写法是不是放在这了?我们第二步是不是还要测试是否导入成功?那同学们还记不记得像这种写法,导入一个模块之后,我们怎么去调用功能? 哎,是不是就是模块名点功能调用是不是就可以了?那接下来啊,咱们马上去做实验,是不是音炮他导入一个模块,是不是?刚才咱们定是麦斯模块? 那接下来呢,我们是不是要进入到第二步,要测试一下是否导入成功?那怎么办呢? nice, 是模块名打点,咱们调用 s q rt 这个功能小括号,咱们跟 笔记要要做九的开方,那么接下来咱们加一个 plun, 他去打印一下,看一下得出来的结果是不是三,是不是就可以了。那么这个时候当我们右键软同学们来看一下,得到的结果是不是确实为三, 但是同学们千万不要奇怪啊,问老师说,老师啊,为什么得出来的是三点零啊?同学们还记不记得 在咱们拍摄语言当中,涉及到类似于除法计算,不管参与计算的数字是否有符点数,将来反馈回来的结果他一定是一个哎 负点数,所以在我们这里开平方计算也不例外,那九开平方得到的结果是不是三点零,对不对?哎,那么这就是我们哎导入了麦斯模块并调用了功能, 功能调用成功了,说明模块是不是就导入成功了?那么这就是我们的第一种关于我们导入模块以及功能调用的写法。 那接下来啊,这种写法的话,咱们在很久之前啊,已经用过过好多次了。所以在这呢,咱们简单做一个实验,实验之后老师把视频稍微暂停一下,咱们后续再去介绍其他的写法。啊,那老师暂停视频。
![[25] Python引入模块 | 别人写的,拿来吧你 #计算机编程 #Python #零基础编程](https://p3-pc-sign.douyinpic.com/image-cut-tos-priv/4582b88a72c5f857bc64100869bf16a8~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2092230000&x-signature=U816MDKIT6PUEKBqNoRPbRXlz%2BI%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=202604222352121A586937FE31B0B88275)
程序圆圈有一句流行的话叫不要重复造轮子,意思是既然已经证实了圆形的轮子好用,直接拿来用就得了,不要再自己去捣鼓其他形状的轮子了。这句话要在上学的时候说就不管用, 你不能跟老师说开,代表已经把满分的作业做出来了,我拿来抄就得了,不要重复造轮子嘛。在写代码的时候,把别人写好的代码直接拿过来用是非常正常并且高效的行为。 比如如果你要对列表里面的所有数字求和,你可以自个写个函数,然后每次需要求和时就叼用这个函数。但排场已经给你提供了一个叫 sum 的内置函数, 直接吊用就可以得到列表里所有数字的核,就没必要自己定义。你可以在拍档官方文档里查看所有的内置函数, 里面包括了我们已经熟悉的 print land, 但由于内置函数数量毕竟比较有限,很多情况下不够解决我们的问题。比如里面就没有一个可以帮助我们找中位数的函数, 这时候我们可以把目光投向拍档标准库里的其他模块,模块就是一个拍档程序,引入模块后,里面的函数和变量都可以为你所用。 比如你想计算一串数字的中位数,你可以自己写一个函数出来,先对列表进行排序,然后通过缩影取出中间那个数字,这里面连在一起的两个除号是除完后再向下取整的意思。 但是除了自己定义函数,你也可以引入拍档模块里的函数。比如拍档有个模块叫 statistics, 帮助进行统计相关的 计算里面就有个叫做迷恋的用于计算中位数的函数,那么这一坨代码就可以被简化成两行代码,第一行引入 statistics 模块,第二行使用 statistics 模块里面的迷恋函数。 有人会疑惑,为什么 sum 是内置函数,而这个 medium 不是内置函数,必须要引入后才能使用, 原因是内置寒暑都是很常用的寒暑,而 me 点并没有那么常用,这就像常用的家具,比如电视,可以直接摆家里,不那么常用的家具,比如烧烤炉,可以平时放仓库里,需要的时候再搬出来用。 引入模块的方式有三种,第一种是 input 的语句,也是前面示范过的那个用法,在 input 后面跟上模块的名字,比如 input statistics 之后要用磨矿里的,比如函数或变量的时候,就用磨矿名点函数名或磨矿名点变量名来使用。 第二种是用 from input 语句放后面跟上模块的名字, input 后面跟上你在那个模块里要使用的函数或变量,多个的话用逗号进行分格。 这样的好处是你每次要用到那些函数或变量的时候,不需要再带上模块的名字。 第三种是用 from input 新号语句放后面跟上模块的名字。这样做会把模块里面所有内容都进行引入,你在使用时全都不需要在前面跟上模块名了。虽然这样做在你需要用到同一模块里多个内容是很方便,但仍不推荐 使用。原因是用新号的时候,模块里所有函数或变量都会被引入,很可能包括很多你用不到的。那假如你引入了模块 a 和模块 b, 他们里面都有一个名为 abc 的函数, 这就会产生命名冲突。在电用 apc 的时候,你可能会懵逼,这到底是模块 a 里的 abc 函数还是模块 b 里的 abc 函数? 但如果使用第一种 input 的方法,通过前面的模块名,你就很清楚是哪个模块。如果用第二种 input 的方法,假如你要用的是模块臂里的 abc 函数,也可以选择性的直引入模块臂里的 abc 函数。 在拍档的官方文档里,可以看到拍档标准库里所有的内置模块,这些你都可以 input, 包括处理支付 trid, 处理日期和 和时间的处理文件的正则表达是相关的,数学相关的等等。点击模块就可以看到里面包含的函数和变量的介绍。 如果你好奇引入的函数具体是怎么写的,可以查看别人写的原代码在拍唱。如果是 windows 系统,按住 control 键点击函数名。如果是麦克 os 系统,就按住 come man 的键点击函数名。 但还有些时候,连拍档标准库里的这些模块都不够我们使用了。我们除了可以引入官方提供的模块之外,还可以引入第三方库的模块。 第三方库的意思就是不是拍档官方提供的,而是其他程序员提供的,所以数量更加庞大和多样。引入第三方模块的语法和前面的一毛一样,但不同的是,在引入之前, 你需要先安装,也就是从互联网下载别人写好的模块。打个比方,安装就像是把某个家具从家具店拖到自家仓库,而引入就像是把某个家具从自家仓库拿出来使用, 所有拍档标准库里的模块都已经在仓库里了,所以只需要用 input 的语法引入,而第三方库都只在互联网上,所以还需要先安装,使用的时候再用 input 的语法引入 pipi 点 ok, 这个网站可以对第三方库进行搜索,比如有个财经数据接口库叫 ak share, 就可以在这里搜索到,还可以查看介绍和用法。 要安装的话去到终端输入 pip install, 后面跟上酷的名字,比如 pip install eki share, 安装成功后就可以用 input 引入进来,加引入后就可以使用这个模块里面的函数了,比如可以用这个 get cffex daily 函数获取二零二二年二月二十二号的中国金融期货交易所交易数据。 拍档有很多好玩的第三方库,可以多探索探索,我们下个视频见。