好朋友们,咱们开始学习五十讲 pasen 自动化办公的。第一讲 pasen 的安装,这一讲呢,我们一共讲三个内容,下载、卸载和安装。首先呢,下载这地方给大家说两个点 啊,第一个点就是他是完全免费的,因为我看到很多朋友还在网上买 python 软件啊,或者是你百度一下有一些网站他就卖这个东西,但其实他是完全免费的,下载网址是后面这一个 python 点,偶尔歌。 但是为什么会存在卖拍子软件这个事情呢?因为很多人他打不开外网啊,因为这些拍子啊,各种编程软件呀,都是国外开发的啊,我给大家已经下载好了,放在我们视频的置顶评论,你直接去领取就行了啊,永久有效。 最后一个呢,就是也想给大家说一下,拍子有很多个版本,我们用哪个版本呢?我们一般都是用最新的,也就 就是三点一一这个版本啊,如果你是做专业开发的话,推荐你用三点一零,在之前的呢,就不推荐使用了,比如说像拍弄三点七,网上很多资料是基于这个版本开发的,但是实际上他已经拍弄官网已经停止对他的维护了啊。最后一个呢,等会我也会给大家演示一下如何下载旧版本啊,如果你就是想要旧版本的话, 在官网里怎么找另外一个呢?就是,呃,给大家演示一下安装和卸载啊,为什么要安装卸载呢?这里说一下,因为很多朋友他就是说,哎,我听说拍子挺好用的,我想尝试一下对吧,但是发现尝试完了我就不要了啊,或者是呢,有些朋友他安装时候出现了问题,需要卸载了重装, 所以说因为网上关于卸载的教程还是挺少的,所以我们这里补充录这样一个内容啊。另外呢,就是安装的时候大家注意两点,就是我视频里的每 一步,请大家一定要和我一模一样,因为编程他是一个讲究细节的事情啊,你有任何一步和我不一样,后面不管你是使用牌粉还是听我们这个课程,都会出现你解决不了的问题 啊。如果你是专业开发,你可以随便,但如果你是小白的话,请一定要和我一致。好,首先呢是 pathen 的下载,打开我们 pathen 的官网 pasen 联。哇,哥,大家看你不懂英文也没有关系啊,很多朋友说不懂英文,你就跟着我点哪一个你点哪个就行了 啊。这里有拍森,拍森的,下面有一个第二个图标,叫做当路的,他这里就有一个拍森,三点一一,你直接一点击,他就开始自动下载了, 这是下载当前版本,如果说你想哎老,你想说哎,老师,我想下载一个旧版本,你就点击这个 or release, 这里面有所有的版本。好, 点击之后呢,你的画面是这样的,你可以看到这里有三点一一零,三点一一,三点九,三点八,下面呢是具体的版本,比如说我现在想下载这个,呃,三点一,零点一一,你就再点进去,点进去呢,他是这样的一个画面,往下滑,滑到最下面 就有它的下载包了。好吧,各种不同的系统,比如说 windows 啊, mac 或者 linux。 windows 的话,你就直接点击最后一个啊,你是四十六十四位就点六十四位,如果你是三十二位的电脑呢,你就换一个六十四位的电脑,再来点击六十四位啊,因为现在不建议用三十二位的电脑去学编程了啊,这都是被淘汰的东西了。 好吧,这是关于拍摄的,下载好,下载完了之后呢,你就会在你的电脑上看到这样一个 安装包啊,不管你是在官网下载的还是拿的我的安装包,我都给大家把各个版本都下载好了。好吧,置顶评论里领取之后是这样的状态,我们接下来就开始安装了。好,咱们现在开始安装, 首先拿到我们的安装包,双击三点一一啊,因为我这里是所有的版本都下载下来了,大家双击你电脑上的三点一一就可以了,然后他会跳出来这样一个画面,大家注意啊,这里最下面这个小框一定要打个对好,不然的话后面会出很多很多的问题, 好吧。然后第二步,选择自定义安装,不要选上面这个啊,选下面这个自定义安装,这里要注意确认一下,这四个地方都打勾了啊,虽然说有些东西你是用不到的,但是这个 p i p 你是一定会用的啊。第二个,好吧,你就 确认他全部都打勾了啊,因为对小白来说,后面你自己添加很麻烦。再往下第一行打勾,后面这两行不用打勾啊,可打可不打没有用啊。然后 找一个安装位置啊,因为很多人他可能默认 c 盘,不要装在 c 盘啊,会让电脑变得非常卡。找一个安装位置,然后呢,要保证这个安装位置的文件夹名字吧,没有中文名,也没有空格 啊,我一般都是装在呃拍子三点一这样一个文件夹下。好,大家一定要确认这个路径是没有中文,没有空格,没有特殊符号的啊,全部都是英文和斜杠。好,然后选择安装就可以了,这个安装相对来说还是比较简单的,但是安装之后呢,咱们要检查一个地方,等会安装完了,我带大家 大家一起来检查一下,好,到这里跟上的。大家在弹幕里打个六六六。好吧,有问题的可以在评论区或者是弹幕里提问啊,每个弹幕和评论我都会看好,大家看到这个画面就说明我们的安装是成功的。 点 cloth, 然后咱们做一个检查啊,打开你的终端,大家在搜索这里输入 c m d 选择命令提示服务。好,打开以后呢,在这里面输入 p i p list, 如果你的 prp list 是可以输出 package 和 version 的啊,就是你可能没有我这么多东西,但是你最少会有 package 和 version 这两个东西啊,如果它是报错,那说明你的安装是失败的。最好的办法 呢,就是你卸载,看下面的视频卸载,然后重新装,和我刚才的步骤一模一样,你肯定是刚才有忘了打勾的地方。好吧,这是对小白来说最快的方法,如果你觉得,哎,我不是小白,我想你学一个专业的方法。好,你就来这里,打开你的环境面料。 好,就我相信你是专业的人,你肯定知道环境变量是什么,然后找到这个 pass 系统变量里的 pass, 然后选编辑,确认一下你这里有没有 python 三点一 script 和 python 三点一一啊,这两个环境变量啊,这是专业的人可以来看,小白就别来看了啊,因为你学配置环境变量,你可能得学一个小时好不好, 这是验证我们成功的方法,能看到 package 和 version, 说明你的安装是成功的好不好,或者是 更简单的方法,直接输拍粉,他这里会出现拍粉三点一一,他不会报错。好,到这一步大家就安装成功了。好,我们安装完了之后呢,看一下如何卸载,因为很多朋友啊,他是想尝试一下使用拍粉,对吧,他 觉得拍成不好用,他可能要卸载掉,或者是啊,有时候你遇到问题呢,你也得卸载,但是拍成他和其他的软件不一样,比如说像我们这个,呃,装个什么音音乐软件呀,是吧?聊天软件,他有图标,拍成是没有图标的。那我们怎么卸载呢? 来,大家跟着我一步一步的做啊,点开我们的搜索,在这里面呢,输入应用啊,大家看到有一个添加或删除程序,点进去,然后在这里呢找到我们刚才安装的 python, 哎,这是我们的 python 三点一一,对吧,在这里点击卸载 好,大家看到它就会自动的去卸载你的软件了,这里不需要点任何按钮,等着它自动完成就行了。在卸载完成之后呢,还是同样的,找到你的环境变量, 然后找到系统变量里的 pass, 把它点击编辑啊,找到我们的 python 三点一一,看一下 他是不是自动给你清空了,刚才安装的时候,这里是不是他自动给你设置的,现在大家看卸载完了之后,他自动就没有了,确定卸载完成和环境变量已经清空了,那你的卸载就是成功的。好吧, 好朋友们,下一讲呢?我们开始学习拍叉姆的安装,他和拍森是两个不同的软件,拍叉姆是用来编写拍森代码的。喜欢视频可以点个关注,点个收藏和转发,我们下一讲再见。
粉丝8206获赞6.0万

同学们大家好,今天给大家带来一个关于 python 与拍叉的一个安装教程,怎么去安装好这个 python 的 环境以及拍叉这个编辑工具。那第一步,打开浏览器 在这的话呢,我们访问一下这个 python 的 官方网站,三 w 点 python, 点 o r g, ok, 有 车,这个是官方网站好吧,不过需要说明的是,这个网站因为服务器在国外, 所以你访问的时候呢,大概有一点点卡顿,那你看我这里就是刷新半天没出来是吧?当然这个其实不等没关系啊,因为我们是来下载拍摄的。首先如果想下载选择选择,这里有个叫 download, 就是 下载的意思,点击这个按钮点一下, 好吧,点这个按钮点一下,然后就会进入到这样一个下载页面,以及它这里还给了一张图片。啊,什么呢?就是关于 python 的 一个版本支持的问题,毕竟像 python 有 很多版本的,对不对?你看这里,比如说从三点六,三点七,三点八,三点九,三点十,三点十一,十二,一直到十六,是吧? ok, 那 这个版本很多啊,我们怎么选呢?一般来说,你注意看在这里如果是红色的,全部都不选,红色什么意思呢?意思就是这个版本已经停止更新维护了,也就官方不管这个版本了,或许有任务 bug, 你 需要你自己解决, 那这个问题就比较麻烦了,所以一般来说,我们不会去选择这个带红色标记的已经停止更新维护的版本。 好吧,那其次怎么选呢?那除了这个红色的,还剩下三到十到十六,对不对?但是你要注意啊,有些版本还没发过啊,比如说你看这个三点十六,三点十六的话呢,他是第一个版本是什么时候发?是二零二七年十月六号,这还没到,对吧?甚至现在三点十五,三点十五也没到呢,要等到二零二零年十月一号了, 是吧?所以这两个版本目前只是有规划,但是还没有实际发布,那么也可以排除,所以目前你能够下载的最新的版本是三点十四啊, ok, 也就是这个版本是目前能下到最新的版本啊,就这个,那也就是从三点十到十四,对吧?这一二三四个版本 啊,不对,应该是五个,十,十一、十二十三十四,一共五个版本,对吧?好,那么这五个版本怎么选呢?呃,先说明, 如果你只是学 python 的 基础语法,那么优先建议你直接使用最新的版本,如果你可能以后还会学到,比如像爬虫啊啊这个数据分析啊等等相关的,那么更推荐呢,用带有 这样一个标记的版本。好吧,前面这个三点十四和十三这两个版本有个 bug, 什么? fix? 对, 这什么东西呢?意思就是这两个版本目前还有 bug, 还需要修复,而这几个的话呢,目前已经修复完毕了,没有 bug 了,你可以放心用。 好吧,所以如果只学基础语法,只用最新的版本三点十四,如果你后续还有其他的一些学习方式呢,那么更推荐使用这三个版本, ok, 因为要保证兼容性嘛。行吧,那这里我们就以先以最新版本为例吧,来,比如三点十四,来点击这里 download 下载, ok, 那 么进了这个页面之后的话呢,这里会有提示各种各样的一些相关信息,是不是? ok, 这个我们就不管它了,就看对应的。呃,我们这个选择版本。 呃,我是 windows 系统啊,所以我们直接选 windows insta。 那 就这个 windows insta 六十四位的对吧?还有三十二位的,现在应该很少有三十二个点了吧,我们就选六十四的好了,如果你自己是不同的系统,你自己需要区分一下。好吧,我们这个就有这个微点击下载, 然后就开始下载了啊,等它读条这个可能会有一点点慢啊,需要花点时间。 ok, 这里的话呢,推荐大家一个小技巧啊,能够快速的下载的。好,我们先让它暂停一下啊。 暂停什么小技巧呢?这样的。嗯,像这种哈,一般在你这个外网的话下载其实非常慢的情况下,那么你可以选择选择使用迅雷啊这种下载工具来专门下载他会快一些。好吧。 ok, 怎么用呢?来,你打开你自己电脑上可以装个迅雷啊,迅雷软件对吧? ok, 打开了,打开之后呢,现在怎么用呢?很简单,我们在这里复制一下这个下载链接,复制一下,然后呢它会自动在群里弹开,然后点击下载啊,我们就下载 c 盘好吧。啊,下到我这个下载目录,点击自己下载, 这个速度应该会比你这个浏览器要快多了。好,下完了三秒钟事情。我这个是直接放在就是放在我的下载目录里边啊,在这个里边,所以你看现在就好了,是吧,比这快多了。行,那这个就取消了, 关掉。好的,那么软件我们就下好了,在这里这里的话呢?呃,把它拿到放在桌面上吧,放这了。 ok, 接下来我们来讲怎么进行安装。安装的话呢,非常简单啊,就是双击这个安装包进行安装,双击一下, 好的,那么会进入到这样一个按住界面,是不是这个界面的话呢?首先,呃,第一步,记得第一个事情,先把下面这两个勾给它勾上,好吧,这是必要条件啊,特别是下面这个必须要勾,否则到时候你这个命令用不了啊。一些相关的,比如 app 命令,还有 python 命令,你是用不了的,所以这个记得一定要勾选。 割完之后,接下来第二步就是下一步怎么安装,那么这里有两个选项,一个是默认安装,一个呢啊,是自定义安装,上面这个是默认安装,他会默认帮你把你的显示器装在这个路径下, 装在 c 盘里边。而自定义安装,你可以自己修改这个安装路径啊,这个就看你个人需要了,如果你想要改的话,就点下面这个,然后这里不动 next, 这里的话就改它路径了。好吧,像我个人习惯直接装 c 盘,所以的话我就不改了,你们自己可以根据情况进行选择,我就选上面这个默认的点,确定是允许 好,等它读出来结束。好的,这边提示已经成功的安装好了,是吧? set up 搞定了,那么点 close 关闭就行了,这样我们就安装好了。那安装好之后,有同学会疑问,哎,老师,哎,这怎么没有启动图标呢?我点哪里运行呢啊?这里先跟大家说一下啊, 排序是没有启动图标的好吧,你想要使用,想要运行,你是需要通过命令来进行操作的。好吧,你不像正常,比如说安装个 qq, 我 就可以点 qq 图标启动啊,没有这种用法。 ok, 这点自己录一下。那接下来我们怎么使用呢?来,我们先做个简单验证啊,打开你的 cmd 啊,这个双端 命题是不是中单?打开之后,在这边的话呢,我们输入第一个命令,什么命令呢?输入 python 这个名字对车。那么首先当我们输入 python 之后,你就会看到这样一个提示啊, python 三点十四点三,这就是我们刚刚安装的这个版本的, 这里就会提示了,是吧,以及的话呢,告诉你,哎,这里有一个三个紫色的三角形啊,这个箭头是吧?这个是 python 中单,你可以在这里面写代码,比如说 print, 呃,我们写一个 hello hello python 是 吧,你就可以写代码上运行了。就是啊,这是一个最简单的一个交互命令界面,如果不想用了,可以退出 啊,可以退出,好吧,行,由此可以确认你已经把 python 装好了,如果你想要看这个 python 装在哪个位置,你也可以通过 where 命令啊, where python, 这 python 在 哪里是吧?回车,那么它就能查到 python 的 一个安卓路径呐,在这 是吧,他找的时候也方便找啊。顺带说一下啊,在 windows 系统上, windows 系统本身会自带一个 python 解释器,但是这个解释器是用不了的,好吧,它路径放在 windows apps 里边,这个是用不了的啊,所以你就当它不存在,那么我们安装的就是上面这个, 确认一下,好吧,行,那么这样 python 的 解释器就安装好了,后续就可以用它来去运行代码啊。接下来的话呢,我们就来讲一讲怎么去写代码,也就是我们接下来需要说的啊,怎么安装拍叉? python 这个软件它本身是用来运行代码的啊,是一个运行环境,所以你需要安装它, 然后用来运行代码。但问题是我们现在没有代码,没有代码就需要写,那写代码我们就需要一个专业的这个写代码工具,也是我们所说的拍差。好,那这边的话呢?我们打开拍差的这个官网。嗯,三 w 点 jetbrace。 啊,对,就这个名字啊,然后呢,记得后面加一个点 c n 啊,为什么点 c n 呢?因为这个点 com 是 官方顶级域名。那这个是全球的,它服务器不在国内啊,所以访问速度很慢,加了点 c n 之后的话呢,它是访问国内的服务器,这样速度快一些。好吧,好,回特, 那么这样就听到国内的网站了,是吧?那就是 jetbraise 公司的一个开发的一个工具。首先我们找到产品,在产品里面找到什么?找到拍叉,就这个点它 好,进到这里面之后的话,进来我们就可以进行下载了,是吧?点击这个下载需要说明这里的话呢,存在一个版本的差别, 嗯,不管是什么系统。其次的话就是版本差别,他以前是有两个版本的,一个是社区版,一个是专业版,社区版是免费的,专业版是要付费的。功能差别就是专业版性能更强啊,工具更强。好吧,有些功能是社区版不支持,但专业版支持, 所以这里的话呢,我们用的话尽量还是用专业版好一些。但有一个问题在于什么?在于这个专业版他要花钱买啊,没关系,我们可以用破解工具。 好吧,你有钱就支持吗?没钱的话呢,我们先用破解工具试试。好吧,但是目前最新的版本破解很麻烦,所以不推荐最新的版本。 ok, 这边我们选择其他版本点这, 然后呢选择二零二四版,这个版本破解起来更容易一些。好吧,二五版的很难破解,而且挺麻烦的,所以我们选择二零二四版,然后我个人用的话呢,是那个二零二四点一点七,所以的话呢,这里我就下载它了。好吧,就这里好几个版本,注意啊,我们选第一个 windows, 点一个 c, 点它点一下子, 然后等它读条。这个下载速度因为是国内服务器,所以下载速度是比较快的,我们等一小会就好了。这个应该在验证了。打个问号啊,就是找到我们刚刚的安装包,把它同样也放到桌面上吧。 给它放到桌面上去啊,我们看一下,现在我们同样的获得了一个拍叉的安装包,那接下来我们就来进行使用,是吧?双击安装,双击启动这个安装包, 那这个环节比较大,所以请呢可能会等一小会有点慢。好,然后选择是 开始安装。呃,这里下一步,然后这个是安装的位置,安装位置的话呢,你可以进行修改,就看你自己需要我的话呢。呃,我就默认路径。好吧,我就不改了,懒得改了,我 c 盘空间是扣的啊。下一步, 然后呢,这个页面选择。呃,第一个肯定是要的好吧,你一般想要在桌面创建一块图标,启动的话这个还是要的,第二个是必须要勾的。好吧,至于下面两个呢,看你个人习惯,我一般不勾,然后选下一步,这里的话呢,嗯,不做改动,直接点安装就好了,然后等它图片结束, 这就开始安装了。好吧,然后你可以看到呢,在桌面上就会出现一个这样的图标,就行,双击启动就好,这里我们等它安装,稍等一小会儿。 好,那么这里的话呢,就已经安装完成了,我们点击完成就行,接下来就是启动啊,怎么启动呢?点这个啊,双击启动。好的, 首先会进入到这个界面,告诉你。呃,你是要先试用三十天呢,还是要先激活你的账号呢?因为我们前面说过专业嘛,是要花钱买的对吧?啊,那我们这边呢,就先选择试用,先用试用的方式再激活,但是大概率试用不了,因为我之前试用过了,所以那怎么办呢?没关系,先关掉 啊,关掉,接下来我们来进行激活。怎么激活呢?呃,这一个工具啊,找到它,选择解压缩提取, 然后呢会得到这样一个文件夹,我们打开看一下啊,里面的话呢,双击,在这里面有一个激活工具,就是拍叉激活工具。好吧,点 vbs, 那 么我们就双击这个文件。好,然后这题是什么?嗯, success 成功,你现在激活了拍叉,激活到是多久呢?激活到二零九九年,应该够你学了吧。 好了,那么这样就可以了,接下来我们就来进行启动。那刚激活完了是吧,重新试一下双击, 那双击之后,哎,你会发现是不是没有那个激活提示了,对吧,这就代表已经进来了,能用了。好吧,那首先你可以看到这个界面是个纯英文界面,是吧?老师,我不会英文怎么办?或者我英文不太熟悉怎么办? ok, 如果是这种情况,那么简单找到这个插件选项,就倒数第二个,这里插件在这里面的话呢,我们搜索一个中文插件,别找错了, c h n e s 全的意思,就中文的意思。好吧,那就是它 注意啊,这个图标是一个汉选择这个,因此的安装,安装这个插件,这是个中文插件,是由官方提供的中文语言包,所以呢,我们装完这个插件之后,他就会有中文界面了,来重启一下, 而是再来重启的意思啊,重启之后,你看现在就是中文界面了,是吧?那这就熟悉了吗?是不是英文不认识,中文是认识的啊。 ok, 接下来下一步是用它来干嘛?写代码,创建项目是吧? ok, 这条创建项目呢,不能直接写代码,所以点击新建项目。 然后这里的话呢,我们看一下,首先第一个项目名称,这个名字你随便起啊,比如说我们这个 python project 的 一二三,我随便起个名字。其次第二个就是它这个项目放在哪 啊?他会告诉你我这个项目存放的位置,那么这个东西的话呢,先说一下啊,这个位置尽量你自己注意一下,要找得到,你到时候要找不到的话呢,你这个代码在哪你都不知道,是很尴尬的,所以尽量把这个位置调到一个你熟悉的地方,那这里我选择,比如说我把它放到 啊,我放到第一盘,第一盘 project 里边,好吧,因为我专门把代码放这里边,就放这里给大家看一下吧,我写代码一般都是专门建一个文件,就是叫 project, 然后里面的话呢,就是我放的代码,好吧,我就放这里啊,放在第一 part 这个文件里边,然后我的项目名称叫 python, 这个零幺三啊,就可以了。然后呢这边计时器,它会自动读取你当前安装的这个系统计时就是我们刚刚那个 python, 对 吧?就是它,你看三点十四的,然后选择创建 啊,点创建,然后这里我们就要等它创建,然后这里我们就要等它创建,创建需要一点点时间。 ok, 应该可以了,收起来啊,界面我给它全平了吧。 然后这里要开始读条啊,读取你的判断解数器,这个我们需要等一下强调一下啊,这里在读条的时候尽量不要做其他操作,比如说我写你个代码运行,那不行的,将会导致运行报错了,好吧,有些事情运行不了, 所以尽量等这个读条结束之后再做下一步操作来。那么我们来介绍一下关于这个里面的一些目录。首先第一个目录,这里有一个点 v n v 的 一个黄色的图标,是吧?我们先点击这个向下箭头,把它收起来 啊,这是虚拟解数器,每个隔离环境。好吧,你也可以不用管他,你就把它收起来好了。 ok, 然后下一步你就可以写代码了,比如说我们新建一个代码文件,选择新建,然后新建一个拍摄文件,是吧?起个名字吧,啊?就叫 test, 一 二三, test 测试的意思啊。好,那么你就在可以在这里边写代码了,比如说我们随便写一个,写个大家都熟悉的,嗯,随便算第一个, 第一个编程是吧?就是 hello world, 是 不是? ok, 那 么这样就写好了,写好之后运行怎么运行呢?鼠标右键点击一下,然后呢选择运行啊,选择运行,然后点一下就可以了,那么这样它就能运行了,是吧?或者如果你英文不熟悉的是吧,那就改成中文,你好世界, 对吧?那你好,世界行了,点击就行,你看就变成你好世界了,是不是很简单吧,所以这样我们就可以把拍叉安装好,然后呢创建项目写代码,是吧?想怎么写怎么写,就在这面写,不过这里有几个小问题,第一个小问题是什么呢? 就是这个界面它可能有点小,是吧?这个字有点小,老是有点看不清,怎么办啊?可以设置一下。怎么设置呢?来选择这里设置。 呃,在这个地方呢,我们外观这一部分啊,我们选择这个自定义字体,好吧,自定义字体,然后呢把这个大小稍微调大一点,就调上面这排字啊,把界面调大一点,比如它是十二的吧,我们改成十六应用一下看看。喏,你看这个字是不是变大一些了啊?看着是更舒服一点,我们点确定吧。 啊,看一下这个字体是不是大一些了,界面就大一些,看着舒服一点啊,太小的话呢,看着有点模糊,然后其次就是代码,这个代码的字还是很小,是吧?这个怎么调呢?也可以调, 找到这里文件选择设置在设置里面的话呢,让我们来看啊,把这个外观收起来,找到编辑器这个选项,编辑器在编辑器里面呢,找到这个字体,然后呢他的默认大小是十三,对吧?这个字很小,我们可以把稍微调大一点。右边可以预览啊,比如把十三改成十八 啊,你看这个字是不是变大了,或者改成二十,那是不是更大了?我们就以二十为例点确定好,你看这样的话呢?这个字也就变大了,是吧?就更清晰一点,好吧?最后运行 ok, 搞定,那么行,这就是关于 python 和 python 它的一个安装以及使用。

清华大佬耗时三个月录制的全套拍算教程存下吧!最新版七百四十八集,全程通俗易懂。警告, 本视频由清华大佬耗时三个月精心录制,制作时长六百四十八分钟,带你系统性的学习拍算核心语法,这应该是全抖音最良心的入门到精通的拍算教程,零基础小白也能学会。由于视频制作时间较长,本教程分多期发布。在过去的一年里, 我认真整合了关于 python 的 所有知识点,并对整个学习框架进行了更全面的升级。为了让同学们更轻松的学会 python, 我 给大家准备了超多小福利, 不仅有各个版本的 python 开发环境资料包,还有易懂的课间,丰富的素材,实用的电子书,更有清晰的思维导图和详细的学习计划表。只要你能想到的素材,我这里几乎都有, 我都会整理起来放在粉丝群,有需要的伙伴留言打卡学习,可一步获取。相信我,这套 python 系统课程将会是全网最齐全最易懂的小白专用课! 好,那接下来咱们就来编辑我们的 python 第一个程序,对吧?那第一个程序呢?基本上离不开 color word, 那我们来到 windows 里面给各位去演示,首先我们在这个地方呢,还是把那黑窗口给它调出来?那调出来调出来之后呢?我们上节课讲过是吧?可以输入 python, 那 输入 python, 然后进入到 python 解释器里面去, 那么这个时候我们就可以直接写代码了。哎,直接可以写代码了,那么我们可以写 print 括号啊!注意啊,这个标点符号必须是英文状态下的标点符号,然后在这块来个双引号,然后往回写上,你好, hello i i'm a good man。 好 吧,随便写一句话或者是 hello world 都可以,那我这块回车对不对?哎,程序就开始 hello i'm good man, 那 么这句话的意思是什么呢? print 对 吧?打印,打印什么,你往里面写什么,它就给你打印什么,但是前提是你写的内容必须用引号引起来, 哎,你用引号引起来代表的是你要打印的内容是什么东西,对吧?那就是咱们的第一个程序,但是各位,我们来思考一下啊,思考一个问题,我们写程序如果每次都输入一个 python, 然后在这里面去写代码的话,你想一个事啊,比方说,我我我 print 啊,这个,呃,我叫马化腾,我叫麻花藤 好了,对吧?我叫麻花,等好了再来 free 去来。呃,我特别喜欢玩 dnf, 好 了,就这好,接下来各位请看啊,我此时这个程序假设我写完了,一共三行,一行是它,一行是它,还有一行是它,那么各位, 我如果说这个程序我告诉你写完了你会发现有点问题,问题在哪呢?我想把这个程序啊再运行一遍, 哎,重新印一遍,那么此时你是不是就相当于还得重新打开一黑窗口,然后在黑窗口里面重新把这三句话是不是再打印再再写一遍,对吧?三行还好,三百行,三万行,三十万行,你怎么办?你是不是哭死, 对不对?你怎么办?哎,我们肯定是想办法把这个代码是不是存起来,存文件里面去是不是就 ok 了,对不对?那怎么存文件里面去?我们可以在桌面右键来新建一个这个这个文本文档啊,然后呢, 在这个文文本档里面呢?我们先不要写东西啊,各位,如果你从来没有从事过开发,你一定会遇见这个问题的,就是 你的这个叫新建文文本档,注意啊,此时这个文件是没有后缀名的啊,什么叫后缀名?就没有那个点 exe 的, 对吧?那怎么把它调出来?看着啊,我们随便找一个文件夹,或者说点此电脑都行 啊,然后这个地方我们还是找文件夹,哎,找个这,就随便打开一个盘符也行啊,或者找个文件夹也行。那么在这个地方我们要去找一个这呢有查看啊,找这个查看,然后查看呢?这块有个选项啊,点下这选项,点完选项这块还有一查看, 往下拉,哎,往下拉这块有一个这么个玩意,叫以隐藏已知文件类型的扩展名,就说白了,本身它是有 exe 啊,或者 tst 这些东西的,但是 被隐藏了,把这勾给它去掉啊,作为一名开发人员,这个勾不应该存在,来点应用,点确定, 然后,然后你再回到桌面看,你就发现新建文本文档点 txt, 看到了吧。然后我们就可以右键重命名啊,给你重,给你新建这个文件重重命名,比方说叫 first first 点 py 啊,回车是来各位, python 代码要放在 py 文件里啊,这个 py 总感觉听着怪怪的,是吧啊,但是他人家规定就是这样,好吧,我们写在这个 py 文件里面。好,那怎么去写?右键 点编辑,然后这里面就可以。干嘛就可以写代码了啊,就可以写代码了,比方说我们写个 print 啊,括号 sorry, 一定要是英文状态的啊, hello, world, 哎,这个我写的正式一点啊, hello, world, 写完了之后别着急, ctrl 加 s 保存一下。哎,保存一下,什么是保存呢?来, 看见这文件上面有一星号没?各位,如果你的文件上面有这星号,就代表你刚才改动的内容没有进行保存,知道吧?所以这个地方你要 ctrl 加 s, 你 说我们把它弄出来 ctrl 加 s 保存啊,保存完了之后,这个就可以叉掉了。好了,我的程序现在写完了,在这个文件里面,那怎么去调用它对吧?得让它执行起来呀,对不对?此时听好啊, 各位新手小白们又会遇见的。另一个大坑出来了,很多人知道我应该输入 python 命令空格,然后呢,那个文件的名字拉过来一回车,他给你报错。为啥呢?各位,这是坑啊,你已经进到了 python 里边, 看到了吧?你已经进到了 python 里边,你在 python 的 里边,又想让 python 帮你那个事?你这不就就就就就是在在在什么呢?相当于在人肚子里面,还想让人就是就是帮你干什么事情?这这这这不成,懂吗?这个在在在这里面是不成,那怎么办? 你得从这个命令行的这个模式里面退出来, exit, exit 啊,或者干脆你叉掉重开一个也行。哎,回到原始的这个状态 啊,新手小白们啊,新手小白们,回到这个状态,然后你可以输入 python 空格,然后把这个文件拖进来就可以了啊,就是说白了是 python 的 命令啊, python 这个命令加上一空格,然后跟上这文件,他也可以回车啊,也可以帮你把这个程序给你执行, 对吧?那么这个时候各位此时想想啊,我以后再想执行我,我写好这个命令,然后加个空格,加这文件是不就行了? 所以这个逻辑是啊,比较简单的,而且这种模式啊,这种写法可以把我们的程序是不存在文件里面,对不对?想什么时候用就什么时候用,对不对?所以这个这种情况是我们用的比较多的。然后在这个位置我跟各位多聊一下啊,就是我们输入的这个 python 框,或者说这 python 到底是个什么玩意?各位, 它其实啊,由于我们把 python 的 啊,这个这个路径,对吧?咱不是把这个,这不是把这个 python, 这个文件夹,咱不是把这文件夹夹到 pass 里面去了吗?好了,你把它加到 pass 里面去之后,这个文件夹里边的所有东西在这个地方都可以直接的进行使用, 可以直接的进行使用,比方说这个地方有个 python, 看见了吗?这个文件夹里有个 python, 所以 我们这块输入 python, 实际上调用的就是这个 python, 实际上调用的就是它,知道吧?只不过这个 exe 啊,它可以省略啊,它可以省略,那么我们刚才是不是把 scripts 也加进去了,对吧? scripts, scripts 里面是不是还有个 p i p, 对 不对?那我们试一下吧啊?别试别的啊,你就就按我的来啊, p i p 走, 你看 p i p 是 不是也有反应?为什么 p i p 有 反应?因为你钓的是这个东西,知道吧?所以综上我们其实得到一这样一结论,就是我们这样的一条命运本质上是个什么东西?各位啊,这都是给小白讲的,之前如果了解过的话,其实没这个问题, 就是本质上我们这块敲的拍子是谁呢?是不是就就这个玩意,对不对?我们,我们安装好那个拍子,你们信,其实就是他,那么这个呢,就是你的 拍子文件,对不对?拍子文件。所以说白了,这个格式总结下来的话,前面是不是解就是 python 解释器空格加上什么 py 文件,是不是这个模式就可以执行咱们的 python 程序了,对不对?这个是我们要聊的东西啊,我这个键盘是不是声音又大了?各位, 我拿下面敲了啊,但是这节课基本上也完事了,基本上完事了,所以我们第一个程序就完事了啊,第一个程序基本上完事了,但是你细品写代码,我靠,在这里面写要命啊,对吧,这玩意又丑,对吧?而且呢,出了错呢,他又不告诉你,比方说啊,哎 呀,怎么会来你呢,哎,这肯定是错的,对不对啊?但是他不告诉你啊,这个这个这个这个, 这个, windows 的 这个记事本是不会告诉你的,对不对?所以此时我们肯定需要一个更高级的写代码的工具,这记事本很明显很 low, 对 不对?所以下一节我们来聊,装一个全宇宙最好用的 python 开发工具啊。走 们书接上回。那么上一小节呢,咱们成功地开发了咱们 python 的 第一个程序,但是我们用的记事本啊,很恶心,而且呢,它又不告诉你哪错了,对不对?那我说了,这节课我们要选择一个特别好用的 开发啊, python 开发工具,对不对?那常见的,就市面上我们能够遇见的说写 python 代码的东西有哪些呢?我们常见的啊?第一个就是刚才上一节我们讲的叫记事本啊记事本。那记事本呢?各位,这个就不提了啊,又丑又难用,不告诉你哪错了,对吧。第二个叫 vs code 啊, vs code 的 微软出品啊微软出品叫微软出品叫微软的,它的优势呢,就它比较小,如果你不装插件的话,它很小,而且呢, 呃,就是响应速度也比较快,写代码呢,也有提示是吧,看着呢,还是界面也比较舒服啊,当然,呃,这个东西它不光是说写 python 比较好,写 java 呀,写这个前端都很可以啊,很棒的一个编辑器啊。但是呢,我还是不选择啊。第三个,我可以选择什么呢?叫拍叉 嘛?拍叉,拍叉呢,就是我要选择的,它的优势呢,就是就是,写 python 程序的 知道吧,这个东西很好用啊,而且呢,我们用它来 delete 也好,我们用它来啊,查错也好,非常的 ok, 而且它集成了非常非常 多的很棒的功能啊,所以我选择用的拍叉,基本上号称全宇宙最好用的拍损开发工具啊,那还有没有呢?第四个有的啊,还有什么呢?叫 notebook 啊,主 python notebook 啊,这个东西呢?就是,呃,什么时候用啊?限阶段,对于纯小白而言,我不建议你上来就用这个 notebook。 我 建议呢,你还是用拍叉也好吗? vs code 也好,都都可以是吧,主 python notebook 适合什么呢?适合你 往后发展,比如说你 python 基础 ok 了,你去弄弄爬虫啊,你去学习一些爬虫也不太好,最好是弄数据分析啊,弄人工智能,弄科学计算。哎,这一波人你用 就是主 python notebook 会比较好一点,因为它能够呃分布的来去执行你的程序啊,就可以,就调试起来会更方便。那但是对于我们写啊,学习 python 基础而言,基础语法而言,拍叉是最合适的。对啊,最合适的。好,那接下来咱们就直接说怎么来去装那玩意儿,对吧, 来在这块儿拍他们双击啊。这个这个下载我就不用说了吧,各位啊,下载一会儿说等,等会儿它装起来,对吧?咱们再说它啊,是 下一步啊,至于你想把它装哪,你随意好吧,它不像是拍森那么矫情好吧,它也不用什么那个那个环境明亮,那些玩意儿不需要下一步就可以啊。然后这个地方呢,就是,是不是要创建一个桌面的快捷方式啊?是, 好吧,是不是要加到你的这个右键菜单里面啊?你想试就试,不想试也可以不试啊,是不是默认打开 p y 文件呢?想试就试,不想试也可以随你便啊。然后呢,是不是加到这个 pass 里面啊?不需要好吧,不需要直接下一步走啊,然后这下一步走 啊,这就让他装上去,装的同时回头我过来告诉你们,这个拍唱上哪找去啊,就直接百度拍唱 最简单吧。百度拍叉么?然后这前面这这这这广告看好了啊。这不是啊,下面这个是这个 download 的 拍叉么?这个是点它啊,你要看好看好,这个网址是三 w 的 jit branson com gb 公司啊, 这名起的也是霸气,就跟当年我在用友上班的时候用友说过,也也用友有有款产品叫 nc 是 吧,冷不丁哎, nc 好 好高大上啊,但是细想想是吧, 有点脑残啊。然后这地方拍他们两个版本一个是 professional 一个是 community。 community 呢叫社区版的优势是免费随便使,但是功能比较少啊功能比较少这个专业版呢就功能比较强大但是它要钱。 好吧但是这个玩意啊你往后看。好吧你往后看我我告诉你的是我这块装的是 professional 啊所以呢肯定有这个东西啊 come on come on。 这又是等待啊又是等待。就是所以说一开始的时候我们装软件的这个过程呢会呃墨迹一点啊,这块就是为了让小白们能够嗯 就真正的说能能学到东西他们能回去不碰壁。因为我见了太多的说拍摄安装啊装不明白然后反正各种各样的问题拍叉木那装饰就坑坑巴巴装上了对不对。但是呢没法用啊各种各样的问题。所以呢我就 帮你们扫清障碍啊。好,接下来就是装完了吗?装完了之后就跑吗逆行的话把这勾勾上走 啊。那桌面就多了个快捷方式嘛,以后用的时候双击就可以了。然后就是前两天有个哥们可逗了他说 这个 python 要破解吗我就疯了你知道吧 python 不 需要破解 python 是 免费的这是 python 程序这叫拍叉。这是写代码的工具啊不一样的啊不一样的呃这是什么玩意?嗯 嗯不管它呃 data sharing don't send 吧啊 don't send。 好 了接下来到这个界面这个界面呢是问你你喜欢黑的还是喜欢白的是吧。这个 啊黑的就显得比较成熟一点哇白的呢就显得稚嫩一点啊。所以呢我们成员一般都是比较成熟的啊。黑的你随意啊你随意。黑色我喜欢黑的啊。然后往下走这个地方呢不用管开始 好了到这 n 多人直接就卡在这了啊卡在这动弹不得怎么办呢。打开啊打开 这不告诉你了。哪个版本哪个版本 ok 啊哪个版本哪个版本那我这个版本呢是呃二零二零点一二零二零点一。那应该是这个玩意是吧试一下看看好不好使啊走。 嗯没反应 没反应没反应。没事打开它 哦他是先进入试用试用然后再把他拖进来 啊我拖错地方了不好意思各位我拖错地方了。没事试用这块有个免费的试用啊试用的话。嗯不让我用吗 我得先进进 来进来了啊就是就我又打开一遍就是进试用试用之后呢把这玩意儿给它塞进去啊把这玩意儿给它塞进去塞进去呢。 restart 啊塞进去 restart 这里面都有有有方法都告诉你你就照着来知道吧。基本上都没基本上都是 ok 的 啊然后呢这块儿是为拍叉母安装呃重启 a 阵呢重启后生效。是否重启你的拍叉母啊。重启 看他会不会自动重启他不会自动重启就手动重启一下。嗯 这个是适用于很多的版本很多版本好了基本上这就跳过来了如果这个跳过来之后还是不行那你再点进去你再照这个往下看知道吧照这往下看然后呢要要做做什么什么东西知道吧。这个地方都会都会教你的啊都会教你的。 嗯那个码呢那个码呢那个码我好像没放在这里头啊,回头我都打包打包进去。这那这个码也是有用的,把这个码复制过来,好像是这个地方我找一下啊。嗯,这 这呢,看把这个码给他扔进去是吧?把这码扔进去,然后点 s k, 因为我这个机器应该是之前激活过啊。应该激活过,现在已经到了二零八九年了。好吧,别的我就不说了, ok 吧,如果说你还有什么疑问,你就看这个文档,这文档就告诉你的,很清楚很清楚了啊,你就照着这文档来,基本上都没都没问题。 好了。这这不不敢多说太多,你知道吗?其实这个我感觉就有点过分了,然后接下来就是 怎么使用它,对吧?这玩意能用啊,怎么用它来 create new project 啊? new project? 这个 create project project 什么意思?就是项目,对吧?项目是什么意思?我跟你讲,项目本质就是个文件夹,就是你写的那代码,不能说东一块子西一块子,像咱们这样咱俩支棱桌面了。这这太扯了,你肯定是把它们 就是总结起来,对吧?放到一个文件夹里面去,方便你以后啊挪用啊,或者怎么样,对不对?所以我们需要弄一个文件夹,所以第一个你要填的就是文件夹,就文件夹呢,我就直接给他放在塞了里面,放在这个里面。 呃,你,你自己放好吧,这个你不要说跟着我是一样的啊,因为我这个没没办法的,我这就一个盘 啊。好了啊, python, project 或者 project 都行啊,你自己随便起,或者说你的项目叫 qq, 你 就写 qq 啊,你的项目叫迅雷,你就写迅雷就行。然后关键是下面这个地方,这个地方各位是很多小白根本就没有注意到的,直接可以的,咔就过去了,你知道吧,这是大坑。各位,这个地方它会创建一个虚拟环境, 我们现在连拍的是啥还没整明白呢,你就虚拟环境啊,虚个屁,虚来就这地方打开不要虚拟环境,选下面这个,摸摸,选下面这个,然后这个地方点一下,哎,没有没有,太好了,没有的话我们就点这个东西啊,这是干嘛?这一块是, 那你的代码是不是存这对吧?而你现在这工具是不是写 python 程序的,能写 python 程序是不是能运行? python 程序谁能运行?是不是 python 解释器能运行?那么这个地方就是你到底要把哪个解释器作为这个项目的运行的?那个解释器 能听懂吗?就像绕口令一样哈,就是用哪个解释器来关联你这个项目啊,那我这个地方没有,没有就太好了。点这后面仨点,走你, 哎,这仨点,这仨点呢?这块有个 system interpreter, 点它来就看你看你有东西没有,如果这还没有,点这三个点 啊,点这三个点,听好,我指的是没有啊,我这有没有的话点这三个点,然后打开 c 盘,呐,你的 python 装哪了呀?对不对?你的那个显示器是不是这个 python 呢?把它一 ok, 这块就有了,那我这有,我就直接选它了。点 ok, 那这是不是就有了?拍三点八对不对?那然后点 create 啊,一定选下面那个,选上面那个,你后期安装东西的时候就很头疼啊。好嘞,来,走, come on, 这玩意就就就再见,你不需要再再看这玩意啊,你想看的话你就看,我不需要看了,然后在这里面呢,你可以右键对不对?这就是你的大文件夹,大文件夹里面哎,放个小文件夹,比方说这是咱们第一次吗?对不对?第一次 啊,这个地方听好啊,学习的时候啊,你可以用中文,但是你如果真的到了工作环境是吧,你是不能是写中文的啊。新建一个,比方说 python file, 看到了吧,这地方右键啊,右键新建 单词没有啊,我们那个那个 first 是 吧? first 来看这个地方就有个 first 点 p y, 那 我们那个程序叫啥呢?叫叫叫 print。 哎呀,这个键盘真翻译来 print 括号对吧。随便写些东西。你好你好啊,我叫塞里呀, 保存哎,也不用保存,这个拍叉自动保存。然后呢,你这个玩意写完了之后看着啊,别着急, 这玩意没用,干掉你等一会看这底下有个进度条没?等这个进度条走完,因为每次你创建一个新的项目,他这块都要做一个呃,这个检查啊,所以你要等他跑完啊,稍等一会啊,稍等一会,我这个机器实在太卡,各位啊,这这这这是,我 讲完了这个东西之后我就切回去了,我再也不想看见他,你们发现没,我一开始其实用的就是他看见没,我写,我写这个东西都是在这写的啊,所以最终我肯定是把这个玩意打包给你们啊。 咦,这东西,哎,跑完了,看着底下这跑完了,跑完了之后就可以运行了,怎么运行右键啊?找到你要运行的这个 py 文件右键,然后这地方有个 run 啊, run 一下 一转。你好啊,我叫赛利亚啊,怎么运行的?你看上面 c 盘 python 三十八, python 点 es 是 不是 python 解释器, python 解释器空格是不是 ps 文件?跟咱们之前所讲那玩意是不是一样的?宝贝,所以 python 程序讲运行一定是这玩意, python 空格, 对吧?然后呢,这个 p y 文件对不对?格式是一模一样的,所以即使你用了更高级的拍唱这种开发工具,对吧?你的这个这个运行起来还是这玩意,对不对?所以我们就可以通过这一个软件, 对吧?就可以写代码,又能看见效果,是不是就不用再切那个破黑窗口了,对不对?然后呢,你如果说代码里有错误, 哎,有错误,你看他给你飘红线,哎,飘红线他就告诉你这块肯定有问题,你就检查吧,啊,基本上都是有问题啊。 ok, 那 这就是我们说我们现在聊的就比较好用的一个开发工具啊,排插,你可以去装一装,然后呢试一试。

这期视频我们来看一下如何在电脑上下载安装 python 和 python, 我 会带着你们从官方网站上下载安装包。首先我们来看 python 如何下载安装,在浏览器的搜索栏输入 python 官网, 找到 welcome to python, 点 org, 点击进入到官方网站,我们把鼠标悬浮在 download 这个单词上,会自动根据我们的电脑系统推荐安装包,直接点击右边的推荐版本下载即可 找到刚刚下载的安装包,运行这个文件。这里一定要重点注意,下面的两个选项都是需要勾选上的。 aed python to pass 就是 把 python 的 路径添加到环境变量里面, 让你的电脑知道 python 安装到什么地方。勾选上之后,我们再来看上面的第一个 install now。 默认安装会直接把 python 安装到 c 盘的这个路径,下面 我们选择下面的自定义安装,自己选择安装的位置,点击进入到下一个页面,这个页面的选项都是默认勾选好的,我们不用去做修改,直接点击 next。 下一步 在这里我们选择波塞,选择要安装的位置,点击此电脑,选择到 d 盘,在这里找到 python 这个文件夹,如果你没有这个文件夹,也可以鼠标选择到 d 盘,右键选择新建一个文件夹,输入你对应的名字就可以了。 我这里已经创建好 python 这个文件夹,所以我就直接选择 python, 点击确定,直接点击 install, 现在等待安装程序执行完毕即可。进度条执行完会出现 set up or successful, 则代表你的这个程序已经执行成功。 我们直接点击 close, 因为 python 安装完成之后并不会在桌面上出现对应的软件图标,如何来测试 python 是 否安装成功呢?我们可以选择在开始栏输入 cmd 回车,进入到命令提示符窗口,在这里输入 python 并回车。如果出现了你刚刚安装的 python 版本和一些其他的文字,则代表安装成功了。我们现在来下载安装 python。 同样的,在浏览器的搜索栏 输入 ipam 官网,找到适用于数据科学和外部开发的 ipad。 一 进入 ipam 的 官方网站之后,我们直接点击右边的下载按钮,进入到它的下载页面。 ipam 会有两个版本,一个是专业版本,一个是社区版本,专业版本的功能会更加多一些,我们直接点击绿色的下载按钮,点击下载就可以了。 下载完成之后,我们找到刚刚下载好的这个安装包,双击运行安装界面,弹开后直接点击下一步,继续 进入到安装目录的选择,同样也会有一个默认的安装位置,因为拍叉安装占用的空间比较大, 所需空间有二点六个 g, 可能会造成你的系统盘不够用,所以我们可以选择到其他盘符,点击浏览选择到此电脑第一盘,点击确定会自动帮我们创建一个新的 pq 文件夹, 选择好之后点击下一步,这里会有四个需要勾选的选项,第一个创建桌面快捷方式,会自动帮我们创建一个桌面快捷图标。 第二个是更新 pass 变量,也是需要勾选上的,一般情况下选择前两个选项就足够了, 下面两个大家可以根据自己的需求来进行勾选,是否勾选都不会影响代码的执行,这两个都是跟打开 pass 文件相关联,我们只需要勾选上最后一个,勾选好了之后点击下一步, 点击安装。因为拍唱这个软件还蛮大的,有很多的配置流程,需要大家耐心等待一下,安装结束之后直接点击完成。因为我们刚刚装的时候是勾选了添加桌面快捷方式的,所以我们可以在桌面上找到拍唱的软件图标,双击打开。 因为我们现在是第一次安装,所以会提示要激活后才能使用这个软件,大家可以选择购买官方提供的激活码进入,或者也可以在评论区留言领取激活工具。我们现在就使用工具包里面的激活工具,在使用之前需要先关闭拍卡的界面, 打开工具包,找到这个激活工具,双击打开,找到 padum 的 激活,双击运行出现 success 提示窗口,则代表激活成功,直接点击确定关闭。现在我们再来打开一下 padum, 看下是否有激活成功, 可以看到页面已经发生改变,那么现在 python 和 padum 的 软件都已经安装好了,大家就可以在 padum 上面来编辑代码了。

picasa 实操第二节 picam 的 安装,百分之八十的 picasa 系统,第一步就装错了 picam, 结果后面解释器找不到代码跑不了,环境全乱,这一集我带你三分钟正确安装 picam。 那么现在呢,我们已经准备好了对应拍唱版的安装包以及对应的激活码,在这里我们需要双击安装包,双击之后呢,会出现对应的一个拍唱版安装向的,我们点击下一步, 同时浏览位置是可以选择我们对应的一个安装目录的,当然你也可以不选择使用默认的一个安装目录,我们点击下一步。 好,此时此刻我们可以看得到啊,界面上呢有多个选择,这里呢我们要勾选的是创建桌面快捷方式,翻页幕后续的使用以及更新 pass 变量。然后呢继续点击下一步,在这里我们只需要默认选择安装 好。此时此刻我们只需要等待对应的进度条,让他完成安装好,等待加载。进度条完成之后呢,我们直接点击完成。此时此刻我们需要做一件事情,在桌面上面找到我们刚才安装的,拍上双击它, 我们呢会出现这样的一个界面啊,当然如果你是第一次安装呢,是不会有的啊,我们只需要点击 ok 就 可以了。 点击 ok 之后的话呢,哎,我们会出现这样的界面啊,这个界面呢分别是试用三十天和对应的填写激活码,因为拍唱这个工具啊,专业版是需要收费的,那我们这个时候呢,直接关掉它, 把它给它干掉,干掉之后进入我们激活码的这个文件中哎,找到对应的拍唱激活双击, 双击之后会出现对应的一个提示框,他会说啊,当前的拍上面已经激活到多少多少年,我们点击确定,确定之后我们再次打开我们的拍上面我们会发现刚才的一个试用提醒他就会消失了,我们来看一下, 当这个试用提醒消失之后,哎,其实就代表什么?代表大家的项目而已,或者说大家的拍上面已经安装好了,那在这里的话呢,我们随便去创建一个项目, 画面非常简单啊,我们只需要选择第三个,然后呢去找到我们之前所安装的 python 的 文件,大家还记得吗?我们是不是安装了一个 python, 对 不对?好,那在这里的话呢,我选择我的 python 路径,来,我来找一下,我随便找一个选择,点击, ok, 然后点击 python 创建 好,那对应的我的项目也就创建完成了。啊,那在这个界面中呢,哎,我就可以进行对应的代码书写,当然我们也可以去查看一下我们拍唱他对应的一个使用年限到了哪里, 哎,这里呢会有个 half, 里面会有个 boss, 对 吧?点击进来啊,可以看得到对应的一个使用年限,那他是二零九九,那至此我们的拍唱跟项目完成就到此结束了。

今天给大家带来一个关于 python 与拍叉的一个安装教程啊,之前一直有同学说,老师这个我不会装是吧,想学也无从下手,所以的话呢,今天我们就来从头开始讲解怎么去安装好这个 python 的 环境以及拍叉这个编辑工具。好吧,那首先第一步打开浏览器, 在这的话呢,我们访问一下这个 python 的 官方网站,三 w 点 python, 点 o r g, ok, 有 车,这个是官方网站。首先如果想下载选择,呃,选择这里有个叫 download, 就是 下载的意思,点击这个按钮点一下, 好吧,点这个按钮点一下,然后就会进入到这样一个下载页面以及它这里还给了一张图片啊,什么呢?就是关于 python 的 一个版本支持的问题。好吧,因为这里的话牵涉到一个关于版本选择,毕竟像 python 有 很多版本的,对不对?我们怎么选呢?一般来说,你注意看在这里如果是红色的全部都不选 啊,如果是红色的情况下都不选红色什么意思呢?意思就是这个版本已经停止更新维护了,他的生命周期已经结束了。好吧,也就官方不管这个版本了, 后续有任何问题需要你自己解决啊,有 bug 你 需要你自己解决,那这个问题就比较麻烦了,所以一般来说我们不会去选择这个大红色标记的已经停止更新维护的版本。好吧,那其次怎么选呢?如果你只是学 python 的 基础语法,那么优先建议你直接使用最新的版本, 如果只学语法,推荐你用最新的版本,如果你可能以后还会学到,比如像爬虫啊啊这个数据分析啊等等相关的,那么更推荐呢,用 带有这样一个标记的版本。好吧,前面这个三点十四和十三这两个版本有个 bug, 什么 fax? 对, 这什么东西呢?意思就是这两个版本目前还有 bug, 还需要修复,而这几个的话呢,目前已经修复完毕了,没有 bug 了,你可以放心用。 好吧,所以如果只学基础语法,直接用最新的版本三点十四,如果你后续还有其他的一些学习方式呢,那么你就更推荐使用这三个版本。 ok, 因为要保证兼容性嘛。行吧,那这里我们就以先以最新版本为例吧,来,比如三点十四来点击这里 download 下载。 ok, 那 么进了这个页面之后的话呢,这里会有提示各种各样的一些相关信息,是不是? ok, 这个我们就不管它了,就看对应的。呃,我们这个选择版本, 呃,我是 windows 系统啊,所以我们直接选 windows insta, 那 就这个 windows insta 六十四位的对吧,还有三十二位的,现在应该很少有三十二个点了吧,我们就选六十四的好了,如果你自己是不同的系统,你自己需要区分一下。好吧,我们这个就以这个为例,点击下载,然后就开始下载了, 下完之后的话呢,我这个是直接放在就是放在我的下载目录里边啊,在这个里边,所以你看现在就好了是吧?关掉。好的,那么软件我们就下好了,在这里这里的话呢,呃,把它拿到放在桌面上吧,放这了。 ok, 接下来我们来讲怎么进行安装。安装的话呢,非常简单啊,就是双击这个安装包进行安装,双击一下。 好的,那么会进入到这样一个按住界面,是不是这个界面的话呢?首先,呃,第一步,记得第一个事情,先把下面这两个勾给它勾上。好吧,这是必要条件啊,特别是下面这个必须要勾,否则到时候你这个命令用不了啊。一些相关的,比如 path 命令,还有 python 命令你是用不了的,所以这个记得一定要勾选。 割完之后,接下来第二步就是下一步怎么安装,那么这里有两个选项,一个是默认安装,一个呢是自定义安装,上面这个是默认安装,他会默认帮你把你的显示器装在这个录音下, 装在 c 盘里边,而自定义安装,你可以自己修改这个安装路径啊,这个就看你个人需要了。好吧,看你个人需要了。如果你想要改的话,就点下面这个,然后这里不动 next, 这里的话就改它路径了。好吧,像我个人习惯直接装 c 盘,所以的话我就不改了,你们自己可以根据情况进行选择,我就选上面这个默认的点确定是, 呃,允许好,等它读出来结束,这个还是蛮快的。 好的,这边提示已经成功地安装好了是吧? set up 啊,搞定了啊,那么点 close 关闭就行了,这样我们就安装好了。那安装好之后有同学会疑问,哎,老师,那这怎么没有启动图标呢?我点哪里运行呢啊?这里先跟大家说一下啊, 排序是没有启动图标的。好吧,你想要使用,想要运行,你是需要通过命令来进行操作的。好吧,你不像正常我们比如说安装个 qq, 我 就可以点 qq 图标启动啊,没有这种用法。 ok, 这点自己注意一下。那接下来我们怎么使用呢?来,我们先做个简单验证啊,打开你的 cmd 啊,这个终端 命令提示功能。打开之后,在这边的话呢,我们输入第一个命令是命令呢,输入 python 这个名字没错,那么首先当我们输入 python 之后,你就会看到这样一个提示啊, python 三点十四点三,这就是我们刚刚安装的这个版本的, 安装这个 python 版本这里就会提示了是吧,以及的话呢,告诉你,哎,这里有一个三个紫色的三角形啊,这个箭头是吧?这个是 python 终端,你可以在这里写代码,比如说 print, 呃,我们写一个 hello hello python 是 吧,你就可以写代码让运行了。就是啊,这是一个最简单的一个交互命令界面,如果不想用了,可以退出 啊,可以退出,好吧,行,由此可以确认你已经把 python 装好了。如果你想要看这个 python 装在哪个位置,你也可以通过 where 命令啊, where python, 这 python 在 哪里是吧?回车,那么它就能查到 python 的 一个安卓路径呐,在这儿 是吧,他找的时候也方便找啊。顺带说一下啊,在 windows 系统上, windows 系统本身会自带一个 python 解释器,但是这个解释器是用不了的,好吧,它路径放在 windows apps 里边,这个用不了的啊,所以你就当它不存在, 那你就当它不存在,那么我们安装的就上面这个确认一下,好吧,行,那么这样 python 的 解释器就安装好了,后续就可以用它来去运行代码。好吧,接下来的话呢,我们就来讲一讲怎么去写代码, 也就是我们接下来需要说的啊,怎么安装拍叉好,那这边的话呢,我们打开拍叉的这个官网,三 w 点接 breath。 啊,对,就这个名字啊,不要把名字猜错了啊, 记得后面加一个点 c n 啊。为什么点 c n 呢?因为这个点 com 是 官方顶级域名,那这个是全球的,它服务器不在国内啊,所以访问速度很慢。加点 c n 之后的话呢,它是访问国内的服务器,这样速度快一些。好吧,好,回特, 那么这样就进到国内的网站了是吧?那就是捷德布尔斯公司的一个开发的一个工具,所以接下来我们找到产品,在产品里面找到什么?找到拍差,就这个点它好。进到这里面之后的话呢,进来我们就可以进行下载了是吧?点击这个下载, 下载之后,呃,需要说明这里的话呢,存在一个版本的差别,那不管是什么系统,你自己先看一下吧。其次的话就是版本差别,目前的话他他以前是有两个版本的,一个是社区版, 一个是专业版,社区版是免费的,专业版是要付费的。功能差别就是专业版性能更强啊,工具更强。好吧,有些功能是社区版不支持,但专业版支持,所以这里的话呢,我们用的话尽量还是用专业版好一些。好吧,用专业版好一些,但有一个问题在于什么?在于这个专业版他要花钱买啊,那老师我没钱怎么办 啊?没关系,我们可以用破解工具。好吧,你有钱就支持嘛,没钱的话呢,我们先用破解工具试试。好吧,这边我们选择其他版本点这,然后呢选择二零二四版,个人用的话呢是那个二零二四点一点七, 那我用的是这个版本。 ok, 用的是这个版本,所以的话呢,这里我就下载它了。好吧,就这里有好几个版本。注意啊,我们选第一个 windows, 点 e c 点它进下载,然后等它读条,这个下载速度因为是国内服务器,所以下载速度是比较快的,我们等一小会儿就好了。 好,差不多下完了,等一小会儿啊,这个应该在验证了啊,会验证完毕打开文件啊,就是找到我们刚刚的安装包,把它同样也放到桌面上吧。 给它放到桌面上去啊,我们看一下,现在我们同样的获得了一个拍叉的安装包,那接下来我们就来进行使用,是吧?双击安装,双击启动这个安装包, 那这个环节比较大,所以启动可能会等一小会儿,有点慢。好,然后选择是 开始安装。呃,这里下一步没什么好说的,然后这个是安装的位置,安装位置的话呢,你可以进行修改。好吧,可以进行修改,就看你自己需要我的话呢。呃,我就默认路径。好吧,我就不改了,懒得改了,我 c 盘空间还是够的啊。 c 盘空间还是够的。下一步, 然后呢,这个页面选择。呃,第一个肯定是要的好吧,你一般想要在桌面创建块图标启动的话,这个还是要的,第二个是必须要够的。好吧,至于下面两个呢,看你个人习惯, 我一般不勾,那你要是想勾也可以。好吧,勾不勾无所谓啊,都可以,所以我的话就算了,我就不勾了,然后选下一步。这里的话呢?嗯,不做改动,直接点安装就好了,然后等它读条结束, 这就开始安装了。好吧,然后你可以看到呢,在桌面上就会出现一个这样的启动图标,到时候如果你想启动排叉,你就点这个图标就行,双击启动就好,好吧,嗯,这里我们等它安装,稍等一小会儿。 好,那么这里的话呢,就已经安装完成了,我们点击完成就行,接下来就是启动啊,怎么启动呢?点这个啊,双击启动。好的, 首先会进入到这个界面,告诉你。呃,你是要先试用三十天呢,还是要先激活你的账号呢?因为我们前面说过,专业嘛,是要花钱买的对吧?啊,那我们这边呢,就先选择试用,先用试用的方式再激活,但是大概率试用过了,所以那怎么办呢?没关系,先关掉 啊,关掉,接下来我们来进行激活。怎么激活呢?呃,这一个工具啊,找到它,选择解压缩,提取, 然后呢会得到一个文件夹,我们打开看一下啊,里面的话呢,双击,在这里面有一个激活工具,就是拍叉激活工具。好吧,点 vbs, 那 么我们就双击这个文件。好,然后这里提示什么?嗯, success 成功,你现在激活了拍叉,激活到是多久呢?激活到二零九九年。 二零九九年,嗯,大概还有六十多年吧,应该够你学了吧。好了,那么这样就可以了,接下来我们就来进行启动。那刚激活完了是吧?重新试一下双击, 那双击之后,哎,你会发现是不是没有那个激活提示了,对吧?这就代表已经进来了,能用了。好吧,就能用了。好,能用。之后呢,接下来第一个事情是不是呢?首先你可以看到这个界面是个纯英文界面,是吧?老师,我不会英文怎么办?或者我英文不太熟悉怎么办? ok, 如果是这种情况,那么简单找到这个插件选项,就倒数第二个,这里插件在这里面的话呢,我们搜索一个中文插件, c h n e s e, 全是中文的意思,好吧,那就是它注意啊,这个图标是一个汗, 粉红色的汗,下面是蓝色的,对吧?选择这个,因此的安装,安装这个插件,这是一个中文插件,是由官方提供的中文语言包,所以呢,我们装完这个插件之后,他就会有中文界面了,来重启一下, 而是再来重启的意思啊,重启之后,你看现在就是中文界面了,是吧?那这就熟悉了吗?是不是英文不认识,中文是认识的啊? ok, 那 么这样我们就已经能够把它激活使用了,接下来下一步是用它来干嘛?写代码,创建项目是吧? ok, 这条创建项目的不能直接写代码,所以点击新建项目。 然后这里的话呢,我们看一下,首先第一个项目名称,这个名字你随便起啊,比如说我们这个 python project 的 一二三,我随便起个名字。其次第二个,他这个项目放在哪 啊?他会告诉你我这个项目存放的位置,那么这个东西的话呢,先说一下这个位置,尽量你自己注意一下,要找得到,你到时候要找不到的话呢,你这个代码在哪你都不知道,是很尴尬的,所以尽量把这个位置调到一个你熟悉的地方,那这里我选择,比如说我把它放到 啊,我放到第一盘,第一盘 project 里边儿,好吧,因为我专门把代码放这里边儿,就放这里给大家看一下吧。我写代码一般都是专门建一个文件啊,就是叫 project, 然后里面的话呢,就是我放的代码,好吧,我就放这里啊,然后我的项目名称叫 python project 一 二三,那就可以了。然后呢,这边计时器,它会自动读取你当前安装的这个系统,计时器就是我们刚刚那个 python, 对 吧?就是它,你看三点十四的,然后选择创建啊,点击创建,然后这里我们就要等它创建,创建需要一点点时间。 ok, 应该可以了,这个不要了,收起来啊,界面我给它全平了吧。然后这里要开始读条,读取你的判断解析器。这个我们需要等一下强调一下啊,这里在读条的时候尽量不要做其他操作,尽量不要做其他操作,否则可能会导致,比如说我写你个代码运行,那不行的, 这样会导致运行报错了。好吧,有些事情运行不了,所以尽量等这个读条结束之后再做下一步操作,好吧,他读条的时候不要乱动。 ok, 应该差不多了,快了啊。 来,那么我们来介绍一下关于这个里面的一些目录。首先第一个目录,这里有一个点 v n v 的 一个黄色的图标,是吧?我们先点击这个上下箭头,把它收起来啊,这是虚拟解器,用来隔离环境。好吧,你也可以不用管它,你就把它收起来就好了。 ok, 然后下一步你就可以写代码了,比如说我们新建一个代码文件, 选择新建,然后新建一个拍摄文件,是吧?起个名字吧,啊,就叫 test, 一 二三, test 测试的意思啊。好,新建一个 test, 一 二三点代码文件,那么你就在可以在这里边写代码了,比如我们随便写一个,写个大家都熟悉的第一个编程是吧?就是 hello world, 是不是? ok, 那 么这样就写好了,这运行怎么运行呢?鼠标右键点击一下,然后呢选择运行啊,选择运行,然后点一下就可以了,那么这样他就能运行了,是吧?或者如果你英文不熟悉的是吧,那就改成中文,你好世界 对吧?那你好世界,行了,点击就行,你看就变成你好世界了,是不是很简单吧,所以这样我们就可以把拍叉安装好,然后呢创建项目写代码是吧?想怎么写怎么写,就在这面写,不过这里有几个小问题,第一个小问题是什么呢? 就是这个界面它可能有点小,是吧?这个字有点小,老是有点看不清,怎么办啊?可以设置一下。怎么设置呢?来选择这里设置。 呃,在这个地方呢,我们外观这一部分啊,我们选择这个自定义字体,好吧,自定义字体,然后呢把这个大小稍微调大一点,就调上面这排字啊,把界面调大一点,比如它是十二的吧,我们改成十六应用一下看看。喏,你看这个字是不是变大一些了啊?看着是不是更舒服一点,我们点确定嘛? 啊?看一下这个字体是不是大一些,这面就大一些,看着舒服一点啊,太小的话呢,看着有点模糊,然后其次就是代码,这个代码的字还是很小,是吧,这个怎么调呢啊?也可以调,找到这里文件选择设置, 在设置里面的话呢,我们来看啊,把这个外观收起来,找到编辑器这个选项,编辑器在编辑器里面呢,找到这个字体,然后呢他的默认大小是十三,对吧?这个字很小,我们可以把它稍微调大一点。右边可以预览啊,比如说把十三改成十八 啊,你看这个字是变大了,或者改成二十,那是不是更大了?我们就以二十为例点确定好,你看这样的话呢,这个字也就变大了,是吧?就更清晰一点了。好吧,最后运行 ok, 搞定,那么行,这就是关于 python 和 python 它的一个安装以及使用。

盲目自学只会毁了你!这才是抖音最系统的拍损教程,存下吧,全两百级纯干货版,真的很难找,全了,拿走吧,这还学不会,我退出 it 界!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍损, 这应该是抖音目前最良心的入门到进阶的拍算教程了,哪怕你是零基础也能学会。为了让零基础的小伙伴学习起来没有负担,你们的学习思维导图我已经全部准备好了,还有视频中所用到的素材、软件安装包,以及刻件笔记,对零基础超有帮助的电子书籍等, 评论留言六六六即可全部带走。如果你看到了这还请三连支持一下啊,这样也可以让更多想要学习拍算的小伙伴们看到这个视频。下一站,上岸,上岸!站 好,那接下来咱们来说一下这个 bios 啊,那说 bios 之前呢,我们得先去了解一个 全新的支点啊,叫字母集和编码,这个东西呢,必须得给它弄明白,因为后面我们讲爬虫也好,或者说做遇见文件操作,或者说是数据的导入导出,都会跟这个字母集和编码啊息息相关,你要是字母集编码没弄明白到那个地方你会很痛苦啊。 首先我们先去思考一个问题啊,就是我们现在用到的电子产品啊,包括这个电脑啊,手机啊,甚至说一些个终端设备,智能手表这些东西,他们呢,终归到底,他是个电子产品 对吧?耗电的对吧?那也就说,呃,我们的电脑他是个电子产品的话,他是怎么来表示成这个数字的,对吧?那先思考这个问题,怎么表示数字的?那对于一个电子电路而言,他有一个很神奇的东西叫二极管, 二极管,二极管呢,它有两个状态,一个呢叫通电,一个叫做不通电。那么在电子电路里面,我们就可以把把它表示成两张状态,一个叫高电瓶和一个低电瓶。那么聪明的科学家呢,就把这个高电瓶和低电瓶啊,给他做了一个抽象,给他抽象成了零和一 啊,抽象成了这样的一个概念,那么有了这样的一个概念之后,看到有了零和一,那我们通过数学上的一个转换,对不对?就可以把这些个,呃,这个这个电子电路,比方说啊,很多个二极管哎,放到一起就可以给他一起组织成一个很长的一个数字,对吧?当然肯定是零一,零一,零一这样的东西,但是呢,通过数学家的一个转换,我们就可以通过一个二进制的转化, 二进制转化,哎,就可以变成什么呢?变成我们的熟悉的这这个东西,对吧?就就就是把这个很多二极管组织成一起,变成这个东西,变成这个东西之后,哎, sorry, 成这个通过二进制的转化,对吧?二进制转十进制, 对不对?就可以变成我们生活当中的,比如说九十九啊,八十八呀,这些个数字对不对?同样道理,这个这个过程是可逆的,可逆的,我想往计算机里面存个八十八,那很简单呢,把八十八变成什么呢?啊?通过这个,当然当然不是这个二进转转十进制了,是十进制转二进制了,然后变成这个东西,然后再给它存到我们的电子电路里面, 对吧?或者是存到我们的硬盘里面,那这个时候我们其实计算机就可以通过啊,这个电子电路来表示成数字了,对吧?这个这个过程是很通顺的啊,很通顺的。那接下来问题来,你的计算机只是用来做计算吗? 并不是啊,有的时候我们的计算机还要承担一些文字上的操作,对吧?比方说我们看一部小说,对吧?我们想去做数字操作之前讲的数字上的一个处理。所以接下来的问题就是你的这个电脑, 哎,如何进行存储什么文字信息?这个是个文件,对吧?那电脑怎么来存储文字信息呢?对吧?聪明的科学家就想到了一个, 呃,一一,一种方案啊,一种方案。但是这种方案呢,其实具体灵感来自于哪呢?不得而知,但是我可以给你举个例子啊,比方说各位我们平时看的那个抗日神剧啊,或者说是这个战争电影里面总会出现一个人坐在一个工作台前面,然后在那摁的那个那个那个那个那个 小揪揪啊,给他摁哒哒哒哒哒哒哒,就那个东西,对吧?那个东西呢?我们知道它叫什么?摩斯码,对吧?但是呢,这个摩斯码它又是怎么来传递信号的呢?它其实很简单,就是用什么点啊?还有这个杠啊,对吧?通过这些东西来进行传递信息的,比方说它会有一个密码本,哎,三个点来,三个杠, 哎,三个点,三个杠,这个合起来你如果出就是输入了这么一段东西,好了,我认为它是什么呢?它是字母 a, 以此类推,我就可以叭叭叭排出很多个排的组合来,最终能够表示出我们的一句话,对吧?所有的字母啊,文字信息都可以表示出来,那么计算机也是用类似这样的操作来完成的,那么只不过他怎么办呢?他在前面这个地方啊,摩丝码里面是点啊杠这些玩意,到了咱们的这个计算机里面,他只有零和一,那一样的,我就排呗。 嗯,就这个假设啊,这是我瞎说的,如果是用它来表示字母 a 好 了,以后我需要字母 a, 输入到计算机的时候,我就输入这串 数字,是不是也可以啊?对吧?以此类推,就形成一个什么呢?互换的一个关系,哎,形成一个互换的一个关系,那么这个时候就涉及到一个问题,我需要对我所有可能出现在电脑上的文字做一个从头到尾的编排, 对吧?从头到尾的编排,那么最早的这个计算机的这个啊,就电脑上面这个,这个编排啊,各家有各家的编排方式,就是我我我加上我是做做做,就是电脑制造商,我呢用我家的这个编编码方式,然后呢你家用你家的编码方式,但是一家一个样,这个时候问题又来了,如果在我这个计算机上 写下的这个文字信息扔到你那台计算机上,是不是就不认识了,对吧?两套密码本吧,对不对?两套摩斯密码,那这个时候就不行了,那怎么办呢?美国他就提出了这样的一个方案,说,你们别,别闹了啊,别扯淡了,一家一个,我靠,这东西没没法用了,怎么办?统一一个标准,统一一个标准,这个标准叫阿斯卡马 啊,阿斯卡马在阿斯卡马里面,美国人直接规定了,直接规定了我们用到的每一个文字符号对应的二禁制编码 啊,每一个文字符号对应的二级编码。那以后我再想去写信也好啊,写东西也好啊,对不对?就直接参照阿斯克码就可以了。那阿斯克码一共排了多少个东西,你心里要了解啊,一共编排了一百二十八个 文字符号啊,这一百二十八个文字符号呢?里面包含了我们用到的英文字母啊,大写字母,小写字母,还有这个数字,还有我们常用的一些标点符号,比方说你摁住 shift, 一二三四五六七八,这些个是不是都是文字符号啊?还有一些个特殊的操作符,比方说回车呀,比方说一些个啊,删除啊,等等等等,这些东西它都属于操作符。那么阿斯个码把这些个操作符也都编排进去了,一共编了一百二十八个。 那这一百二十八个换算到计算机里面需要多少个零一才能表示呢?注意,只需要七个零和一就足够表示这么多东西了。来,只需要七个零和一就可以表示了,但是 这七个零和一他全都用了,那比方说最后二十码的最后一位,就这玩意,一二三四五六七啊,就全都用了一百二十七个,对吧?就一百二十八个,全都用了。那这时候问题就来了,各位问题来了,你这些东西全都用了,万一某一天哪个大佬说,哎,我现在又多了个符号, 对吧?你都弄完了,我这多这个符号怎么办?对不对?所以他必须得预留出来什么呢?准备用来扩展的一位,所以阿斯个马在前面嘣,又怼了一位啊,又怼,强行怼了一位,那么这一位怼上去之后,他的长度正好契合于当时大家比较认可的一个数字交换的这么一个统一的单位,叫什么呢?叫 bite 啊, bite 啊, bite, 叫字节,叫字节,所以我们一个一个这个这个文字符号啊,在二十个码里面占用的是一个字节,一共是几位呢?各位是八位,记住这个单位啊, 是八位,然后这个二十个码一直延续到今天,我们今天在我这个电脑上看我输的所有的这个英文的符号也好啊,英文的这个字母也好啊,全都用的是二十个码啊,用二十个码,那给各位去看一下啊,这是我之前讲课的时候写的 一个课间啊,里面我把这个所有的这个阿斯刻码的东西全都排列出来了,你看这里面有什么空字符啊,标题开始正文字,是吧?一大堆东西啊,换行, 换行,还有什么?换页回车,对不对?然后还有什么控制设备啊?控制设备,然后底下呢?往下走,往下走看,这些就是特殊符号了,对吧?一些特殊符号,然后再往下还有什么呢?这个 a、 b、 c、 d 字母了,对不对?然后底下小写字母啊,还有一些特殊的标点符号啊,最后 这个不能动啊,最后一个是这个删除,对吧?一共是排满了啊?一共全都排满了。那么全都排满了之后,各位,问题又来了啊,问题又来,我们来想一下啊,这里面各位你仔细去看啊,回去你可以去看看这里面有没有中文的标点符号, 那很明显没有,对吧?还有有没有中文也没有,对不对?为什么没有呢?因为当年各位,这个玩意是什么时候产生的?是一九六几年的时候产生的, 对吧?毫不毫毫,就是毫不掩饰的讲,那个时候我们其实还相对来说有点落后,对吧?甚至说在全世界能认可计算机,认可这个东西存在的只有美国,老美用这个东西,对不对?所以那个时候老美他只考虑自己的,没考虑别人,但是计算机终归有一天他 突破了美国的,反正就是从美国出来了,对吧?我们也要用,非洲人民也要用,对不对?那这个时候问题来了,你这套编码是不是就不够用了, 对吧?不够用了,不够用了之后,那就往里面扩呗,我不是给你留位置了吗?前面还有一位呢吗?对不对?那这一位能编排多少东西呢?还能再编一百二十八个东西, 还能再加一百二十八个东西,但是远远不够啊,各位,我们中文各位,我,我毫不吝啬的讲,你随便上中国的书店买一本超过十页的书,你回来去数一数,肯定超过一百二十八个字 啊,肯定超过一百二十八个字,还有标点符号呢,对不对?还有一些个特殊的文字符号呢,怎么办?哎,这个时候啊,就这个老美呢,想了,这个玩意早早晚有天要要要放出去吗?对不对?那这个时候他就提供了一套标准,这套标准叫 a n s i 啊,叫 a n s i, 注意,它是一套标准 啊,这套标准是怎么玩的呢?很有意思,很有意思。这套标准它规定每个符号啊,字母吧,每个文字符号,每个字母它占是十啊,是这个十六位, 十六位,几个字节呢?两个字节,哎,两个字节,两个字节的话,注意我们二十个码,二十个码,它是不是就,就是后面这几个?这几个用了,前面还空着呢,对不对?那二十个码拿过来,二十个码该有还是有,对吧?后面是二十个码,那前面 来,前面这是还空着呢?因为他原来原来原来只有只有,原来只有这么长了,现在被强行的又扩充了一倍啊,不是一倍啊,就扩充了一大堆出来,那扩充出来一大堆, 接下来问题就来了,阿斯玛,原来还是阿斯玛在用。那么他提供完这套标准之后怎么办呢?他把这一套标准放出去,放出去,比如说我放给中国,放给这个,这个日本,放给韩国啊,放给三个国家,那么剩下的这些个位置,其余的这些位置你们自己国家自己往里面去贴。 那我只提供一套标准,剩下的你们自己去添,反正我这个二字码的位置不能动。好吧,二字码位置不能动,其他地方你自己往里添就可以了。那么这个时候到了中国,对,这个东西到了中国,由中国的,我忘了是哪家公司了。然后呢?联合政府一起往里面添了一些文字,那么形成了最早的叫 g b 二三六二密码 啊, g b 二三幺二,这个编码 g b 叫国标。哥,窝国半腰标,国标啊,二三幺二,后面啥意思我忘了,反正是 g b 啊, g b, 那 么有了这样的一个,一个一个到了中国,中国往里面贴完之后,对吧?就形成了一个 g b 二三幺二的这样一个编码,那么到了, 呃,这个,这个台湾啊,到了台湾形成了一个叫 big five 的 一个编码啊, big five 的 编码到了日本 又形成了一个,那个叫叫叫叫叫 g i s 吧,还是什么什么码忘了啊,大概也就就这么记就可以了。那么 有了这三套编码,注意他们用的是统一的 a n s i 这样一个标准,这样的标准,那么到了中国往里面扩充了这些个啊文字进去,那么一共这些地方如果全都占满了,能够表示出来多少个文字呢?那么各位,这个时候就十六位,那么能够表示出来二的十六次方 个位置二的十六次方个位置,那这个数数数就比较大了啊,我印象中好像是六五五,咱六个乘一下来,二的十六次方走那,哎。啊,不不不,不是这个 sorry 啊,你这几张来走 来六五五三六五五三六,也就说一共有六万五千五百三十六个文字能怼进去,减去他二十个码占的一百二十八个,我们能怎么着?能排六万多个对不对?六万多个对于我们来说用起来是没问题的, 对不对?而且当时其实编排的我记得是不多,一共是几千个文字进去啊,几千个文字进去,后来我们发现这几千个文字可能还是不太够用,因为有些人的名字咱们知道,中国人的名字有的时候他要涉及到,呃,就这么说吧,明朝的一些皇帝的名字,很多时候这个史书上能写出来,但是我们电脑输不进去,因为他那个文字根本就不存在, 对吧?他为了怎么又得加金木水火土,又得就是躲开各个皇帝的避讳,反正就很麻烦,很多文字符号他根本就是很特殊的,极特殊的,当时就没有往里加进去。但是随着我们的生活水平提高,大家的文化素养提高,有些文字必须得用了,对不对?那怎么办?他又得进行一个扩充,就形成了一个编码,叫 g b k, 叫 g b k 的 编码。这个东西基本上我们现在还在呃延续着使用,但是 g b k 的 编码也就是国标码的扩展嘛,科沃扩,好吧,国标码的扩展码也就扩充到了好像,呃,两万多个还是多少个?还是不够还是不够?后来又经过了一次扩充,好像是 g b g b 幺八零三零,好像是 榜上这个幺幺八零三零,具体具体后面的编号我忘了啊,因为我们平时记的话,就简单的都是 gdk 的 编码,都是 gdk 的 编码。到了今天我们大家各位,你们的电脑上面, windows 上面默认正在使用的编码,用的就是 gdk 的 编码啊,或者 gdk 幺八零三零的那个 编码,好吧,用的依然是这个编码,所以这个编码非常的伟大,我们到现在还在使用飞机的,我们 windows 默认 就是这个啊。那么这个编码他也有他的问题,他的问题是什么呢?各位看好了,我说了,这一套标准扔给了中国,中国人往里面填完之后是 g b k 的 编码,那么也就是说比方说 好了,假设啊,这个字在 g b k 里面是中国的中字啊,假设这个编码到了 g、 b k 里面中国的中字,那么各位到了台湾那头,台湾是不是拿着这个标准,他的,他他他写写这个繁体的文字, 全部拿台湾决定的,因为台湾就是中国的,对吧?下面日本,对吧?日本,你这套,你这套标准扔给了日本人,日本人他也往里面去扩充嘛?那到日本的话,他也有这个,这个这个位置嘛,对吧?日本的话,哎,这个位置很可能很可能啊,我不知道是什么。 呃,来,假设是这么个玩意,好吧,假设是这么个玩意,那问题就来了,各位, 在中国我们显示的是这个样子,同样的一套编码,对吧?同样的一套编码到了日本人的机器上显示成了这个东西,那这个时候是不是就形成了一个驴唇不对马嘴的一个效果?我本来要写中国的中字的,对吧?在你日本人的电脑环境里面就形成这样的东西,那么随着这个全球的贸易,全球的这个,这个国际化的这个啊,这个 好发展吧,对不对?你会发现你如果还用这套标准,就会产生这样的问题,我中国人跟日本人做贸易,对不对?我给他发的明明是中国的中字,到他那边写成这个东西,驴唇不对马嘴, 对吧?所以你就会发现这一套规则并不通用,并不通用,这也是为什么。各位,你如果啊,不知道你们有没有玩过啊?我,我是玩过,你如果说打 dnf 是 吧?打 dnf 你 想玩台服, 你想玩韩服,你这个时候必须把你的语言环境切换到台服的语言环境,或者切换到韩服的语言环境,你才能玩,为什么?因为文字显示不出来,对吧?你用的都是这套标准,对吧?这套标准虽然能显示,但是显示不出来这个字就会 很乱,甚至说有些根本就没有啊,直接就报错了,所以必须得进行一个切换,原因就在这啊,原因就在这。那么接下来各位,全球已经发展成这样了,大家已经不认可你原来这套标准了,而且通信起来极其的不方便,对吧?而且呢,有也不利于我们的文化交流,而且 这个东西编起来也很痛苦,对吧?各个国家给自己的,各个国家给各个国家自己去做编码,这个事情本身也有一定的风险,但是怎么办呢?对吧?这个事怎么办呢?有没有一种编码能把这个全世界所有国家的文字全都含盖在里面,那这个时候是不是不涉及到这个问题了, 对吧?就不知道这个问题了。所以我们的这个国际化组织就想到了这么一个方案,把全世界所有国家的文字信息全部都火在一起,叫什么呢?叫 uni code, 叫 uni code 这样的一个编码,它呢被称为叫万国码,你清名字对吧?万国码还是统一码, 对吧?就跟那个秦始皇统一这个度量衡是一个道理,对吧?你们,你们之前用的那个都不行啊,用我这个,我这个就全统一了啊,都按我这个标准走,制定了一个全球统一的一套标准啊,用那扣的,但是用那扣的,他想把全世界所有国家的文字全放进去,能不能放?能放, 但是你既然要全都放进去,你就要付出一些代价,比方说,比方说我们中国的汉字保守估计也得有九万来个, 对吧?保守估计得有九万来个。那这个时候你要想上面的 a、 n、 s、 i 的 这套标准里面,每个文字符号占十六位,两个字节的时候最多,最多他有六万五千五百三十六个位置能供你去编排。 到了万国码,这中文如果全想进去,各位你要知道,至少九万个文字放不进去吧,对吧?那这个时候问题来了,那万国码就必须进行补充,但是早期啊,各位,早期,早期优内扣的 没有意识到这个问题,没有意识到这个问题。早期的,因为扣的叫 u u c s 还是 u s c 了,是这个 two 的 标准,这个 two 表示的就是两个字节,早期它就是两个字节, 早期它是两个字节,但是呢,最多就六万五千五百三十六个位置存不下,然后它就进行了扩充, 是吧?它防止着再出现类似中国这么多的。呃,这个,这个文字信息怎么办呢?又扩充了一倍,那叫 u u c, 是 usc 还是 ucs 来着?我天,不管了,反正又扩充了一倍,变成了四个字节, 又变成了四个字节。好了,你又变成了四个字节。接下来,那这个时候问题又又又又来了, 一二十个码已经深入人心,你不可能动二十个码的位置,对吧?那你依然不能动那二十个码到了 unico 的 里面,照抄照搬过来,但是你扩充到了四个字节,就意味着你,原来你原来是这玩意,对吧?扩充成四个,这是一个吗?来两个,三个,四个,你扩成这个鬼样子, 对吧?你困成这个样子,那问题又来了,你原来啊,假设你写了一封一封电子邮件,你这封电子邮件里面呢?全是英文字母啊?全是英文字母,那这个这个时候,呃,你你你,你,原来啊,用二十个码在进行存储的时候,各位,用二十码进行存储的时候,你可能假设是,呃, 就就就就一兆吧,对吧?一兆。但是你到了这个,这个,这个 unico 的 里面,我的天,是不是一下子就翻了四倍啊,对吧?翻了四倍变成几兆,变成了四兆空间是不是很浪费, 对吧?你浪费空间,这个这个你要知道当年的我们的这个电脑还是用软盘的时候,对吧?那个一套是很贵的好吗?还有你在发送 email 的 时候要进行网络传输啊,各位,网络传输,当年那个那个流量费,对吧?当年我记得上网还得拿电话线呢, 对,那个时候就很贵,那这个时候为了节约这个资源,这是第一点啊,节约资源第二个点就是 uniqlo 的 这个码,他只是一个编码,就像那个,呃,就这么说吧, uniqlo 的 码就是好比说是中文,哎,就是中文,我就告诉你,他是中文, 对不对?但是具体执行下去,你真的把这个中文写出来,你是不是得用什么行书、草书、立书? 你说你说得把它写出来,各位,对吧?你得用各种各样的实现的方案把它写出来才可以,因为,所以 unico 你 可以认为是一个什么呢?是一个概念性的东西,这个编码就是这样的一个概念性的东西,那么 接下来就是怎么把这个概念性东西给它落地,让它能够实现,能够使用,对不对?那就可以涉及到我们把它真正的写出来,真正用起来,用到这种东西。那么这个时候你就发现如果纯内扣的存储也好,传输也好,都不行,这玩意太浪费空间了。而且你要想我在内所里面,比方说我就存这么个东西,我就这么存一个东西, 那我接下来我问你,这个东西这一段是文字啊还是操作符啊? 对不对?计算机很有可能会把它识别成操作符啊,因为操作符二十个码里面只有八位啊,对不对?所以这个时候你这个 u 内扣的根本没法落地,你虽然把所有国家的文字信息全都罗到一起了,但是你没法落地,懂吗?那落地怎么办?这时候科学家又想了一个办法,就是什么呢?叫 utf, 这套明白吗? utf, 它是可变长度的 u 内扣的,它可以进行数据的传输、 存储,它可以进行数据的传输和存储。说白了上面这个就是中文的概念,下面这个才是真的行书、草书、立书,真的把它实践起来,用的时候用的是 u t f u t f 呢?又分成两个,呃,不是两个月,是三个啊,咱们常用的是 u t f 八,有的时候也能遇见什么呢? u t f 十六啊,但这个很少见啊,很少见。这个八和十六表示的是最少最短的,这个这个这个这个,呃,字节长度 来最短的字节长度,这个是八,这个是十六,那么就是 u t l 八最短的时候一个这个这个英文字母,它就由八位来表示就可以了,跟阿拉伯一样,跟阿拉伯一样, 而如果遇到了就是比较复杂的文字信息,它会进行一个可变吗?它会进行增加,进行增加,那么增加的标准基本上是这样的,就是英文就是八个 bit 啊。八位, 那么对应的是一个字节,那么对应一些个欧洲的文字,他是十六位,然后是两个字节 啊,两个字节对应咱们的中文,我们最关心的一些中文,那么他是二十四位,是三个字节 啊,是三个字节,那么这个时候各位应该就能猜到了你这个中文的,对吧?他是这个三个字节,三个字节,二十四位,能表示出来多少个文字呢?对不对?我们算一下来,二十四,我记得是好长好长的, 呃个十百千万,十万、百万千万,一千六百万的位置,一千六百万的位置,足够你用,对吧?足够你用了,所以啊,没有任何问题。那这个时候 utf 八其实就可以作为什么呢?进行传输啊,作为存储啊,就可以进行使用了。不管怎么说, utf 八肯定比优米扣子短,对 吧?优米扣子这么老长,巴拉巴拉这么老长,但是到了 utf 八里面,一个英文,对不对?就会短很多。但是如果你是一封纯中文编辑的语言,纯中文编辑的 有文本信息,那么它的呃存储的这空间也要比 g b k 要大,这也是为什么 g b k 依然今天还在用的一个根本原因,它还是能节省一些资源信息的,知道吧。那么这里面 vr, 我 们 平时用的操作系统 windows 里面默认是 g b k。 那 像我这个电脑,我这个破电脑是苹果,苹果的默认是 u t m 八啊,苹果默认是 u t m 八,所以这里面各位啊,这里面你要记住的一些个东西。接下来就是一个总结了,最早的编码叫阿萨克码, 那就阿特码,它呢是八位,然后呢一个字节啊,一个字节。第二个,呃,第一个就是阿特码,里面存的主要就是英,就是美国佬那个东西啊。第二个就 g b k, 那 这个 g b k 它是十六位 两个字节啊,然后第三个就是咱们的这个 utf 杠杠八 m u 扣的 u 扣的时候呢,三十二位四个字节啊,但是这个东西呢?没法用,好吧,它只是一个标准, 只是一个标准。那么第四个我们就是 utf 杠八, utf 杠八这个东西是,呃,对于英文 它是八位啊,这个这个这个一个字节,欧洲一些文字,它是十六位, 然后呢是两个字节。第三个就中文啊,是二十四位,然后是三个字节啊,三个字节,那这是我们要记住的一个结论。那么还有一个点就是 gdk, 听好了,这个是什么呢? windows 默认是这个玩意啊,然后咱们这个 uki 默认是这个东西 啊, mac 默认是这个东西。然后这里面各位啊各位,你要记住的就是 g b k 是 怎么怎么回事?它其实源自于阿斯特码啊,是叫 a n s i 这样一个标准,源自于它。那 utf 八源自于哪呢?源自于 unico 的, 源自于就从 utf 那 块过来的。所以你要记一个事, 就是 g b k 和 utf 杠八不能直接就进行转换, 因为这完全是两套标准,你懂我意思吗?完全是两套标准,一个是美国定制的这个标准,然后中国人自己往里填的,对吧?第二个用那扣的万国码,这,这完全就是两套密码本好吧?一个是一个,你就你可以这么来,来来来,来比喻啊,来比喻, g p k 就是 我军 密码本,对吧?那个 u t f 八敌军密码本对不对?你不能直接把我军密码本往敌军那边去翻译,翻译不出来了是吧?那怎么办?很简单,看着啊,想转化的话,你就必须得想办法用我军的密码本来去给他解密,解密成我们熟知的文字含义, 对不对?然后拿这个文字含义呢?再通过敌军的密码本再进行一个加密,是不是转化过去了?所以中间必须得经过一个转化, 必须进行经过一个转化,一样的一样的,你 g b k 和 u t l 八之间想进行转化,也必须经历这样的一个过程 啊,必须经历这样的一个过程。那么接下来咱们就准备看后面的第二段问题,找 bug 类型,因为在这里我们可以讲怎么来进行一个转化,因为我们后期啊,会有绝对会有好多同学来问 g b k 和 u t l 八的 问题啊。好了, ok, 那 关于字这个这个字体和编码的事,咱们暂时先说到这啊,如果说,呃,各位不是很理解,我们在抽时间 这专门做一个专题,因为讲的比较糙,时间有限,讲比较糙,如果说有需要的话,我可能会花费大概一到两个小时给你们把这个里面的具体的道道是怎么回事给你们去说清楚,因为这里面还涉及到马位啊,马区啊,这个一个概念就很复杂的,这个扣子很复杂的,而且 就是转化起来就是用内扣的和 g b k 之间转化啊,还有就是反正转化来转化去的这个过程他有很多的细节我没有讲啊,大家先记一下结论就可以啊,最起码知道他是怎么回事就成了。后面如果说有需要的话,我再出一个专题,也会去聊聊到底这些个编码是怎么回事。好,那这些呢,咱们暂时说到这啊,时间长了, 好,那接下来咱们正式的来聊聊这个 bytes 啊,那说 bytes 之前,还得再说一个事,就是我们上一节所讲的所有的编码,我们能发现一个规律,就是所有的文字符号最终都可以变成自己,对 吧?不论是二次码, g、 b、 k、 unico、 u、 t、 l 八,所有东西最终最终指向的单位都是自己,对吧?也就是说我们程序员记住一个事啊,我们程序员平时遇见的所有的数据最终归宿 啊,或者最终的单位都是字节,就这个 bug 啊,字节 bug, 八位八个零和一八个零一太散了,散都不能再散了,所以呢,就整理出了一个字节类概念。那么 接下来你要记住我们以后所涉及到的,比方说啊,我们传输一张图片,我们传递一个视频,播放一个视频,那这个时候用到的单位全都是字节,所以你基本上可以认定 啊,在程序员我们平时遇见的这些个基本的数据单位里面,自己人你可以认为是最小单位了,基本上可以作为最小单位来进行处理。我们读图片也好,我们去下载视频也好,都是以自己人为单位的啊,好,那接下来我们来看一下这个自己人这个 bug 到底是个什么玩意,是吧? b y、 t、 e 啊,这个是自己人,带个 s 呢, 一堆字典,哈,一堆字典。好,那接下来我们来去跟各位去演示一个事啊,演示一个事,比方说我现在有个字母串啊,里面随便放一些个文字符号,比方说周杰伦, 那接下来我想看看这个周杰伦在计算机里面如果真的进行存储的话,对吧?我把它变成 g、 b、 k 或者变成 ut f 八的话,对,会长什么样?那我们就可以这样来做,我们可以来个 b s 等于 s 点叫引后的 啊,进行一个编码,进行个编码,这不我的文字符号吗?我把文字变成是吧?给它进行一个编码,变成字节的形式。那我这个时候比方说我用 g、 b、 k 进行一个编码好了,给它起个名啊,叫 b s, 一, 打印一下 b s 一, 对不对?来走 来,我们看到一个这玩意,一个 b 开头的,然后一个引号后面是个引号,中间一堆杠叉,杠叉,杠叉,什么东西?那这里面你就要知道一个新的数据类型了啊,这时候出了新的数据类型了,这个 b 开头的引号里面放的是一个东西,对,这种东西叫什么呢?叫 buys 类型,叫 buys 类型。那么在这里面每一个杠叉,好吧,每一个杠叉都是一个字节,都是一个字节,那么这里面一个字节,两个字节,三个 字节,是吧?然后是四个字节,五个字节,六个字节,也就是说周杰伦三个字转化成 g、 b、 k, 用 g、 b、 k 进行编码的话,是六个字节,一个字俩字节,来看,下面没讲错吧? g b k 俩字节对不对?那么接下来如果是 utf 八呢?那 b s 二等于 s 点引扣的, 对吧?转换成 u t f 八什么样?来,我们看一下。 b s 二走啊,也是自己人,对吧?一个、两个、三个、四个、五个六个七个八个九个, 对吧?三个字变成了九个自己人,那 g b k 中文一个字仨自己人仨字不就九个吗?对不对?所以这个地方啊, u t f 八跟 g b k 是 两种不同的字节编码,那我们来把它们分别进行输出 走,一个长这样,一个长这样来。我问你,这玩意你想直接转化成这样,是不是转化不了了, 对吧?就这个驴唇不对马嘴的,因为你这边两个对应的这边是几个?是不是三个呀?对吧?驴唇不对马嘴的,所以这个你没办法直接转化,就像我说的你,你拿我军的密码本来退一个东西,对吧?然后想直接就是我军的情报,直接翻译成敌军的这个这个情报,那不可能的,你必须得经过一个文字的一个转化啊,必须经过一个文字的转化。所以接下来的问题 又来了,来,怎么把一个 g b k 的 内容啊?字节转化成 u t f 杠八的字节,哎,怎么进行一个转化?那我此时我是不得先有一个字节啊?对,那 g b k 的 拿过来。哎,你是 g b k 的 拿过来,来 b s 等于 对不对?这是 g b k 的 我,我刚复制过来的,对吧? g b k 的。 那接下来怎么转换呢?注意第一件事,先变成文字符号,就说白了,变成数字串 啊,变成字母串,那变成字母串的话,怎么去变?那 b s d r 叫底扣的,你上面不是引扣的吗?叫编码,这叫什么?叫解码?好吧,这叫解码来 解码。解码的话,你用什么编的码?你用的哪个哪套密码本进行编码,是不是用的 g b k 啊?所以你解码得用 g b k 进行解码,哎,用我方对吧?我我军密码本先解码,解码成正常的文字对不对?我们看一下这个文字正不正常, 哎?变成正常的文字,哎,没问题,变成正常的文字之后,接下来,接下来还得干嘛?是不是我最终的目的想给它变成 u t f 八呀?那把文字再进行一个敌方密码本的一个, 是不是再编码一次,对不对?接下来编码嘛,来, b s 二等于 s 点,那么引扣的 u t f 杠八来,滚成 b s 二,走,来吧,一二三,这是周杰伦,不怕,周杰伦就注意了。所以这个时候我们就可以啊,就是把一个 g p k 的 编码变成 u t f 八的编码来重新,对不对啊?那么接下来你要记住的其实就是两个操作,对吧?两个操作,第一个操作 这个,第一个操作叫引扣的字母串啊,点引扣的,这里面放什么时候编码呢?编码对不对?这个是进行进行编码,然后第二个你要记住的是字节点抵扣的, 这是进销解码啊,这两个操作你要记住。这两个操作你要记住。那么这里面我们平时能够遇见的编码就两种,一个是 g b k, 一个是 u t f 八。 g b k 不 用说,咱 中国人的国标码,对吧?那你肯定用的是最多的,然后 u t f 八现在对于程序员而言,最多最多最程序员啊,用最多的是 u t f 杠八,好吧, u t f 杠八对于不懂电脑的人而言,他们平时写的那个 windows 里面默认创建个电子书, 对吧?默认写上文字,哎,基本上都是 g b k。 但是呢,我们程序员想生成一个文件,文件用什么编码啊?基本上都是 utf 杠八那一片我杠八。所以这个时候你要切记等后期啊,后期我们在做网络爬虫的时候你就会发现, 哎,从网站上抓取到的数据,我存到这个文件里面,有的时候会出乱码,为什么会出乱码?就是因为这个原因啊。你,你拿敌军的密码本来翻译我军的文字不行, 对吧?拿拿拼音键盘翻译,我觉得文字不行,所以呢,你必须得找对那个编码给他设置进去才可以啊,找对那个编码给他设置进去才可以啊。 ok, 那 这是关于啊 vice 各位要去了解的一些东, 还有一些东西呢?就是这是文字上的啊,还有一些个视频上的,图片上的那个我们后面讲的文件操作的时候,再跟各位去去聊啊,再跟各位去聊,然后还有最后一个事,还有最后一个事。这个事呢,不是很重要吧,就是简单了解一下,知道有这么个东西,那我也注一下 还有这么一个东西,比方说我现在准备一个 b s 啊 s 吧,等于你好 abc。 好 了,接下来注意看了啊,注意 s 点印扣的 来走看看啊。你好,两个字来,你好, 看到了吧这是你好两个字,六个字节,然后 a b c。 看到没有 a b c 正常输出了。为什么 a b c 可以 正常输出呢?因为之前我说了 u t f 八,各位, u t f 八它对于英文, 对吧?英文。咱上头说英文几个几个字节?一个字节,一个字节是不?二十个、二十个码,二十个码是可以正常显示,对不对?二十个码是可以正常显示,所以这个就是一个字节,这个就是一个字节,这个就是一个字节,一个字母,对吧?然后这又开始到中文了,中文一会仨了,懂我意思吧?所以这里面会有这样的一个现象啊,你数的时候不要不要迷啊,不要迷 就有这样一个现象,记住就可以了。英文原来是什么还是什么?好吧,比方说走 还是这玩意,因为英文一个一个一个一个字到这面就是一个,一个 b 就是 一个, c 就是 一个。好吧,那如果是 g、 b、 k 呢?我跟你说 g、 b、 k 也是这样。来,又给你解释下为什么看了,为什么 g、 b、 k, g、 b、 k, 你 不说是两位吗?哪去了? 哪去了?这这呢?这呢? g、 b、 k, 你 不是俩字节吗?但是没关系啊,俩字节 a a, 假设是,我去直接给你找一下啊,字母 a, 字母 a, 字母 a, 字母 a, 字母 a, 来是这样子的,看能不能粘出来啊?不太确定来,字母 a 是 这样的,好吧,那到了 g、 p、 k 里面是不是就是当当当当当当当。说这玩意,这玩意,各位,你如果是正常的一个数据计算的话,这玩意是不是可以省略,对吧?它跟这玩意有区别吗?各位,它跟这玩意有区别吗? 这没区别呀。所以这个时候我们英文其实就符合阿斯顿马的这道标志的东西,到哪都能正常显示,好吧,到哪都能正常显示,所以这个东西,呃,不用迷啊,不用迷,你就记着,抵扣的是 解码,引扣的是编码,然后我们常用的字赋级就两个,一个是 d、 p、 k, 一个是 u、 t l 吧,好吧,理解这俩文就可以了。 ok, 那 关于 bug 呢,咱们大概就说这么多啊,后面我们进行文件操作呀,网络传输啊,还会再重提这些玩意啊,现在呢,只是初步的了解一下就成了。好吧, 好,那接下来咱们来看一下运算符,其实在之前的学习当中,我们一直在用这个运算符,只不过没有系统的把它拿出来讲一下。完了,咱们到了这个时间点了,到了这个该讲的地方了,把它聊聊。那第一个我们要聊的什么呢?叫算数运算啊。第二个呢,叫比较运算 啊,第三个呢,叫呃,负值运算啊。第四个呢,咱们来聊一聊这个呃的逻辑运算 啊。然后呢,最后一个,我们来聊一聊成员运算啊,其实大部分都讲过,也大部分都用过,都用过,对吧?第一个,看嘛,这个算数运算很简单,我们平时加减乘除啊这些玩意,对吧?然后有一个关键呢,就是这个百分号,它呢表示的是计算余数, 哎,计算余数,比方说我这边来个 a 等于十, b 呢,它等于三,我们知道它除不开,对不对?那这个时候就可以啊, c 等于 a, 余胜啊,余胜 b 来,这个时候就算 a 除以 b, 除完之后的结果,那我们上过小学应该都知道,是吧?十除以三等于三,三是商,然后呢,于几啊?于一对不对?那我们来看一下吧,来, print 来, c, 走你啊,余数是一,那这个余数能干嘛呢?各位?他可以来帮我们做一些判断,比方说啊,让用户随便输一个数,哎,我想判断一下这个数呢,是不是三十五的倍数, 哎,是不是三十五的倍数?那这个时候我们就可以用到这个余数,比方说就这就拿这个需求吧,让用户输入一个数字,那判断是否是三十五的倍数, 对不对?那只如果说按照我们手工人工来算的话,对吧?你假设输的是这玩意对不对?你还拿它去除以三十五,看看有没有余数,有余数他就不是,对吧?没有余数他就是对不对?所以很简单,我们人人的这个逻辑转化到计算机身上的话,也是一样的道理,对吧?来,先输入一个数字吧。 啊,说一数字,并且呢,这数字一会我要做预算,所以呢就转化成了 int, 来,来个数。好了,来了个这个数之后啊,我要判断一下,如果怎么办呢?你这个 n 来余上三十五怎么办呢?如果它等于等于零, 不就没有余数,对吧?等于零就没有余数,所以这个时候我们就可以知道啊,这个是三十五的倍数, 对不对?你没有余数肯定是倍数,那否则就不是三十五的倍数,哎,这玩意就可以这么用,来个数,嗯,走啊,不是三十五的倍数对吧?嗯, 这个对吧?是三十五的倍数,对不对?所以这个东西就经常用法,就是这样的逻辑啊,那这个是余数,有余数的话就得有商吗?你一个完整的除法,有余数不行,还得有商,那这个商怎么算呢?商的话是这个东西, 这个东西,这个叫两个,两个,两个除法放一起啊,叫整除啊。这还有一种人管他叫地板除,都是一个道理,只是计算整数。那比方说我们把这个干掉,换成来个 d, 等于表示 a 除 b 来,这个时候我们来打印这个 d 啊,打印这个 d 底下给我注视一下啊,跟他没关系了哟,总会出现一些误操作啊。那这个是余数对吧?那第二个呢?就是这个商就是三,我可以改一下啊,因为这个这里面有三了,容易让你产生误解,来,这个,这个对吧?二十除以三,整出去的话应该等于六, 现在有二十除以三,等于是六二,是吧? ok, 那 这个是整除,又叫做地板除啊,了解一下就可以了。那这个余数的记答,余数后面会有,然后再往下比较。匀算什么?是比较,比较两个变量的值是不是一样啊?是不是这个比那个大呀?是不是这个比那个小啊?就这么个比较匀算。比方说大于 啊,小于大于等于,小于等于,是吧,还有什么呢?这个,这个等于和不等啊?之前没怎么聊这个,这个两个等号放一起表示的是判断左右两端是否一致啊,判断左右两端是否一致,来这个地方,嗯,就是这样 看啦, a 得十, b 得二十。好了, print a 等于 b, 注意这地方走, 看见了吗?他给你报错了,知道吧?一个等号不是做条件判断俩等号才是。这个几乎在所有的编程语言里面全都是这个逻辑啊,它计算的结果是触碰了 false, 是 吧?所以这个地方来二十走。 哎, a 等于 b 是 正确的,所以这个两个等号是做条件判断,一个等号是干嘛呢?一个等号是做负值计算,知道吗?这一个等号是负值用的啊,一会再说他。那还有一个不等,不等于就是左右两边是不是不相等啊? 哎,看到这东西啊,左两边是不是不相等啊?哎,相等的,所以它是 pos, 对 吧?那就就跟刚才那个正好相反的意思是吧?叹号等于,这个叫不等,了解一下。这个用的比较多啊,其他的用的还是比较少的,其他的也很好理解,是吧?再往下就复制运算,复制运算第一个要讲就是这个等号,这个等号很关键的。 这个等号很关键,那 a 等于三十,那 b 等于四十。好了,接下来,接下来我想,呃,让你干嘛呢?让 a 和 b 的 值进行一个互换啊?进行一个互换,咱们先不考虑。呃,这个,这个,这个,这个, python 的 一个一个一个特殊的写法,咱就直接想换啊。按照我的逻辑的话, a 跟 b 互换嘛,对不对?那就赋值呗,把 b 的 值先扔给 a, 然后再把 a 的 值扔给 b, 是 不就完了, 对吧?左手右手,左手一只鸡,右手一只鸭,想互换的话,对不对?就把左手这个鸡扔给右手右手,把这鸭扔给左手,不就完了吗?对吧?正常的逻辑应该是这样的吧,来, a 得 b, b 得 a, 来 print a, print b, 好 走,看都变成四十, a 没了,原来的三十没了,对吧?为什么会这样呢?你要注意了啊,各位, 如果你按照这个逻辑去走的话,它一定会出问题的。比方错了,我给你画个图看着啊。哎,这里面呢,它是 a, 它是三十,对吧?好了,再来个 b 来,这是个 b, b 里面呢?是四十,对吧?好了,接下来 a 等于 b, 注意,等号的意思是赋值,是把等号右边变量的值赋值给等号左边的变量,那也就说把 b 的 值掏出来扔给扔给 a, 那 a 的 话,这 里面原来的数据是不是被抹掉了,你就可以再见了,你也可以再见了,就变成了多少呢?四十,四十, a 跟 b 的 结果一模一样, 对吧?再往下看 b 的 a, 把 a 的 值呢?再扔给 b 身上,对吧?把 a 从 a 里面拿出来,再复制给 b 好 了,把 a 的 值复制给 b, 那 这 a 的 值不是从 b 来的吗?它俩一样,对不对?所以不用管,不用改,所以接下来再打印 a 跟 b 是 不是四十, 对吧?都是事实的,为什么会这样?你想,你想象一下啊,这是你,对吧?左手一只鸡,右手一只鸭啊,一只鸡一只鸭。 好了,接下来你想做互换,好了,你把这个我这个符号有点多啊,左手一只鸡,右手一只鸭,好了,你想让他俩做互换,你直接把这拿过来扔过去,对吧?附职嘛。把这个附职扔过去,那原来这个东西是不是就就就撇了,对不对?然后你再把这个东西呢再扔过来,那两边不就一样了吗? 因为这两边就一样了,因为你在第一步把这个数据扔过去的时候,这个数据原来的数据被抹掉了,就相当于把那个鸭给撇了吗?对不对?所以怎么办?这个事才是 ok 的 啊,我们需要进入这样一个区域啊,左手一只鸡,右手一只鸭,那我可以先把左手的鸡放桌子上, 把右手的鸭扔给左手,然后右手再从桌子上把这个鸭拿起来,那把这东西拿起来,所以这个时候需要一个中间变量来做这个值。 什么意思呢?看着啊,不能这么不能这么草率的干啊。准备一个中间变量,准备一桌子,这桌子呢,暂时先把 a 存起来,然后再把 b 的 值扔给 b, 把 b 的 值扔给 a, 对 吧?因为 a 的 值有备份嘛,对不对?这有备份呐, 对吧?有桌子有备份呢,放起来,对吧?所以把 b 的 值扔给 a, a, 这里面虽然被清掉了,但是我有备份嘛。那接下来干嘛呢?从桌子上把那个备份好的出 a a a a, 这里面虽然被清掉了,那接下来干嘛呢?从桌子上把那个备份好的 a, a, a, a, a, 这里面批,对吧?好,再走, 看四十三十是不是就完成了一个互换了,所以这里面做互换。注意啊,我说的是其他编程语言里面,只能这么办,这是一个标准的互换操作 啊。标准的互换操作,其他语言在 python 里面可以怎么办?也可以不这么玩。 python 里面有一个简单的操作,你不 ab 想互换吗?好了, a 逗号 b 等于 b 逗号 a 就 完了。哈哈,什么意思呢?把 b 的 值扔给这 a, 把 a 的 值扔给这 b, 就 完事了。 看到了吧,就完事了啊。这个到底是个什么含义呢?这个之前聊过,这是结构对吧?咱们聊字典的时候学会一个叫结构,把后面的数据它本身是个圆组啊,这东西本身是个圆组,那把圆组里面的 b, 哎,扔给这个东西,把圆组里面的 a 扔给这个东西,知道吧?所以在这个时候你发现 python 数比别的语言要简单多呀。对,下面代码仅适用于。 啥意思啊?做互换啊。做互换好了,那这个是负值操作,你要掌握第一个事,就是这个等号,它表示的是负值,不再是做比较的啊,跟我们数学上的一加一等于二不是这个东西。那再往下 还有什么呢?加等于减等于啊,乘等于,后面就不写了,就是把上面的预算后面都加上一个等于。这个什么意思呢?加等于。来,我就给你说一个事,你瞬间就能秒懂, a 加等于 b, 相当于 a 等于 a 加 b, 对吧?就是把 a 加 b 的 结果重新就先做加法吗?把 a 加 b 的 结果算出来,重新再赋值给这个 a, 行吧。所以呢,就这俩玩意最终表示的效果一样,最终运行的结果也一样,区别就是他少写一个字母 a, 那 就少写一个字母 a。 所以呢,你随意,你喜欢哪个用哪个。好吧,你用下面这个也不丢人啊。喜欢用,喜欢哪个用哪个。比方说之前我们讲过一个从一加到一百的一个程序,对吧?当时我是这么写,这么写的 来, n, n 等于一,可以吧?然后呢? sum 等于零,是吧? while, 当 n 小 于一百的时候,小于等于一百的时候,然后干嘛?是不是 sum? sum 等于 sum 加上的 n 得加起来吗?然后你 n 还得跟着变呢? n 等于 n 加一,那么这个代码就完全可以做一个替换表,替换成 sum 加等于 n, 对 吧?下面这个也一样,就可以把它替换成 n 加等于倒一次就结果都是一模一样,没有任何问题。好吧,你可以回去试一试啊。可以回去试一试。 ok, 那 这是负值预算,再往下呢叫逻辑预算 啊?逻辑预算?那么逻辑预算呢?咱们下一小节再说吧,已经十来分钟了,下一小节再说。这个呢,比较重要,也比较好玩。

各位朋友,我们现在给大家介绍搭建小白量化机器人的拍摄环境, 为什么要选择拍摄三点八点幺零,不同的 windows 系统支持不同的拍摄版本 拍摄三点八支持 win 七系统,三点九以上不支持 win 七系统。另外拍摄三点八有股票和期货的交易接口。 我们在学员群的 qq 群文件中下载四个安装文件,分别是步骤一、步骤二、步骤三、步骤四, 我们按顺序安装完文件就能搭建好我们的环境 安装。第一个,我们都采用默认安装,安装 python 的 环境也可以在官网去下载,安装的路径我们必须改为 c 盘的 python 三十八 安装图一点,运行在这个图图二的时候,我们要选择这个勾 点上增加 python 的 路径,然后选择自定义安装。第二项,图二杠三,选下一步。 图二杠四,我们选安装,选择第一项安装为所有用户。第二项, c 盘的 python 三十八目录点安装, 如果出现这个情况就是图二杠五,表示已经安装完成。 有些新电脑系统会出现图二点六,出现这种情况,大家就点一下,因为我们的新电脑的默认路径搜索路径有限制,我们点一下就能扩扩大,不会再出现了。 第三步,我们装 python 三八覆盖包,我们一般默认选择全部是是,如果有提示我们就选没有,一般是已经默认覆盖安装了, 我们这个路径不要改变, 如果有此图我们就操作,一般新的版本没有这个选项了。 第四步,安装小白量化机器人,我们默认小白量化机器人 c 盘的路径,安装好了以后就可以使用了。 量化机器人的群,我们点这里群文件, 取文件的时候就会出现这个画面,这个画面我们选找小白机器安装,在这个路径下,我们分别下载,步骤一二三四,下载完成我们就可以安装了,我们我们已经下载好了,我们现在就安装一下, 我们已经下载好了,我们现在从第一步开始安装,我们双击就可以按运行点选择式, 下一步,点个同意,再点下一步,下一步,下一步安装完成,再点下一步完成, 再选择步骤二,步骤二的时候,我们要选择增下面这个勾,安装 python 三八到系统的路径,我们选择第二项, 在这个画面选下一步,在这个画面选上第一项安装位,所有的用户把这个路径改成 python c 盘的冒号斜杠。 python 三十八点安装选择是 出现这个画面表示安装成功,我们在安装第三步,点一个点压解压, 现在已经快安装完了,安装完成我们再安装。第四步,直接点个解压。 安装完成的时候,我们在 c 盘的小白机权限下,这个是注册文件, c p y z c, 这是注册,我们输入我们的手机号, 昵称,邮箱密码,注册码,注册码。当我们购买了小白电话 机器人,我们就会有得到一个注册码,填上注册码,填上验证码,注册并登录。这个是我们的主程序,我们可以把它发送到桌面快捷方式, 更多属性发送到桌面快捷方式,我们把它改成小白机前, 我们从命名为小白机前,当我们双击的时候就可以自动运行, 现在已经正常了,我们正常了以后就可以使用自动交易了,比如说在我们在这里擦键,我们可以使用同花顺 指标公式,同花顺交易窗口,我们选择下单路径,设置好金额,下时间股票池输一个自己的做的一个专家公式,然后就可以去实现全自动交易。 现在系统已环境已经安装好了,谢谢大家。

满目自学只会毁了你!这才是抖音最系统的拍摄教程,存下吧,全两百级纯干货版,真的很难找全了!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍摄,这应该是抖音目前最良心的入门到进阶的拍摄教程了, 哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍上从零到一的学习计划表,只需上百集素材,书籍、课件等等,只要你能想到的素材我这里几乎都有, 评论留言六六六即可全部免费打包带走,相信我,这套拍照既可速成,将会是全网最齐全这一等的小白专用课。如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍档的小伙伴看到这个视频。下一站,上岸,上岸而得名,希望看到视频 的接上岸,下一站,上岸, 顶峰剑,我们终会上岸!各位好,我是樵夫,那从今天开始呢,给大家讲一下 python 基础。 首先第一节课,我们先来一个素质三连,对吧,一共三个问题,第一个问题,什么是编程以及什么是编程语言?第二个就编程语言的具体的分类。第三个问题,什么是 python 以及 python 的 特点是什么呀?有哪些优缺点呢?对吧?这是咱们第一节课要聊的啊,其实就是一个简单的介绍啊。 第一个,什么是编程啊?其实从字面上就很容易理解,就编程,编写程序就通过我们写一些代码来完成一个程序的构建,对吧?这个是编程。 那第二个,什么是编程语言?那编程语言的话,想想啊,我们最终的目标目的是编写出了一个程序,那想编写出一个程序就可以有很多种方法去,对吧?实现它。比方说我可以用用 c 语言来写,可以用 java 语言来写,可以用这个、这个 python 来写, 所以什么是编程语言?就是你通过哪种语法来去啊?完成这个程序的构建,对吧?这就是编程语言,所以总结下来的话很容易理解啊,有编程,有编辑程序, 编辑程序当然用什么编辑?用代码,对吧?用代码编辑程序,那么下一个问题,什么是编程语言?就是用哪种什么语法规则来编写程序, 对吧?这是编程语言常见的编程语言,刚才说了 c 呀, java 呀, python 啊,对不对?那么这么多的众多的编程语言里面听好都是要通过我们程序员的双手,对吧?一个字母一个字母的来敲出来的,那么想象一下,我们通过键盘,比方说我随便敲一个 a 等于十,对吧?随便敲一个,那么各位想象一下,这些东西是不是我们人类所熟知的东西, 那么这些东西他想要运行的话,他一定要想办法把你人类所认识的这些玩意变成你机器所认识的东西。那么我们计算机所认识的是什么?是不是零幺代码啊?各位? 所以这个时候问题来了,我们需要把我们所编写的程序给他转化成零幺,然后交给机器去执行,那么这个时候就分成了两大类啊。分成两大类?哪两大类呢?第一大类 啊,叫编异形,叫编异形。什么是编异形?很好理解,就是把你写好的这个程序一次性的全都给他翻译成零幺代码,那么这个零幺代码呢?我们一般情况下会不会把它 啊?就是放在一个文件里面,那个文件一般叫 e x e 文件,比如说我们用的 qq, 我 们用的迅雷,对吧?我用的快播,对不对?这些东西都是啊,可执行文件,那么可执行文件里面其实就是直接能执行的东西嘛,对不对?所以这种语言就是叫什么叫编异形,就是把你写好的程序 一次性的变异成这种零幺啊,当然这个零幺我只是举例子啊,其实它里面不一定是零幺,但是大概是这个含义。那么变异型它的特点就是一次性把原代码进行变异啊,就进行翻译嘛,我说翻译更好理解一点,那么这个时候咱们想一下啊,这个变异型的特点是什么? 你想你的程序是不是已经变成零幺了?那已经变成零幺的东西,想想啊,你交给计算机,计算机恰好他最最喜欢的就是零幺,对不对?那这个时候对于计算机而言,哇,太好了,你给你直接给我零幺,我直接就能执行,这个时候他的执行效率一定是高的, 对吧?一定是高的,所以这个时候他们的特点啊,边形的特点就是执行效率很高,所以我们玩的游戏,你玩的撸啊撸,你玩的 dnf, 对 不对?这些东西基本上都是变异性啊,都是变异性,基本都是 c 来写,所以 c 语言是典型的变异型的啊,这种语言,而且变异型最主要特点就是 代码的执行的效率比较高啊,那么这是它的优点,它的缺点是什么呢?讲一下啊,各位,你们有没有考虑过在 linux 里面去玩 dnf 对吧?有没有想过在服务器上啊?在 linux 那 个操作系统上去跑一跑,撸撸啊撸,对不对?拿个盖伦对吧?大杀四方啊。这个基本上是不是办不到?是很麻烦,很麻烦。那也就是说,也就是说变异性他一般都有一个特点,就是他的平台依赖性一般 比较高啊,一般它的平台依赖性比较高,就是你在 windows 上翻译过来的这些东西,你在 windows 上执行没有问题,但是你直接把你这玩意扔到了哪?扔到 linux 上跑,跑不了, 好吧,跑不了,这是为什么?这么多年到现在为止,对吧?这个,这个 linux 底下的那个 qq, 对 吧?还是烂的,就是就就没法再烂了,好吧,这是我们说变异性它的特点,那么这种东西跟它对立面的是什么呢?跟它对立面的,想想啊, 我说了编辑形式,把代码一次性全翻译成这玩意,然后用户拿着 e、 s、 e 就 可以了,对不对?直接执行就可以。那么第二种类型跟他正好是对立面,叫解释型啊,叫解释型。什么是解释型呢? 你写好了代码好了,把你的代码直接扔给你的客户,扔给客户之后,由客户机上的一个软件来负责读代码,然后当场翻译。干嘛呢?翻译 和运行啊,一行一行的,去去去翻译和运行,那么这个时候你就必须把你写好的代码扔给你的客户,你的客户上面有一台有有一个软件,这个软件呢负责来执行你写的程序,那这是解释型,那解释型的特点,其实我们跟他一对比的话,其实就很容易理解了啊,很容易理解。你想啊, 你要把你写好代码扔给你的客户,你的客户呢?想运行的时候得拿着原代码一行一行的翻译,翻译,一行运行,一行翻译一行运行,那么这个执行效率是肯定低的,对吧?执行效率肯定低,所以他的执行效率啊,就是比就相对较低 啊,相对较低。但是呢,他为什么还就是就是执行效率这么低,还要有解释型,就因为他一般平台的依赖性不高 啊,平台的依赖性不高,为什么会这样?来,各位,简单的给你解释一下,我给你画个图,你瞬间就明白了。 来给你画个图啊,画个图。比方说,这是你写好的代码,哎,这是你写好的代码。好了,你这个代码打算想往这个电脑上运行,这个电脑上运行,这个电脑上运行。注意,三台电脑,三台不同的操作系统,比方说这个是 windows, 对 吧?我们最熟悉的 windows, 这个呢?是 linux 啊, linux 这个,呃,如果是小白的话,应该是没接触过,如果是搞过运维的啊,这个是很熟悉的。还有一个叫 mac, 就是 我当前这个破电脑啊,用的就是 mac。 那 么各位,接下来我们听,我想把这个程序好了,扔到 windows 上执行, 我画个箭头啊,扔给 windows 上执行。那么这个时候想想啊,我说了,你的这个程序扔过来之后,它必须得有一个玩意儿,能把你的这个程序是不是翻译成幺啊?那么这个时候 windows 上就得装一软件儿, 对不对?桌面软件,这软件负责把你这个程序进行翻译和执行,对不对?一样的,你这程序扔给 linux, linux 它也得装一个软件,那个软件来负责执行你的代码。 mac 上也可以装一个软件来负责解释执行你给的这个代码。那么各位这个时候想想啊,你代码是不是相当于你想要代码?扔给 windows 也没问题,扔给 linux 也没问题,扔给 mac 还是没问题,因为 windows 上只要装了这软件就可以, linux 上也是,哎,这个 mac 上也是,无非就是 提供三个不同版本的这个软件,对吧?那这个软件叫什么名呢?叫解释器,叫解释器,比方说这个地方装的是 windows 版本的解释器,好了,这个地方装的是 linux 版本的解释器,对吧?这个地方装了一个 mac 版本的解释器, 对不对?那么这个时候对于你的原程序,就你的原代码,你写的那个程序而言,是不是相当于各个平台都能运行?只要各个平台都装有这个解释器,哎,就没问题,对吧?所以这个时候我们的程序他一般的平台的依赖性不高,他依赖的是谁?各位是不是依赖你,你要装的这软件啊, 对吧?你要装的这软件。而对于解释型语言啊,他们的官方一般都会提供这个,这个和这个 知道吧?都会提供不同平台的解释器,对不对?所以你的相当于你的这个编程元素,就就相当于可以跨平台了,对不对?所以这个时候我们就知道了解释性,他的优点就是平台的依赖性不高,对吧?他的执行的效率相对较低啊。还有一点就是他的原代码啊,他还有一个缺点就是他的原代码一般无法加密, 对吧?一般无法加密。呃,这个其实就说的有点有点有点有点神道了啊,你想啊,边形对吧?你把你的这个程序变成零幺零幺零幺,对不对?客户拿到的是一堆零幺零幺,他很难啊,就普通人很难说知道你那里面的零幺零幺写的是啥,对不对?那?但是对于解释行不行?你必须得把原代码给他,他才能解释这些吗? 所以他一般是无法加密啊。一般是无法加密,但是对于高手而言没没差别。对于高手而言,你给我的是零幺,那我可以反变异吗?对不对?我根据你的零幺反推着你,代码是啥,对不对?也是可以办到的,所以这个东西其实意义不大,对于小白来说有点对于大佬而言,意义意义意义,根本就没有任何意义好吗? 啊?这是第二个我们要聊的问题,那么常见的啊,变异型语言都哪些呢?比如说 c 语言对吧?比方说 go 语言对不对?这是很典型的这个变异型,他们两个的执行效率都非常高啊,执行效率都非常高。那解释型主要是谁呢? javascript, 哎,还有谁呢?这个咱们要讲的这个 python, 对 吧?这个还有 ruby 啊,还有这个其他的一些脚本语言,基本上都是解释型, 基本上都是这样一个分,这样一个分布啊,这样一个分布。那么有人会说了,是这个 python, 是 吧?它是个解释性语言哇,它的执行效率比较低,哎,你这语言的特性在这摆着吗?对不对?没办法,它肯定执行效率比较低,那 python 说不好啊?不是的,那接下来我们就要聊下一个问题,什么是 python, 对 吧?首先第一个问题, 什么是 python? 各位, python 这个英文单词,你,你扔给百度翻译,扔给有多有多翻译,它会告诉你它叫蟒蛇, 他叫蟒蛇,是吧?看着这个词就就瘆得慌,蟒蛇是个什么概念?各位,本质上 python 就是 这个这个语言啊,和这个蟒蛇是没有一毛钱关系,记着啊, 就是就是外国人因为这个外国人起的名字吗?对吧?这 python 的 作者是个荷兰人啊,一个叫龟叔的人,乌龟的龟啊,乌龟,龟叔的人啊,龟叔,他 就是就是创立的这个牌子,那么外国人起名字就是随心所欲,你懂我意思吧?随心所欲啊,他他,他想叫张三就叫张三,他想叫李四就叫李四,他想叫什么就叫什么,知道吧?就是比如说扎瓦,对吧?扎瓦,扎瓦这个词如果是你真的要给他翻译过来的话,这个东西叫什么?是找瓦岛, 对吧?就是印度尼西亚南边有一岛,那岛叫爪哇岛,知道吧?这是爪哇,所以这个玩意你很你,你很难说说蟒蛇跟电动语言有什么关系,知道吧?所以这个东西不用去纠结啊,不用去纠结他翻译过来到底是个什么东西。那么 python 刚才我简单的露了一嘴,是吧? python 是 一个叫龟龟,龟龟书 的荷兰老头写的啊,哪年写的?八九年?对,八九年啊, 八九年写的这个玩意呢?怎么说呢,他的岁数比我都大啊,比我都大, python 的 岁数比我都大。所以 python 的 年头是有了啊。年头是有了,但是真正的说大火起来应该是近几年, 近几年随着人工智能啊,数据分析啊,对吧?大数据平台一上来,对不对?数据清洗这些东西一上来, python 在 这方面有得天独厚的优势啊,有得天独厚的优势,因为 python 本身他是个脚本语言,他是个脚本,你看上面写着几个玩意,全是脚本语言,那么所以他呃就就就咋说呢?就是 对于一些处理数据呀,啊,写个爬虫啊,写一些小功能,哎,这玩意特别的好,上手也特别的容易,而且第三方库还特别特别的全, 特别特别的全,那就是爬虫的一个特点和优点,所以他近几年随着这个大家对大数据时代的这个呃了解,对吧?大家对大数据时代的这个需求逐渐的增高,所以呢,对数据计算,数据科学,对吧?是有一定的这个 想法了,那么 python 呢?就水涨船高,对吧?跟着就往上走了。那 python 他 特别擅长的领域啊,简单跟各位说一下,擅长什么 啊?第一个就 python 这个玩意,他擅长爬虫,第二个就是自动化,各种自动化,自动化办公,自动化运维,对吧?自动化,你随便自动化什么都行,他适,他特别适合做一些自动化的一些东西。第三个事情,他特别适合科学计算 啊,特别适合做科学计算,因为他有一个非常非常呃,就是给力的一个包啊, number p, y 啊,盘纳斯这些个包,还有一些个什么呢?第四个是人工智能 啊,人工智能在人工智能领域他也有非常得天独厚的造诣啊,有非常非常优秀的第三方库的支持啊。什么是第三方库?就是你想要的一些功能,不用,不需要你去写,有人帮你完成了,拿来用就可以了,知道吧,就好比说你喜欢踢足球,各位你不能去自己造个足球去吧,有人造好了,拿来踢就完了,哎,就这么个概念 啊,所以这是 python 的 擅长的东西,那么 python 的 特点其实跟他的语言的特性基本上就挂钩了, python 的 特点,第一跨平台,第二,他的执行效率没有那么高啊,没有那么高,但是你想我就做一些基本的一些个 脚本类的这些操作,对不对?其实也无所谓啊,其实也无所谓,所以这个东西他能火肯定是有他的原因在啊,你不要总揪着某一个东西的短板是吧,无限的把它放大,那,那那样的话就等于钻牛角尖了。 好了,那这是 python 的 一些个啊概念性的东西。那么接下来我们就要聊一个比较沉重的,就是比较很多新手要遇见的极其蛋疼的一个问题,就是 python 的 环境安装啊,那么下一节我们来聊如何来搭建 python 的 开发环境。 那么书接上回,那么上一小节呢,咱们成功的开发了咱们 python 的 第一个程序,但是我们用的记事本啊,很恶心,而且呢,它又不告诉你哪错了,对不对?那我说了,这节课我们要选择一个特别好用的 啊, python 开发工具对不对?那常见的,市面上我们能够遇见的说写 python 代码的东西有哪些呢?我们常见的啊,第一个就刚才上节我们讲的叫记事本啊,记事本,那记事本呢?各位,这个就不提了啊,又丑又难用,不告诉你哪错了,对吧?第二个叫 vs code 啊, vs code 的 微软出品啊,微软出品叫微软 studio code, 它的,呃优势呢,就是它比较小,如果你不装插件的话,它它很小,而且呢,呃就响应速度也比较快,写代码呢也有提示,那看着呢,还是界面也比较舒服。那当然,呃,这个东西它不光是说写 python 比较好,写 java 呀,写那个前端都很 ok, 很 棒的一个编辑器。但是呢,我还是不选择啊。第三个,我可以选择什么呢?叫 pirom, pirom, pirom 呢,就是我要选择的它的优势呢?第一,它专一 对吧,它专门就是就是写排序程序的知道吧,这东西很好用啊,而且呢,我们用它来 delete 也好,我们用它来查错也好,非常的 ok, 而且它集成了非常非常多的很棒的功能啊,所以我选择用的排序码基本上号称全宇宙最好用的排序算法工具啊,那还有没有呢?第四个,有的啊,还有什么呢?叫 notebook 啊,就 python notebook 啊,这个东西呢,就是,呃,什么时候用啊?限阶段。对于纯小白而言,我不建议你上来就用这个 notebook。 我 建议呢,你还是用拍叉也好吗? vs code 也好,都可以是吧。 不, python notebook 适合什么呢?适合你往后发展的时候。你 python 基础 ok 了,你去弄弄爬虫啊,你去学习一些爬虫也不太好, 最好是弄数据分析啊,弄人工智能,弄科学计算。哎,这一波人你用就是主 part 弄的会会比较好一点,因为他能够分布的来去执行你的程序啊,可以,就调试起来会更方便是吧,但是对于我们写学习 python 基础基础语法而言,拍叉是最合适的。各位啊,最合适的?好,那接下来咱们就直接说怎么来去装那玩意,对吧? 来,在这块拍叉双击啊,这个这个下载一会说等等会他装起来,对吧?咱们再说他啊,是 下一步啊,至于你想把它装哪,你随意。好吧,他不像是拍神那么矫情好吧,他也不用什么那个那个环境明亮,那些玩意儿不需要下一步就可以了啊。然后这个地方呢,就是是不是要创建一个桌面的快捷方式啊?是, 好吧,是不是要加到你的这个右键菜单里面啊?你想试就试,不想试也可以不试啊,是不是默认打开 ps 文件呢?想试就试,不想试也可以随你面啊。然后呢,是不是要加到这个 pass 里面啊?不需要好吧,不需要直接下一步走 啊,然后这下一步走啊,这是它的装饰线,装饰的同时回头我过来告诉你们,这个拍叉上哪找去啊?就直接百度拍叉么? 这简单吧,百度拍叉么?然后这前面这这这广告看好了,这不是下面这个是这个 download 的 拍叉么?这个是点它啊,你要看好看好,这个网址是三 w 的 gps 的 com 啊, g d 公司啊。 这名起的也是霸气,就跟当年我在用友上班的时候,用友说用友有有款产品叫 nc 是 吧,我听 nc 好 好高大上啊,但是细想想是吧, 有点脑残啊。然后这地方拍上两个版本,一个是 professional, 一个是 community, community 呢,叫社区版,社区版的优势是免费随便使,但是功能比较少啊功能比较少,这个专业版呢,就功能比较强大,但是他要钱好吧,但是这个玩意啊,你往后看。好,你往后看,来 我我告诉你的是我这块装的是 professional 啊所以呢肯定有这个东西啊 come on come on 又是等待啊又是等待。就是所以说一开始的时候我们装软件的这个过程呢会墨迹一点啊这块就是为了让小白们能够嗯 就真正的说能能学到东西他们能回去不碰壁因为我见了太多的说拍泰南装装不明白然后反正各种各样的问题拍叉吗装是就坑坑巴巴装上了对不对但是呢没法用各种这样的问题所以呢我就 帮你们扫清障碍啊。好,接下来就是装完了吗装完了之后就跑吗逆行了吗把这个勾上。好啊那桌面就多了个快捷方式以后用的时候双击就可以了。然后就是前两天有个哥们可逗了他说 这个 python 要破解吗我就疯了你知道吧 python 不 需要破解 python 是 免费的这是 python 程序。这叫拍叉嘛这是写代码的工具啊不一样的啊不一样的。呃这是什么玩意嗯你不管它 呃 data sharing don't send 吧啊 don't send 好 了接下来到这个界面这个界面呢是问你你喜欢黑的还是喜欢白的 是吧这个黑的就显得比较成熟一点是吧白的呢就显得稚嫩一点啊所以呢我们成员一般都是比较成熟的。黑的你随意啊你随意黑的我喜欢黑的然后往下走这个地方呢不用管开始 好了到这 n 多人直接卡在这了啊卡在这动弹不得怎么办呢。打开啊打开这边告诉你了哪个版本哪个版本 ok 啊哪个版本哪个版本那我这个版本呢是呃二零二零点一二零二零点一。那应该是这个玩意是吧试一下看看好不好使啊走。 嗯没反应没反应没反应。没事,打开它 哦他是先进入试用哈进入试用试用然后再把他拖进来 啊。我拖错地方了不好意思我拖错地方了。没事,试用这块有个免费的试用试用的话。嗯。不让我用吗? 我得先进去。 哎进来了啊就是就我又打开一遍。就是既试用试用之后呢把这玩意儿给它塞进去啊把这玩意儿给它塞进去塞进去呢。 restart 啊 restart 这里面都有有有方法都告诉你,你就照着来知道吧。基本上都没基本上都是 ok 的 啊然后呢这块儿是为拍叉安装呃重启 a 等于呢重启后什么叫是否重启你的拍叉呢?重启 看他会不会自动重启他不会自动重启就手动重启一下。 这个是适用于很多的版本,很多版本好了基本上这就跳过来了如果这个跳过来之后还是不行那你再点进去你再照这个看知道吧照这个往下看然后呢要要做做什么什么东西知道吧。这地方都会都会教你的啊都会教你的。 呃那个码呢那个码呢那个码我好像没放在这里头啊回头我都打包打包进去这呢啊这这个码也是有用的把这个码复制过来好像是这个地方我找一下啊。嗯这 这呢看把这个码给它扔进去把把这码扔进去然后点 s t 因为我这个机器应该是之前激活过啊应该激活过,现在已经到了二零八年了 啊别的我就不说了 ok 吧,如果说你还有什么疑问你就看这个文档,这文档就告诉你的,很清楚很清楚了啊,你就照着文档来基本都没都没问题好了。这这不不敢读太多,你知道吗?其实这个我感觉就有点过分了,然后接下来就是 怎么使用它对吧?这玩意能用啊,怎么用它来 create new project 啊? new project? 这个 create project 什么意思?就是项目是什么意思?我跟你讲项目本质就是个文件夹,就是你写的那代码不能说东一块子西一块子,像咱们这样。哇,这是什么意思?我跟你讲项目本质就是个文件夹,就是你写的,是把他们 就是总结起来,对吧?放到一个文件夹里面去方便你以后啊挪用啊或者怎么样对不对?所以我们需要弄一个文件夹,所以第一个你要填的就是文件夹,文件夹呢我就直接给它放在塞那里放在这个里边。呃你你自己放好吧。这个你不要说跟着我是一样的啊,因为我这个没办法的,我这就一个盘 啊。好了啊拍摄图片或者图片都行啊,你自己随便起或者说你的项目叫 qq 你 就写 qq, 你 的项目叫旭伦就写旭伦就行。 然后关键是下面这地方,这个地方各位是很多小白根本就没有注意到的,直接口给他咔就过去了,知道吧,这是大坑。各位这个地方他会创造一个虚拟环境,我们现在连拍的是啥还没整明白呢你就虚拟环境啊,虚个屁,虚来就这地方打开不要虚拟环境,选下面这个 知道吧?选下面这个然后这个地方点一下,哎,没有没有,太好了,没有的话我就点这个东西啊,这是干嘛?这块是 你的代码,是不是存这,对吧?而你现在这工具是不是写 python 程序的?能写 python 程序是不是能运行? python 程序谁能运行?是我 python 解释器能运行,那么这个地方就是你到底要把哪个解释器作为这个项目的运行的?那个解释器 能听懂吗?这是绕口令,你看哈,就是用哪个解释器来关联你这个项目啊,那我这个地方没有,没有就太好了,点这后面仨点走你。 哎,这仨点,这仨点呢?这块有个 system interpreter, 点它,那就看你看你有东西没有,如果这还没有,点这三个点 啊,点这三个点,听好,我指的是没有啊,我这有没有的话点这三个点,然后打开 c 盘,呐,你的 python 装哪了呀,对不对?你的那个解释器是不是这个 python 呢?把它一 ok, 这块就有了啊,肯定就有了,那我这有,我就直接选它了点, ok, 那这是不是有了三点八,对不对?那然后点 create 啊,一定选下面那个,选上面那个,你后期安装东西的时候就很头疼啊。好嘞,来,走, come on, 这玩意就就就再见,你不需要再看这些玩意啊,你想看的话你就看,我不需要看了,然后在这里面呢,你可以右键,对不对?这就是你的大文件夹,大文件夹里面,哎,放个小文件夹,比方说这是咱们的第一次嘛,对不对?第一次 啊,这个地方听好啊,学习的时候啊,你可以用中文,但是你如果真的到了工作环境,是吧,是不能是写中文的啊?新建一个,比如说 python file, 看到了吧,这地方右键啊,右键新建 python file 啊,我们那个那个 first 是 吧? first 来看这个地方就有个 first。 点屁来,那我们那个程序叫啥来?叫叫叫 print。 哎呀,这个键盘真翻译 print 括号对吧?随便写些东西。你好你好啊,我叫塞莉呀, 保存哎,也不用保存,这个拍唱自动保存。然后呢?你这个玩意写完了之后看着啊,别着急,这玩意没用,弹掉, 等一会看这底下有个记录条没,等这个记录条走完。因为每次你创建一个新的项目,他这块都要做一个呃,一个检查啊,所以你要等他跑完,稍等一会啊,稍等一会,我这个机器实在太卡。各位啊,这这这是,我 讲完了这个东西之后我就切回去了,我再也不想看见他,你们发现没,我一开始其实用的就是它,看见没,我写的,我写这个东西都是在这写的啊,所以最终肯定是把这个玩意打包给你们啊。 咦,哎,跑完了,看他底下那跑完了,跑完了之后就可以运行了。怎么运行右键啊?找到你要运行的这个 pi 文件右键,然后这地方有个 run 啊, run 一下 一 run。 你 好啊,我叫塞利啊啊,怎么运行的?你看上面 c 盘 python 三十八, python 点 esd 是 不是 python 解析器, python 解析器空格是不是 python 文件?跟咱们之前所讲那玩意是不是一样的?宝贝,所以 python 怎么去运行一定是这玩意, python 空格对吧?然后呢?这个 py 文件 对不对?格式是一模一样的,所以即使你用了更高级的拍唱这种开发工具对吧?你的这个这个运行起来还是这玩意对不对?所以我们就可以通过这一个软件,对吧?就可以写代码,又能看见效果,是不是就不用再切这个破黑方了,对不对?然后呢,你如果说代码里有错误, 哎,有错误你看给你飘红线,哎,飘红线就告诉你这块可能有问题,你就检查吧,啊,基本上都是有问题啊, ok, 那 这就是我们说,呃,我们现在聊的就比较好用的一个开发工具啊,排插,你可以去装一装,然后呢试一试。 好,接下来咱们来聊聊如何来安装 python 接收器。那么这一节内容非常的重要啊,因为我见过太多的人了,他们呃装好了 python, 然后反而呢发现 python 不 能用,然后呢就各种各样的抱怨啊,这个其实是你本身安装的 过程有问有问题啊。首先第一个是我们如何来获取 python 解析器,对吧?那首先呢,你需要记住一个网站叫 python 点 o r g, 这个网站呢,必须要记住,各位,这是 python 的 官方网站,我们未来去 搜索或者说是呃,查找一些 python 提供给我们的一些个呃东西的时候,都要去这个网站去找,它是唯一标准,好吧,它是唯一标准,那么从这个网站里面我们可以干嘛呢?点这个地方有个 download 啊, download 的 就不用点一划哎,这块儿有个 all release, 这是所有的,它点完了之后就会进入到这个页面, 在这个页面里面他会问你是不是要下载最新版本的,呃,这个 python 解析器,最新版本的是 python 三点九点二啊,但是呢,我还是秉承着一贯的就说,呃,最新版的它多少会有一些个问题,我们先不着急用最新版啊,因为对于刚开始学习而言,尤其学习基础语法而言,我们用最新版的下一个版本 上上一个版本啊,上一个版本三点八,哎,基本上就可以应付你目前学习的这个状态,甚至说我现在这台机器上其实用的是三点七,也没问题,也没问题啊,一定记住一一句话,就是最新的不一定是最好的,最稳定的才是最好的, 知道吧?所以我们我推荐啊,如果你是没装过的话,你就三点八,如果你已经装了三点九啊,或者三点六啊,三点五啊,你就用着好吧。但是二点七不要再用了啊,二点七不用再用,因为 python 官方网站已经说了最后的支持,那最后的支持时间是二零二零年一月一号,已经过去了,知道吧?所以 python 二点七 基本上可以说退出了历史的舞台。拍算官方就归书,那老爷子他都不管他了,所以你就不要再丢二十七了,对吧? ok, 那 么咱们就随便找一个,就三点九,三点八,三点七都行,我建议你的是三点八啊,好了,那怎么去装,那这个地方呢?你可以点那个拍算三点八点八,对吧?然后就过来就打开一个新页面,那往下拉, 拉到下面好,下面下面就有了,对吧?你是苹果的,那你就点前面这玩意,好吧。你如果是 linux 的 话,你需要下载它的原版,然后用原版进行安装,那么下面这些呢,是 提供给 windows 平台的,那么 windows 平台我告诉你装哪个啊?上面这仨都别管,你找的是 installer, installer, installer 什么意思?就是你就是它下载好是一个 exe 文件,双击,就像我们装那个撸啊撸一样,双击咔咔,一步一步下一步那种,知道吧,所以我们选择下面这俩。这俩玩意选哪一个?很简单,你的电脑是三十二位的,就选上面那个,你是六十四位的,就选下面那个。 基本上现在市面上的电脑几乎都是六十四位的。好吧,所以这个我是推荐各位的啊,你可以点它,点它呢,就开始下载了。那这个地方我就不下载了啊,我为了给你们演示的更清楚一点,因为我这块是 mac 平台啊,是 mac, 所以呢,我临时弄了一个虚拟机 啊,弄了个虚拟机,拍的就是这个 windows 虚拟机啊,那么提前准备好了啊,拍摄的解压器。那你下载下来呢,就长这个样子,怎么用它双击 啊?双击会吧,就跟装装装撸啊撸一样,然后到这一步,各位,关键的一步啊,最关键的一步,你一定记着下面这有个勾,你把这个勾给勾上啊,把这个勾给勾上。这勾是干嘛的?各位,这个勾可以帮我们把 python 添加到 pass 里面去。这个 pass 是 个关键啊,这个 pass 关键,如果你不把它加到这个 pass 里面去,一会儿我们再输入 python 命令啊,或者用 python 的 时候你用不了了,对吧?所以这地方是个关键,这勾一定给它勾上啊,一定给它勾上,然后别着急,你别哐叽点个 install now, 对 吧?看这词了, install 安装啊,现在就安装,不是它选下面那个, 选下面这个啊,一定听话,点那个。点这个干嘛呢?点进去,哎,我先回去啊我先回来,我回来。你就看上面这个东西哪嘎达有问题,对吧?你装这个东西的时候,你简单的多多瞄一眼就知道这嘎达有问题了。各位,这个路径, 来,你看这个路径, c 盘下的 users 里面, sierra app data local programs programs, python, python 三十八这么长一路径, 我靠,你装一 python, 你 把 python 装的这么深,那我问你,如果有一天你你的 python 你 装的这么深,那我问你,我说你 python 装哪了啊? 不知道啊,当时一路确定来着,对吧?这个就很头疼了,好吧,这就很头疼了,所以不要把 python 装在这个默认的路径里,这太长了啊,太长了,但是你也别太短了啊,你别卡整个 c 盘就完了,知道吧?那么在哪能换这个目录?下面这个地方能换这目录,好吧,你要点上面这个默认就这目录了啊,选下面这个,走,选它 过来,过来之后呢,这些玩意都别动,都别动啊,不要瞎勾,勾坏了啊,你自己负责来下一个。下一步之后呢,你需要做的第一件事情。各位,这上面有个 in starf or users, 把这个勾勾上啊,因为我之前也见过一个同学,他的那个 电脑里面有很多个用户,对吧?然后呢,就用户切来切去的,要 pad 好 使不好使的,把这个勾上,那你的 pad 就 可以给所有的用户使用了啊。把这个勾勾上,然, 然后呢?底下这两步,别别别动它,就勾这一个,好吧,就勾这一个,然后这地方是你想把 python 到底装在哪啊,对不对?到到这一步你就可以自己去去定义了啊,但是还是不要把你的路径整的太长啊,你可以在这改,比如说你改成 d 盘,对吧?你改成什么时候?文件夹叭叭叭叭你都可以写啊,但是这里面有几个原则,就我们平时装装这种软件的一个基本原则, 第一个原则, sorry 啊,第一个原则啊,就是你的路径里面把路径尽量的简洁,但是不要出现中文,这是一个最基本的 就是就是逻辑不要出现中文,有了中文很有可能会出各种各样的问题,知道吧,这地方不要出现中文啊,然后就是就就就就 短小精干就可以了好吧,比方说你你我这电脑就一个盘好吧,你可以像你的话你装到 d 盘里面对吧?装到 e 盘里面对不对?你对你自己的电脑硬盘对吧,肯定是有一个自己的呃,维护的一个逻辑的好吧,然后点 install 啊,它就开始安装了啊,这个过程看你机器的这个性能啊,机器性能好刷就过去。机器性能不好了就等着吧 啊完事然后呢?我这块是个虚拟机啊,虚拟机的性能你懂吧。所以呢,我们就可以唱一支歌,然后呢等待它的安装是吧,你们唱我听什么。小白菜啊,挺尴尬,就等吧, 每次碰到这种装 pose 的 时候都是你就是你说聊会天呢,可能你没聊完他不玩了,你要不聊天呢就在那啥等着你等着我也等着,很烦,但是我相信你各位的电脑而言装这个东西应该很快的啊。 come on come on 老 baby 我 还是回来扯点没用的东西回去重来 就是为啥说让你们记住拍什么这个这个官方网站因为我们比方说啊在我们未来学到字典了对吧?字典你不知道怎么怎么回事,对吧?你可以在这搜字典,哎,你可以 go, 然后去搜关于字典这些东西,甚至说他还有这个文档,对不对啊?文档还有很多很多的,就是官方发布那些消息都在这里面放着呢,包括三点九,有什么新玩意啊,你都可以去看看, 所以这个官网是很重要的这官网是很重要的啊,好不好,失望至极。算了,还等吧,我不想再扯那些没用的,什么 翻过了一座山,一座山,你来过了几道弯,还有弯 忘词, 哎,好了, ok, 这个就很有意思了,你只要看到了 setup was successful, 他的意思说你的安装,对吧?是成功的啊。 successful, 成功的,那就 ok 了。底下这玩意呢?不用管好吧,底下这玩意不用管。然后我们点一下 close 就 可以了啊, close 就 可以了,然后装完了之后有我。我之前碰到过一个事啊,就一个小伙伴装完了 python, 问我 老师,装完了我的桌面怎么没有呢?对吧?这个东西啊,各位,它它它的运行,或者说那个解数器的运行,咱们之前讲了,那解数器是不是就是用来执行你代码的啊, 对不对?所以那个玩意是很专业,而且是有一个特定功能的。不是,不像是我们说 qq 什么乱七八糟的,对吧,就给你上了个图标,给你双击。还有界面啊,哪有界面呢?它没界面的,知道吧?所以我们接下来得需要切出一个窗口来,那窗口呢?叫道士来,我们需要在这个这个地方可以搜索一下啊,叫 c m d 啊, c m d 叫命令提示符啊,或者说是这个命令行窗口,哎,点上它,哎,就就就把这玩意蹦出来了。这是啥呢?就是 windows 的 起家的一个玩意,叫 dos 啊,在这里面我们可以输入一个命令叫 python, 因为我们刚做完 python 嘛,哎,我们回车,哎,你会看到啊,我们的光标啊,这个地方,哎,跟之前是不一样了,对不对?里面呢,还可以告诉你呢, python 三点八点五,然后什么什么 一大堆看不懂的玩意啊,无所谓。那么如果你的电脑上面输入 python, 能够看到这些玩意,恭喜你,你的 python 安装已经成功了啊,已经成功了,但是各位,有些人他的电脑上装完了之后。你好,有些人电脑装了之后来,比方说 来,如果你的电脑里面啊,各位,你输入的是 python 命令,但是呢,出来的是这玩意。听好啊,如果你输的是 python 命令,出的是这玩意什么?不是内部命令了,或什么什么玩意。记着一个事,你百分之九十九是没有什么呢?这个,这个,这个点击刚 开始的那个什么呢? a d, d 啊? python to pass, 你 百分之百是没点那勾啊, 啊,就换句话说,你没有把 python 添加到 pass 那 个环境变量里面去啊,你没,你不添加这块就不好使,懂我意思吧?所以这个时候如果你真的出了这玩意,怎么办?怎么解决,对吧?如果你的 python 是 这样的,是吧,你就可以直接跳了,跳下一集就可以了。如果你的 python 一 敲是这样的,那么你接着看,我们可以点击此,电脑这块有一个属性 啊,然后呢,这块有个高级,这块有一个环境变量啊,有环境变量,然后过来之后,这个底下有一个东西叫做 pass, 看着吧,有个东西叫 pass, 我 们把它双击,哎,双击,双击之后,各位,我们需要新建 啊,新建,新建什么呢?把 python 呢安装路径,就这个路径,给他扔给他,给他添加进去,给他添加进去,同时还要添加 scripts 文件夹,这个路径也加进去,那么如果这个这个路径很长,你,你不知道怎么办?哎,我告诉你个办法啊,你去找到你的 python 安装的位置, 那找到你的 python 安装位置,比如说 c 盘啊,我的 python 呢,装在这呢,那 python 三十八来打开,对不对?是,是在这呢,对不对?那么在这呢?好了,此时我就可以,哎,点这个位置啊,把这个 python 的 东西复制,对吧?然后新建啊,我,我删一下啊,给你们看一下怎么怎么弄啊? 新建,那把那个路径粘过来。好了,这就完了,再新建一个,第二个放谁呢?放这里面还有个 scripts, 还有个 scripts, 一定要把这个 scripts 也加进去,因为未来我们要用 p i p 去装第三方插件,第三方的库,对不对?那你,你如果不把 script 加进来, p i p 你 用不了,所以这块你需要新建,把这个再加进来, 加进来之后,别着急,把它给我上去,上去上去上去上去。把它给我上去上去上去。懂我意思吧?把这玩意给它怼到最前头, 给它怼到最前头,就确定,确定确定,然后你再回来输入 python, 基本上就没有那个问题了。好吧, 基本上没有那个问题了,那么这个地方就是我们要讲的 python 的 环境安装啊,就这么一个过程,装,装易软件啊,装易软件,这软件怎么从哪来?从这个 python 官网啊,登录的,然后 office office 里面找找 你要装的 python 版本,点进去,然后呢去下载,在下面呢啊,在这个地方下载,下载看好了, installer, windows 的 installer, 哪一位的?三十二位的?六十四位的。那下载,下载完了之后就按我刚才讲的装就可以了啊。 ok, 那 这是 python 环境的安装,记得 python 官方网站啊, python 点 o r g。 好, 那接下来咱们就来编辑我们的 python 第一个程序,对吧?那第一个程序呢?基本上都离不开 color word, 那我们来到 windows 里面给各位去演示,首先我们在这个地方呢,还是把那黑窗口给它调出来,那调出来调出来之后呢?我们上节课讲过,是吧?可以输入 python, 输入 python, 然后进入到 python 解析器里面去, 那么这个时候我们就可以直接写代码了,哎,直接可以写代码了,那么我们可以写 print 括号啊,注意啊,这个标点符号必须是英文状态下的标点符号,然后在这块来个双引号哇,然后往回写上,你好, hello i am a good man。 好 吧,随便写一句话或者 hello world 都可以,那我这会儿回车对不对?哎,程序就开始 hello i'm good man。 那 么这句话的意思是什么呢? print 对 吧?打印,打印什么,你往里面写什么,它就给你打印什么,但是前提是你写的内容必须用引号引起来, 哎,你用一号引起来,代表的是你要打印的内容是什么东西,对吧?那就是咱们的第一个程序,但是各位,我们来思考一下,思考一个问题,我们写程序,如果每次都输入一个 python, 然后在这里面去写代码的话,你想一个事啊,比方说我,我 print 啊这个,呃,我叫马化腾, 我叫麻花藤好了,对吧?我叫麻花藤好了,再来 print 一 次 来,呃,我特别喜欢玩 dnf, 好 了,就这好,接下来各位请看啊,我此时这个程序加上我写完了,一共三行,一行是他,一行是他,还有一行是他,那么各位, 我如果说这个程序我告诉你写完了,你会发现有点问题,问题在哪呢?我想把这个程序啊再运行一遍, 哎,重新印一遍,那么此时你是不是就相当于还得重新打开一个黑窗口,然后在黑窗口里面重新把这三句话是不是再打印再再写一遍,对吧?三行还好,三百行,三万行,三十万行,你怎么办?你就哭死, 那你怎么办?哎,我们肯定是想办法把这个代码是不是存起来,存文件里面去是不是就 ok 了,对不对?那怎么存文件里面去?我们可以在桌面右键来新建一个这个文本文档啊,然后呢, 在这文文本档里面呢?我们先不要写东西啊,各位,如果你从来没有从事过开发,你一定会遇见这个问题的,就是你的这个叫新建文文本档,注意啊,此时这个文件是没有后缀名的啊,什么叫后缀名?就没有那个点 exe 的, 对吧?那怎么把它调出来?看着啊,我们随便找一个文件夹,或者说点此电脑都行 啊,然后这个地方我们还是找文件夹,哎,然后就随便打开一个盘符也行,或者找文件夹也行,那么在这个地方我们要去找一个, 这哪有查看啊,找这个查看,然后查看呢?这块有个选项啊,点下这选项,点完选项这块还有一查看,往下拉,哎,往下拉这块有一个这么个玩意,叫以隐藏已知文件类型的扩展名,就说白了,本身它是有 exe 啊或者 tst 这些东西的,但是被隐藏了,把这勾给它去掉, 作为一名开发人员,这个勾不应该存在。来点应用,点确定,然后,然后你再回到桌面看,你就发现新建文本文档点 txt 看到了吧,然后我们就可以右键重命名啊,给你重,给你新建这个文件重命名,比方说叫 first first 点 p y 啊,来回车是来,各位, python 的 代码要放在 p y 文件里哇,这个 p y 总感觉听着怪怪的是吧啊,但是他人家规定就是这样。好吧,我们写在这个 p y 文件里面。好,那怎么去写?右键点编辑, 点编辑,然后这里面就可以。干嘛就可以写代码了啊,就可以写代码了,比方说我们写个 print 啊,括号哎, sorry, 一定要是英文状态的啊, hello world, 哎,这个我写的正式一点, hello world, 写完了之后别着急, ctrl 加 s 保存一下。哎,保存一下,什么是保存呢?来, 看见这文件上面有一星号没?各位,如果你的文件上面有这星号就代表你刚才改动的内容,你把它弄出来, ctrl 加 s 保存啊,保存完了之后这个就可以擦掉了。好了,我的程序现在写完了,在这个文件里面,那怎么去调用它对吧,得让它执行起来呀,对不对?此时听好啊,各位新手小白们又会遇见的。另一个大坑出来了,很多人知道我应该输入 python 命令空格,然后呢,那个文件的名字拉过来一回车,他给你报错, 为啥呢?各位,这是坑啊,你已经进到了 python 里边,看到了吧?你已经进到了 python 里边,你在 python 的 里边又想让 python 帮你那个事,你这不就就就就是在在在什么呢?相当于在人肚子里面,还想让人就是帮你干什么事情,这这这不成,懂吗?这个在在在这里面是不成,那怎么办? 你得从这个命令行的这个模式里面退出来, exit, exit 啊,或者干脆你叉掉重开一个也行。哎,回到原始的这个状态 啊,新手小白们啊,新手小白们,回到这个状态,然后你可以输入 python 空格,然后把这个文件拖进来就可以了啊,就是说白了是 python 的 命令啊, python 这个命令加上一空格,然后跟上这个文件,它也可以帮你把这个程序给你执行, 对吧?那么这个时候各位此时想想啊,我以后再想执行我,我写好这个程序,是不是直接 python 这个命令,然后加个空格,加这文件是不就行了? 对,所以这个逻辑是比较简单的,而且这种模式把这种写法可以把我们的程序是不存在文件里面,就得想什么时候用就什么时候用,对不对?所以这个这种情况是我们用的比较多的。然后在这个位置我跟各位多聊一下啊,就是我们输入的这个 python 空格,或者说这个 python 到底是个什么玩意儿?各位, 它其实啊,由于我们把 python 的 啊,这个这个物件,对吧?咱不是把这个,这不是把这个 python 这个文件夹,咱不是把这文件夹夹到 pass 里面去了吗?好了,你把它夹到 pass 里面去之后,这个文件夹里边的所有东西在这个地方都可以直接地进行使用,可以直接地进行使用,比方说这个地方有个 python, 看见了吗?这个文件夹里有个 python, 所以 我们这一块输入 python, 实际上调用的就是这个 python, 实际上调用的就是它,知道吧?只不过这个 exe 啊,它可以省略啊,它可以省略,那么我们刚才是不是把 scripts 也加进去了,对吧? script script 里面是不是还有个 p i p 字,对不对?那我们试一下吧,啊,别试别的啊,就就按我的来啊, p i p 走, 你看 p i p 是 不是也有反应?为什么 p i p 有 反应?因为你钓的是这个东西,知道吧?所以东尚我们其实得到一这样一结论,就是我们这样的一条命运本质上是个什么东西?各位啊,这都是给小白讲的,之前如果了解过的话,其实没这问题,就是本质上我们这块敲的 python 是 谁呢?各位 是谁呀?是不是就就这个玩意,对不对?我们我们安装好那个 python 程序,其实就是它,那么这个呢?就是你的 python 文件,对不对? python 文件,所以说白了,这个格式总结下来的话,前面是不是解,就是 python 解释器空格加上什么 py 文件,是不是这个模式就可以执行咱们的 python 程序了,对不对?这个是我们要聊的 啊,我这个键盘是不是声音不大,我拿下面敲了啊,但是这节课基本上也完事了,基本上完事了。所以我们第一个程序就完事了啊,第一个程序基本上完事了,但是你细品写代码,我靠,在这里面写要命啊,对吧?这玩意又丑,对吧?而且呢出了错呢,他又不告诉你,比方说,嗯 耶,怎么会来你呢?哎,这肯定是错的,对不对?那但是他不告诉你啊,这个这个这个这个 这个 windows 的 这个记事本是不会告诉你的,对不对?所以此时我们肯定需要一个更高级的写代码的工具,这记事本很明显很 low, 对 不对?所以下一节我们来聊装一个全宇宙最好用的 python 开发工具啊。

盲目自学只会毁了你!这才是抖音最系统的拍算教程,存下吧,全两百级唇膏货版真的很难找全了!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍算, 这应该是抖音目前最良心的入门到进阶的拍算教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍算从零到一的学习计划表, 上百期素材收集课件等等。只要你能想到的素材我这里几乎都有,评论留言六六六即可全部免费打包带走,相信我,这套拍照即可速成,将会是全网最齐全最易懂的小白遮阴课。在本期视频开始之前,请问能先给个三连吗?谢了,这对我真的很重要! 嗨,大家好,欢迎来到动画讲编程,看动画学 python 零基础入门!我是小曼, 今天我们要讲的是 python 的 安装与使用。 python 语言是面向对象的脚本语言,有简单易学、免费开源、可移植性强等优点, 主要应用的领域有数据科学、机器学习、外部开发等技术领域,并且广泛作为编程教学语言所使用。 本节课呢,我们要学习安装并且使用 python 语言开发,在屏幕上打印出。嗨,大家好,我是小曼,从今天起,我们一起学习 python 这样的程序。 首先我们来讲解 python 的 安装和运行,以六十四位的 windows 十系统为例,在 python 的 官网上找到对应的 windows 六十四位安装包, 完成下载后运行安装包,我们选择默认的 install now 安装方式就可以了, 稍等片刻之后完成安装,点击 close 关闭安装程序。完成了 python 的 安装之后,我们新建一个文文本档,并且将文件的名字修改为 hello, 点 p, y, 然后右键单机这个文件 使用 i, d, l, e 打开就可以编辑 python 程序了。 为了将信息打印到屏幕上,我们还要学习 print 函数的使用。关于 python 的 函数,我们暂时不去深究,只需要知道通过函数我们可以实现各种相应的功能。 举个例子, print 函数可以将信息在屏幕上输出打印,其中数字可以直接传入 print 后的括号内。文本需要用单引号或者是双引号把它括住,再传入 print 后的括号内, 然后通过 print 将它们输出。这里面我们要注意,这里的引号必须使用英文当中的引号。 举个例子,输出数字一二三四,开发一行代码 print 一 二三四就可以将一二三四打印到屏幕上了。 输出今天天气真不错的时候,开发代码 print 括号单引号,今天天气真不错,就可以将这句话打印到屏幕上。这里面单引号可以替换为双引号,效果都是一样的。 在开发的工作当中,为了提升程序的可读性,并且降低后续的维护成本,需要为代码添加必要的注示来解释和说明代码的含义。 代码注示的内容呢,会被 python 解释器所忽略,不会在执行的结果当中体现出来。 pason 使用井号作为单行注示的符号,从符号井号开始到换行为止, 井号后面都是代码注示内容被解释器所忽略。举个例子为代码 print, 今天天气不错,加上注示,注示写在该行代码后以井号开始,为了阅读方便,我们也可以将注示单独写在一行当中。 在 python 当中,每一句的代码占一行代码通过缩进来区分代码之间的层次。通常情况下呢,使用四个空格或者是一个 tab 作为一个缩进量。 这里呢,我们在后续学习的条件分支、循环函数等等,都会使用代码缩进来表示相应的代码块儿。 举个例子,一个顺序执行的 n 行代码,代码一,代码二,一直到代码 n 写在了 n 行,这些代码的第一个字母是需要对齐的,否则就没有办法变异通过。 而在条件分支当中,为了表现代码结构,在代码二与代码三的前面需要有一个踏步的缩进。 回到屏幕上输出学习信息的这个问题。我们可以发现,打印的信息有三行,每次使用 print 函数打印信息的时候, print 都会在最后添加一个换行符,所以我们使用三行 print 代码来完成这个程序。 打开刚刚创建的 hello 点 p y 文件,在其中开发三行代码,第一行为 print。 hi, 大家好,第二行是 print, 我是 小曼, 第三行是 print。 从今天起,我们一起学习 python, 这三行代码的第一个字母屁都在编辑器中的第一列,互相之间对齐,代码后面有相应的注式。 完成了开发之后,选择 run 菜单当中的 run 猫轴程序,就将这三行信息打印到了屏幕上。 这里面我们要注意,我们所指的屏幕,也就是通过 python 的 显示器所显示的信息,并不是说真实意义的 windows 窗口程序。 那么到这里呢, python 的 安装与使用我们就讲完了,现在来给大家留一个课后作业,使用 print 语句在屏幕上输出一个用星号所组成的五乘以五的正方形。好的,感谢大家观看,我们下节课再会。

s r 安装教程,刚入行的同学一定要收藏好下面俩个框,先打勾点击自定义安装,点击 next 就是 下一步的意思。这里我的建议是像我这样 存放一个盘里面的 python 文件夹里面我这样简洁的路径,方便你后面用到,可以很快找到。点击 install 这里再强制学一个单词 install 安装的意思,弹出这个点是就可以了,看到大字 success 了没,这是成功的意思,成功之后点 close, 接着猜到你会很期待,来到桌面发现毛都没有。接着按键盘上的 win 加 r, 在这里输入 cmd, 之后点击确定弹出来的黑色窗口,直接输入 python 并回,可以像我这样输入 print, 后面括号和双引号都是英文状态的,输入完回车就好了,下一行就是输出的结果。

一天一个黑科技,今天要教你下载的是拍上编程工具,安卓、苹果、红芒都可以,还给大家准备了详细的使用教程,清澈好用,操作简单而且免费。 首先点本视频右下角分享键分享复制链接,复制成功后我们打开这个蓝色小鸟,没有的自己去安装一个,打开后点允许粘贴会弹出资源包,如果没有弹出,就在这里搜索皇权学堂,然后打开抖音同款软件,找到我们需要的软件,保存下载安装就可以了,感兴趣的小伙伴赶快去试试吧!

逼自己一周学会拍损核心语法,纯干货,不废话,存下巴!全五百八十分钟完整版警告本视频耗时两个月制作,制作时长两百分钟,带你全方位的了解拍损,学习拍损,这应该是全抖音最良心的入门到精通的拍损教程,零基础小白也能学会。 由于视频太长,本合集分期发布。在过去的一年里,我认真整合了关于 python 的 所有知识点,并对整个学习框架进行了更全面的升级。为了让同学们更轻松的学会 python, 我 给大家准备了超多小福利, 不仅有各个版本的 python 开发环境资料包,还有易懂的课间,丰富的素材,实用的电子书,更有清晰的思维导图和详细的学习计划表,只要你能想到的素材,我这里几乎都有。相信我,这套 python 系统课程将会是全网最齐全最易懂的小白专用课。 话不多说,接下来我们直接开诊!好,接下来咱们来聊聊如何来安装 python 解释器。那么这一节内容非常的重要啊,因为我见过太多的人了,他们装好了 python, 然后反而呢发现 python 不 能用,然后呢就各种各样的抱怨啊,这个其实是你本身安装的 过程有问有问题啊。首先第一个是我们如何来获取 python 解释器,对吧?那首先呢,你需要记住一个网站叫 python 官方网站,我们未来去 搜索或者说是呃,查找一些 python 提供给我们的一些个呃东西的时候,都要去这个网站去找,它是唯一标准。好吧,它是唯一标准。那么从这个网站里面我们可以干嘛呢?在点这个地方有个 download 啊, download 的 就是不用点一划哎,这块有个 orleans, 这是所有的它的发布版本啊,点下它,点完了之后就会进入到这个页面,在这个页面里面他会问,你是不是要下载最新版本的啊,这个 python 解释器,那最新版本的是 python 三点九点二啊。但是呢,我还是秉承着一贯的,就说 最新版的它多少会有一些个问题。我们先不着急用最新版啊,因为对于刚开始学习而言,尤其学习基础语法而言,我们用最新版的下一个版本 上上一个版本啊,上一个版本三点八,哎,基本上就可以应付你目前学习的这个状态,甚至说我现在这台机器上其实用的是三点七,也没问题,也没问题 啊,一定记住一一句话就是最新的不一定是最好的,最稳定的才是最好的,知道吧?所以我们我推荐啊,如果你是没装过的话,你用三点八,如果你已经装了三点九啊,或者三点六啊,三点五啊,你就用着, 好吧,但是二点七不要再用了啊,二点七不用再用,因为 python 官方网站已经说了最后的支持,那最后的支持时间是二零二零年一月一号,已经过去了,知道吧?所以 python 二点七 基本上可以说退出了历史的舞台,拍算官方就归输,那老爷子他都不管他了,所以你就不要再另外二七了,知道吧? ok, 那 么咱们就随便找一个,就三点九,三点八,三点七都行,我建议的是三点八啊。好了,那怎么去装,那这个地方呢?你可以点这个拍算三点八点八,对吧?然后就过来就打开一个新页面,那往下拉, 拿到下面啊,拿到下面,下面就有了,对吧?对应于不同操作系统的 mac, 对 吧?你你你,是苹果的,那你就点前面这玩意好吧,你如果是 linux 的 话,你需要下载它的原码,然后用原码进行安装,那么下面这些呢,是提供给 windows 平台的,那么 windows 平台我告诉你,装哪个啊?上面这仨都别管, 你找的是 installer, installer, installer 什么意思呢?就是你就是它下载好是一个 exe 文件,双击,就像我们装那个撸啊撸一样,双击咔咔,一路一路下一步那种,对吧?所以我们选择下面这俩。这俩玩意选哪个?很简单,你的电脑是三十二位的,就选上面那个,你是六十四位的,就选下面那个。 基本上现在市面上的电脑几乎都是六十四位的。好吧,所以这个我是推荐各位的啊,你可以点它,点它呢就开始下载了。那这个地方我就不下载了啊,我为了给你们演示的更清楚一点啊,因为我这块是 mac 平台啊,是 mac, 所以呢,我我临时弄了一个虚拟机 啊,弄了个虚拟机,拍的就是这个 windows 虚拟机啊,那么提前准备好了啊,拍死那解数器。那你下载下载呢,就长这个样子,怎么用它?双击, 双击会吧,就跟装装装撸啊撸一样,然后到这一步,各位,关键的一步啊,就最关键的一步,你一定记着下面这有个勾,你把这个勾给勾上啊,把这个勾给勾上,这勾是干嘛的?各位, 这个勾可以帮我们把 python 添加到 pass 里面去,这个 pass 是 关键啊,这个 pass 关键,如果你不把它加到这个 pass 里面去, 一会我们再输入 python 命令啊,或者用 python 的 时候你用不了了,对吧?所以这地方是关键,这勾一定给它勾上啊,一定给它勾上,然后别着急,你别哐叽点个 install now, 对 吧?看这词的 install 安装啊,现在就安装,不是它,是下面那个。 选下面这个啊,一定听话,点这个。点这个干嘛呢?点进去,哎,我先回去啊我先回来我先回来。你就看上面这个东西哪旮沓有问题,对吧?你装这个东西的时候,你简单的多多撩一眼,你就知道这旮沓有问题了。各位,这个路径 来,你看这个路径, c 盘下的 users 里面 side app data local programs programs, python 三八这么长一路径, 我靠,你装一 python, 你 把 python 装的这么深,那我问你,如果有一天你你的 python 解释器出了问题,我问你,我说 python 装哪了? 不知道啊,当时一路确定来着,对吧?这个就很头疼了。好吧,这就很头疼了,所以不要把 python 装在这个默认的路径里,这太长了 啊,太长了,但是你也别太短啊,你别咔整个 c 盘就完了,知道吧?那么在哪能换这个目录?下面这个地方能换这个目录,好吧,你要点上面这个默认就这个目录啊,选下面这个走,选它 过来之后呢,这些玩意都别动,都别动啊,不要瞎勾,勾坏了啊,你自己负责来下一个。下一步之后呢,你需要做的第一件事情,各位,这上面有一次到否哦? users 把这个勾勾上啊,因为我之前也见过一个同学,他的那个 电脑里面有很多个用户,对吧?然后呢,就是用户切来切去的,要 pad 好 使不好使的,把这勾勾上,那你的 pad 就 可以给所有的用户使用了啊。把这勾勾上, 然后呢,底下这两步别别别动,他就勾这一个,好吧,就勾这一个,然后这地方是你想把 python 到底装在哪啊,对不对?到到这一步你就可以自己去去定义了啊,但是还是 不要把你的路径整的太长啊,你可以在这改,比如说你改成 d 盘对吧?你改成什么时候?文件夹叭叭叭叭叭,你都可以写啊,但是这里面有几个原则,就是我们平时装这种软件的一个基本原则,第一个原则, 所以啊,第一个原则啊,就是你的路径里面啊,路径尽量的简洁,但是不要出现中文,这是一个最基本的, 就是就是逻辑,不要出现中文,有了中文很有可能会出各种各样的问题,知道吧,这地方不要出现中文啊,然后就是就就就就, 短小精悍就可以了好吧,比方说你,你因为我这个电脑就一个盘好吧,你可以,你看你的话,你装到 d 盘里面,对吧?装到 e 盘里面对不对?你对你自己的电脑硬盘对吧?肯定是有一个自己的呃, 维护的一个逻辑的好吧,然后点 install 啊,他就开始安装了啊,这个过程看你机器的这个性能啊,机器性能好,刷就过去,机器性能不好了,就等着吧啊,完事。然后呢,我这块是个虚拟机啊,各位, 虚拟机的性能你懂吧啊,所以呢,我们就可以唱一支歌,然后呢等待他的安装,好吧,你们唱我听什么小白菜啊,挺尴尬,就等吧, 每次坐那就是装拍子的时候都是就是你说聊会天呢,可能你没聊完,他装完了,你要不聊天呢就在那啥等着你等着我也等着,拜拜。 但是我相信以各位的电脑而言装这个东西应该很快的啊, come on come on。 老 baby, 我还是回来扯点没用的吧。就是,呃,为啥说让你们记住 python 的 这个这个官方网站,因为我们比方说啊,假设我们未来学到字典了,对吧?字典你不知道怎么怎么回事对吧?你可以在这搜字典, 哎,你可以 go, 对 吧?然后去搜关于字典的一些东西,甚至说他还有这个文档,对不对啊?文档还有很多很多的,就是官方发布的一些消息都在这里面放着呢,包括这个三点九有什么新玩意啊,哎,你都可以去看,所以这个官网是很重要的这官网是很重要的 好不好,失望至极,算了,还等吧,我不想再扯那些没用的。什么翻过了一座山,一座山 过了七道弯还有弯 忘词了, 哎,好了, ok, 这个就很有意思了,你只要看到了 setup was successful, 它的意思是说你的安装对吧?是成功的啊。 successful 成功的,那就 ok 了。底下这玩意呢?不用管好吧,底下这玩意不用管,然后我们点下 close 就 可以了 啊。然后装完了之后有我,我之前碰到过一个事啊,就一个小伙伴装完了拍子,然后问我,老师装完了我的桌面怎么没有呢?对吧?这个东西啊,各位他他的运行或者说那个解石器的运行,咱们之前讲了那解石器是不是就是用来执行你代码的 对不对?所以那个玩意是很专业,而且是有一个特定功能的,不是,不像是我们是 qq 什么乱七八糟的,对吧?就给你生成个图标,给你双击,还有界面啊,哪有界面呢?他没界面呢, 知道吧?所以我们接下来得需要切出一个窗口来,那窗口呢?叫道士来,我们需要在这个这个地方可以搜索一下啊,叫 c m d 啊, c m d 叫命令提示符啊,或者说是这个命令行窗口,哎,点它,哎,就就就把这玩意蹦出来了。这是啥呢?就是 windows 的 起家的一个玩意,叫 dos 啊,在这里面我们可以输入一个命令,叫 python, 对 吧?因为我们刚做完 python 嘛,哎,我就 车,哎,你会看到啊,我们的光标啊,这个地方,哎,跟之前是不一样了,对不对?里面呢,还可以告诉你了, python 三点八点五,然后什么什么一大堆看不懂的玩意啊,无所谓。那么如果你的电脑上面输入 python, 能够看到这些玩意,恭喜你,你的 python 安装已经成功了 啊,已经成功了,但是各位,有些人他的电脑装了之后啊,比方说 来,如果你的电脑里面啊,各位,你输入的是 python 命令,但是呢,出来的是这玩意。听好啊,如果你输的是 python 命令,出的是这玩意什么不是内部命令了,或什么什么玩意。记着一个事,你百分之九十九是没有 什么呢?这个这个,这个点击刚开始的那个什么呢? a d d 啊? python to pass, 你 百分之百是没点那勾啊,就换句话说,你没有把 python 添加到 pass 那 个环境变量里面去啊,你没,你不添加这块就不好使, 懂我意思吧?所以这个时候如果你真的出了这个玩意,怎么办?怎么解决,对吧?如果你的 python 是 这样的,是吧?你就可以直接跳了,跳下一集就可以了。如果你的 python 一 敲是这样的,那么你接着看,我们可以点击此,电脑这块有一个属性 啊,然后呢?这块有个高级,这块有一个环境变量啊,有环境变量,然后过来之后,这个底下有一个东西叫做 pass, 看着了吧,有个东西叫 pass, 我 们把它双击,哎,双击,双击之后,各位,我们需要新建 啊,新建,新建什么呢?把 python 的 安装路径就这个路径给他扔给他,给他添加进去,给他添加进去,同时还要添加 scripts 文件夹,这个路径也加进去,那么如果这个这个路径很长,你,你,你不知道怎么办?哎,我告诉你个办法啊,你去找到你的 python 安装的位置, 那找到你的 python 安装位置,比如说 c 盘啊,我的 python 呢,装在这呢,让 python 三十八来打开,对不对?是,是在这呢,对不对?那么在这呢?好了,此时我就可以点这个位置啊,把这个 python 的 东西复制,对吧?然后新建啊,我,我删一下啊,给你们看一眼 啊,新建,那把那个路径粘过来。好了,这就完了,再新建一个。第二个放谁呢?放这里面还有个 scripts 啊,有个 scripts, 一定要把这个 scripts 也加进去, 因为未来我们要用 pip 去装第三方插件,第三方的库,对不对?那你,你如果不把 script 加进来, pip 你 用不了,所以这块你需要新建,把这个再加进来,加进来之后别着急,把它给我上去。上去,上去上去。把它给我上去。上去上去上去上去。 懂我意思吧?把这玩意给它怼到最前头给它怼到最前头就确定确定确定。然后你再回来输入 python, 基本上就没有那个问题。好吧,基本上就没有那个问题。 那么这个地方就是我们要讲的 python 环境安装啊,就这么一个 word。 装一软件啊,装一软件。这软件怎么从哪来?从这个 python 官网啊,登录的,然后 office office, office 里面找找你要装的 python 版本,点进去。 然后呢去下载。在下面呢啊,在这个地方下载,下载看好了。 installer, windows 的 installer 哪一位的?三十二位的?六十四位的。那你下载,下载完了之后就按我刚才讲的 装就可以了啊。 ok, 那 这是 python 环境的安装。记着 python 的 官网网站啊, python 二 g, 下期见。拜拜。

一天一个实用软件,今天教大家下载的是拍算编程工具,三月最新更新,这是一款移动端的编程工具,对初学编程的小白很友好,编辑很便捷,并且该工具生态非常完整,安卓、苹果都可以一键直装,亲测好用,操作简单而且免费。 首先点本视频右下角分享键分享复制链接,复制成功后我们打开这个蓝色小鸟,没有的自己去安装一个, 打开后点允许粘贴会弹出资源包,如果没有弹出,就在这里搜索王权学堂,然后打开抖音同款软件,找到我们需要的软件,保存下载安装就可以了。感兴趣的小伙伴赶快去试试吧!

盲目自学只会毁了你!这才是抖音最系统的拍算教程,存下吧,全两百级纯干货版,真的很难找全了!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍算,这应该是抖音目前最良心的 入门到进阶的拍算教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍算从零到一的学习计划表,只需上百集,素材,书籍、课件等等,只要你能想到的素材我这里几乎都有, 评论留言六六六即可全部免费打包带走,相信我,这套拍照既可塑墙,将会是全网最齐全这一等的小白专用课。如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍照的小伙伴看到这个视频。下一站,上岸,上岸站位于门头沟区,是地铁一线的一座车站,因上岸村而得名,希望看到视频的你们心想事成, 上岸, the next station is 上岸!下一站,上岸!顶峰剑,我们终会上岸! 好,那接下来咱们来看一下这个逻辑运算啊,那逻辑运算呢,在我们以后的开发的时候,用的会特别的多啊,因为它会有效的减少我们使用 if 条件判断的那个层级啊,会有效的减少这个东西。 那咱们先说一下吧,这个逻辑运算有大概这么三个,第一个呢叫 and, 第二个呢叫 o, 第三个呢叫非啊 not。 那 这个 and 的 它的含义先跟说一下啊,含义呢叫,并且你就翻译的时候就把它翻译成,并且然后去理解它的意思,那比方说 啊,我想打游戏,那我需要有一台电脑,并且呢得有电,并且呢得有这个啊,得有网,并且呢我得有账号啊,并且呢妈妈让我玩,对吧?所以这几件事情同时成立,你最终的这个 结果才能是成立的。结果,对不对?所以按的它的含义很简单,就是左右两边同时成立,结果才成立,那这是它的一个特点啊,比方说我这个地方啊,把这个注视掉之前的代码来逻辑 预算,比方说我们可以这样做啊,比方说 true and false, 对 不对?那这个结果很明显有一个是假,那结果呢?就是假啊,就是假,只有两边都是真, 好了,你的结果才能是真啊。比方说我这地方 true and true and false, 好 吧,那结果呢? 就是假,对不对?因为它有一个假,那结果就一定不是假,知道吧?这个是呃 and 它的含义叫,并且那再往下,哦,哦呢?叫,或者,哎,或者或者是个什么含义?比方说我想回家, 那我回家,我可有好多种方式啊,我坐飞机回家,或者坐公交回家,或者坐火车,或者坐公共汽车,再或者开车,这几件事里面,这几个条件里面有一个成立,我最终是不都能到家,对吧?结局都是 ok 的, 所以他的特点就是左右两边有一个成立,结果就成立, 知道吧?只要一个 ok, 那 就结果就是 ok 的 啊,比方说很简单来把它全换成哦, 啊,全换成,哦,好了,此时结果一定是成立的,因为在在这个地方其实就已经能够能够得到结果处哦,吧啦吧啦,你随便凹起,对不对?他一定是处,所以这个东西就是,呃,就是有一个成立结果呢,就成立啊,比方说我再整个极端点的啊, 这样这样这样也 ok 啊,假没关系,看下一个真,不用算了,一定是真,对不对?所以只要有一个成立结果就是真, 这就是。呃, odd 含义,那 not 呢?更好理解它呢?叫非叫非。什么叫非呢?叫非真即假,非假即真啊?就举个很简单的例子,你兜里有一张一百块的钞票,你的一百块的钞票不真 那就是假呀,不假那就是真呐,对吧?所以 not 就是 不啊非啊,一个含义,那比方说简单举个例子啊,很简单的例子啊, not 属于不真嘛。走不真就是什么就是假呀,对不对?不不假呢, 就是真啊,不假就是真,所以这个东西也很也也也很好理解,是吧? ok, 那 这是逻辑预算啊,逻辑预算单独的用起来呢,用法也很简单,比方说我想让你给我来一个用户登录,哎,我让你去给我模拟一个用户登录在这啊, 来模拟用户登录,那比方说你得输用户名吧,对吧?来,用户名。还得有密码吧,来, 密码 password, 对 吧?用户名密码。然后做条件判断嘛,如果你的用户名等于等于 what's mean? 并且你的 password 等于等于 一二三四五六,好了,我认为你登录成功,对吧?来登录成功。当然我这个只是一个模拟啊,就真实的情况下,这个用户名密码不可能这么存的啊。那再往下,否则登录失败, 来试验一下吧,走你用户名我的命, password, 一 二三四五六,走,对吧?这就登录成功啊,登录成功。那如果说走 用户名我输入的正确密码呢?不正确那都不失败对不对?按必须两边同时成立才可以知道吧。所以这个东西就是按的哦。啊 not 经常都是类似这样的一个用处,你会发现我们按照之前的写法来说的话我这个按的是不是得 是得这样啊。那往按之前的逻辑的话得这样那所以你就你就发现你这个程序不拉不拉不拉越洗越深越洗越深对不对。那我就可以使用这样的一个逻辑预算是吧把它们能连的连上对吧。用暗的呀或者凹啊。那具体得看你的实际需要好吧看你实际需要 ok 那 这是 and 哦和 not 一个正常的用法。注意啊这是正常用法。那么接下来要聊的是不正常的用法。各位啊接下来是不正常的用法。当 and 和 or 以及 not 同时出现的时候 最好呢加上括号加上括号不会产生歧义或者不易理解 问题。比方说啊接下来就比较比较比较痛苦了。来我写这么一来嘛 好我就写的很长啊写的很长呃这个很明显正常人不会那么写的知道吧。正常情况下你如果想写的话你用括号把它标起来比方说从这哎到这是一段从这到这是一段就把一段一段的给他标出来拿括号给他括起来 这样的话我们知道哪先算什么后算什么知道吧这这这样的话就不容易出现歧义懂吧。不容易出现歧义但是这么写是符合 python 的 语法规则的。所以接下来的问题是如果真的遇见了这种鬼东西怎么办哇甚至说这里面空隙再给你来个 note 是 吧这个东西就很头疼了。所以接下来的问题是如果非要这么就是就是不按这个这个写,我没有不好怎么办。记住一个运算顺序 先算括号。永远是先算括号然后算什么呢?算 not not 算完了之后算 and 最后数号 最后数号这是它的运算顺序一定按照这个顺序来。那比方说啊,这里面我这里面就没括号,好吧,没括号没括号的话怎么办那我就找呗。先算 not 先把 not 计算完对吧 not 计算完 not 的 话这里面我记得我加了一个字呢有个 not。 那 not 处是什么玩意?各位来再来一行 not 处是什么? to false 对 吧?哎这个就算完了 not 算完了之后算什么?算 and 那 把所有的 and 单独的这个圈圈单独的进行计算比如说,哎,这俩是按的吧。好了那按的话往下算吧 true and false 结果是什么? 是同时为真才可以啊。是 false 吧。好,再往下 true and false 一 样的是吧?再走 false and true 是 吧。所以结局一定是 false 它是 false 所以 这个东西你一定要记住它的运算顺序。好吧,我看它是即兴的啊瞎写的。你可以自己给自己设置一些难度吧啦啦吸力然后你自己算一算顺序就按照这个顺序来,没有问题。好吧,没问题。 ok 这个是我们要要的逻辑运算你需要掌握的一些东西啊需要掌握的东西然后我们这个地方呢还有一些个 呃预算书那些练习题你可以尝试着去试一试啊。可以尝试去试一试当然还有这种数字的,这种数字的只会在笔试里面会出现这里面我就不给各位去去讲了,你要有兴趣自己看。好吧,这个东西正常的程序员写代码不怎么干。好吧,兄弟们,正常代码不怎么干,这不是这个, 这个正常代码不这么干啊,像这个东西你可以拿去算一算,试一试。行啊,这个是这个,你现在是能能搞定的,下面这个现在是搞定的。这个你没有成员这么写代码,这么写代码会会会被会被你的像经理干死的啊。好,那接下来咱们来聊最后一个就是成员啊,成员成员呢?其实之前聊过,就是他和他, 懂吧?这这这个应该应该很很容易理解,就是判断谁是谁,是否在什么什么中出现了,对吧?这个呢,就是反着来判断谁是谁,是否不在什么中出现了啊,这个就快速的举个例子啊,就过了。 嗯,应该大家都很容易理解的东西。来 list 等于中括号,一二三四五,好了,随便怼来 re 一下,来三音 list 走,对吧,它在里面啊,对不对?所以肯定是返回就是出啊,那再走 print, 呃,六六六 in list 走,对吧? false, 那 不在这里面,那还可以干嘛?是 not in 啊,就是取法嘛,基本上你看见 not 这个含义就是不 走,对吧?六六六是不是不在这里面啊?是的啊,所以这个就是,呃,成员预算成员判断你是不是这这这个成员,那这个 范围里面的一个成员啊。好,那这是关于预算符咱们聊的东西啊,讲的算数预算,比较预算、数值预算、逻辑预算,然后还有成员预算啊,逻辑预算里面主要是 and 和 not 这仨玩意,要记住,要记住,我们未来用的会很多啊,会很多。好了,那预算符咱们大致就说这么多,比较简单啊,快速的获得它,再见。 好,那接下来咱们接着说这一节呢,咱们来聊聊文件操作啊,在 python 里面的文件操作是很重要的一个知识点,但是呢,它又非常简单啊,基本上都是需要你记的一些东西啊,比方说我现在准备好了一个文件啊,叫国产自拍是吧?看着很诱惑,但是打开呢,里面是葫芦娃。 那我现在有这么一个需求,我希望你能把文件里边所有的内容呢,帮我给他读取出来。那么我们先思考一下啊,如果说我现在随便给你一个文件,我想让你读取里边的内容,那么你的正常的逻辑是不是应该是第一件事先去找到这个文件,然后双击打开它, 对吧?双击打开它,打开它之后我们才能够,呃,读取到里面的内容,或者说我想往里面写东西,对吧?不管是干什么嘛,你首先第一件事得双击把它打开,对不对?那这个时候 python 里面就准备了一个文啊,一个函数啊,叫 open, open 的 作用呢,就是打开一个文件,但是呢,打开文件的时候就需要你告诉他你要打开的是哪个文件,所以需要有文件路径, 对吧?这很合理嘛,对吧?然后其次呢,它需要有一个模式,在这模式的意思就是你打开这个文件的目的是什么, 对吧?你想是从里面读东西啊?还是想往里面写东西啊,对不对?所以这个是涉及到模式的问题啊,它分为读和写,那还有一个参数叫 encoding 啊, encoding, 这个 encoding 什么时候能用到呢?就是比方说我现在想读取这个国产自拍这个文件里边的内容,并且里边的内容呢,得是文本 啊,得是文本,得是字,得是文字。那么对于文字的话,我们上节课啊,或者之前我们聊过说文字想要存储到文件里边去,它就必须经过啊,编码对吧?咱们咱们有两个编码可以选择,一个是 g b k, 还有一个是 u t f 杠八,对不对?那在拍叉里面创建好的文件默认情况下是什么? u t f 杠八,所以我们 从这里面想把东西读出来,你是不是还得用 u t l 八把它解码啊,对不对?所以这个时候你需要告诉他,你的编码级是什么啊?编码级是什么?对,你的文件是呃 u t l 八的呀?还是 g b k 啊?你就把这门给他就可以了。那这是 open 打开一个文件的一个呃,最基本的一个语法规则。那么这里面咱们一个一个聊。第一个就文件的路径来,各位, 文件路径,文件的路径呢?我们啊就就是通常情况下是有两种方式去往里面放的,那么第一种方式呢?叫绝对路径,哎,绝对路径。第二种方式呢?叫相对路径 啊,这个绝对路径什么意思呢?就比方说啊,各位,你的电脑假设从 d 盘里面我想找某一个文件夹,哎,某个文件夹里边的什么什么文件,对不对?那从磁盘的根部入去寻找的话,这个就属于绝对路径,但是这种路径呢?它不安全。各位, 它不安全在哪呢?比方说啊,我现在假设我想读这个 d 盘里面的 test, 里面什么什么文件啊?然后去执行我程序后续的一些操作。但是你想一个问题啊,你未来的这个程序以后你的这个程序写完了,你是要打包给你的客户,或者说打包扔到服务器上,对吧?那这个时候问题又来了, 在服务器上我们通常选择的是 linux, 你 这个路径在 linux 里面根本就不成立, linux 里面没有地盘,对吧?也就说你给的这个绝对路径,在你的当前正在开发的这个 电脑上是 ok 的, 但是你挪到你的客户里面,他不一定有地盘,他不一定有这个路径,对吧?所以此时绝对路径在你涉及到项目迁移啊,或者说是项目部署啊,哎,这个时候他的坑就出来了啊,所以绝对路径咱们用的少。 那么第二种方式就枪相对路径。何为相对路径呢?就是相对于你当前的这个程序而言,你要找的那个文件他在哪?哎,比方说啊,比方说就像我们这个这个这个呃,人啊,人人站在这个这个地球上, 对吧?那么相对于当前的这个人而言,哎,你想找那个东西,可能在你的前面,在你的后面,左面或者右面,对不对?这都是相对于你当前的位置而言的,对吧?而那个绝对路径呢,就好比说是经纬度 啊,那个经纬度经度多少啊?东京多少多少啊?北纬多少多少啊,对不对?就是相当于这个东西啊,所以这里面我们的这个这个相对路径,基本上就是相对于当前你的程序所在的文件夹 啊,当前这个程序所在文件夹,那么咱们当前的这个程序在哪呢?各位说,在这呢,对吧?幺零文件操作点 p y, 那 么我想找到这个,就是这个文件相对应的这个国产自拍这个文件,我想把它读出来,那么此时它俩是不是在一个文件夹里边啊?对吧?就好比说,你和 张三被关在了一个房间里面,你还想找张三帮你干什么事?你是不是直接喊他的名字就够了?所以此时我们就可以直接去找国产自拍点 p 叉 d, 因为你俩在同一个文件夹里边,在一个屋子里面,知道吧?所以此时我想打开这个文件,我就可以这样做, open, 打开,打开那个文件呢?叫国产, 哎,对吧?这就可以了,那我这样的话,就可以,哎,找到这个,顺利地找到这个文件,但是这个文件如果它不在这个文件夹里面怎么办?比方说我在外面新建一个文本, 叫葫芦娃点 t 叉 t, 对 吧?里边随便写点东西。比方说,呃,这个,这个,这个,中岛美加啊,中岛美雪,这个,这个,这个真 叫什么?一休吧,一休哥,对不对?我想读这个文件,哎,此时注意看了啊,我们两个不在一个房间里了,不在一个文件夹里了,那怎么找呢?你当前的程序在这里,那么我想找到 这个程序所在的文件夹以外的这个文件,对不对?以外的这个文件,那此时我是不是得首先得从这个文件夹里面出来呀?对吧?就好比说,你想找我隔壁的某个人,你是不是得从我这个房间出去你才能找到他,对吧?就好比说,你想找我隔壁的某个人,你是不是得从我这个房间出去你才能找到他,对吧?就好比说你想找我这个葫芦娃的时候,我们就得这么做。 open, 从我当前这个房子里面出去点点,到这个叫返回上一层文件夹,哎,返回上一层文件夹,那么此时是不是相当于从这个文件夹里面就出来了?出来之后我是不就能直接看到葫芦娃了?对,直接找葫芦娃, 对不对?此时就 ok 了啊?此时就 ok 了,那我们把它跑一下啊,当然什么都没有啊,不报错就可以了,不报错就可以了,证明这两个文件是可以读取到的啊。你要说这样怼, 你看,他就给你报错了,他告诉你这个文件不存在,对吧?你也不可能打开它,所以这个地方不报错,证明我这个,哎,路径没有问题啊。所以这里面又多了一个知识点,叫点点吧,他表示的是上一层文件夹, 哎,上一层文件夹,那么此时问题来了,如果我想找的那个东西他不在,哎,不是在他上一层,是在他上一层里边的这个零一里面,哎,在这个零一里面。零一零一零一代码里面吧。 来,随便起一个啊,叫倚天屠龙记是吧?那个忘给后缀了点 t 叉 t, 然后里面写上那个孙悟空大战。呃,赵敏。好吧, 甭管张无忌乐不乐意啊,先干着再说。那此时我想找到这个文件,我想找到这个文件,那么此时跨度是不是有有点大了?各位,我此时我的程序是不是有有点大了?各位,我想找到这个文件夹里边的东西,那么此时你要研究一个事, 研究研究一个事,我是不是首先得从这个文件?因为我现在在在这个文件夹里面吗?得从这里面,是不是得出去啊?出去之后干嘛?是不是还得进到这里面来,然后再进到这里面来,然后在这里面才能找到我的目标啊,对不对?所以就是就就是就是,一层一层去找。那我现在真的想找怎么办?刚才说了第一件事,我是不是得出去?好, 来点点 go, 先出去,出去之后是不是就到这了?从这是不得进零一是吧?初识 python 这个文件夹呀,所以是零一,它有自动提示啊,然后再再打开,进去之后再找什么?找代码,然后才能看到倚天屠龙记,所以还得进代码, 然后再找倚天屠龙记,是吧?来,再运行,再运行,来再运行, 对吧?此时程序没有问题啊,程序没有问题,所以我们的路径啊,基本上就是这么一个玩意,那路径有了,我现在整个这个这个 open 也没问题了。那么接下来老师你能不能给我讲讲怎么去从里面把东西读出来啊,对吧?毕竟这个国产自拍这个四个字啊,还是有一定诱惑力的,对吧?我想读里边的内容,那怎么读呢?各位?对了,此时我能 open, 那我们刚才讲已经都 open 了, open 的是那个。呃,国产自拍点 t 叉 t 好 了,路径有了,那么接下来就填第二个参数吧。第二个参数叫什么? mode 模式是吧?模式 mode 等于 那个模式啊,它是这么一个玩意的 mode, 它的取值啊,它的取值。我们先大概的轮廓的先给各位讲一下,第一个叫 r 啊, r 表示什么意思呢?它的全称叫 read, read 翻译过来叫读取,那么我现在想要的不就是读取东西吗?对不对?所以直接就可以了, 哎,就可以了,它可以了之后再往下还有第三个参数, encoding 啊。 encoding, encoding 的 这个参数呢?可以给可以不给,但是我推荐所有人在读写文本文件的时候一定要给拷定 啊,你读写的是图片,你就别给了,图片没法去编码,知道吧?所以是文本你才能给拷定。那我现在这个文件是 utf 八的,所以,那走吧, u t f 杠八啊。 u t f 杠八,然后打开一个文件,打开了之后目的是啥?是读东西,对吧?那我得把它给上一个变量,哎,给上一个变量叫 f, 那 这个 f 呢?表示的就是被打开的这个文件啊。但其实此时啊,此时并没有说把整个文件咔 扒开,把里面东西全加载到内存,并没有,它其实是这样的一个逻辑,我给你们讲一点就是,这是我那文件,这是我那程序,那么这个 f 等于 open, 相当于什么呢?相当于你,这是你的,这是你的程序啊,你看,这是你的程序, 字儿丑点儿啊。然后呢,这面儿是文件好了, f 等于 open, 相当于你这边儿,哎,插了根管子,哎,插了根管子,并且呢模式是 r, 那 么模式是 r, 就 决定了这根管子的流向是不是从这面儿往这面儿走啊, 对吧?你的程序要读东西吗?对不对?所以此时管管道的这个这个流向确定好了,所以这个 f 相当于就是这根管道,哎,就这根管道,那么我想读的话,就从这个管道往里方向读就可以了,知道吧?哎,那么为什么我在 open 的 时候没有说把整个文件全加载到内存呢? 很简单,那个文件有多大,咱们这控制不了,对吧?你想的那个文件如果有十个 g, 对 吧?或者说一百个 g, 各位,你们的电脑有几个人能内存达到一百个 g 呢? 对吧?所以它不可能一次性把一个文件全加载给你,它就给你插根管子,你用的时候从这根管子里面读就完事了啊,那怎么读?很简单,直接 print, 别 print 了, content 等于 f 点 read, read 什么意思啊?读取,那此时我们就可以 print a content, 对 吧? print a content, 看看能不能读到东西。 葫芦娃,葫芦娃,一根藤上系的话,是吧?数据就读取出来了。所以我们想读一个东西,特别简单啊,各位可以去先练习一下,然后我们再去强化一下读,到底有哪些种读的方式?现在很简单,现在康熙以下全读出来了。还是那个问题,你的文件如果有一百个 g, 你 能这么读吗?兄弟,肯定是不行的,是吧?谁的脑能怼一百个 g, 是 吧? ok, 那 关于文件操作的这个读,咱们暂时先说到这,咱们下一小节接着讲读取文件。 好,那上一节我们学会了,呃,怎么打开一个文件,怎么去啊?去,去写它这个路径的问题,对吧?然后呢?以及最简单的一个读取,哎,我们直接一次性把文件里面东西全都读出来了,但是还是那个问题,你这个文件如果很大哎,有十个 g, 有 二十个 g, 那 此时你这么读肯定是不行的,一次性内存就炸了,所以怎么办呢?哎,在 python 里面还提供了一些其他的读取文件的方式,比方说,哎,我们读的话,这是全读啊,全部读取,哎,我们还可以这样,来去 读去来, f 点 read, 你 看啊,有这么多了, readable 就 不不提了。好吧, readable 就是, 是不是能读出东西来啊? readable line 要读取一行,哎,我们来实验一下啊,这一行是个什么玩意啊? line 等于 print line, 走, 葫芦娃,对吧?这一行就出来了,但是呢,这个地方看好啊,一行再去接着读,对吧?这是第一行,这个应该是第几行了?第二行了,走,葫芦娃,葫芦娃,哎,这这这两个葫芦娃重合了是吧?再来一行, 走那葫芦娃,葫芦娃,一根藤上七朵花,是吧?我这个数据呢,哎,可以一行一行的读,也就是说你打开一个文件之后,他相当于那根管子插哪了?是不是插在他那个文件开头了?读一行往下走一点,读一行往下走一点, 对吧?就可以这么哎,反复的去读,哎,反复,就这么一个一个一个一个去读。那么读完了之后,我们发现一个问题,我们在打印的时候,这这葫芦娃为什么占两行呢?都,哎,为什么他占了两行呢?其实这个东西啊,不太好解释,而且容易蒙啊,我快速的给你想办法给你解释一下,比方说,我打印,呵呵哒, 再打印,么么哒,来,各位,我们就考虑这两个玩意,就能把这事说清楚,看着啊,我们再打印,呵呵哒,然后再打印,么么哒。那么各位,我们可以看到打印的时候,呵呵哒自己占了一行,么么哒也占了一行,那说明个什么问题呢?说明 print 的 时候每次 print 它都会干嘛呢?进行一个换行对吧?你打印完,呵呵哒,换行再打印,么么哒,再换行, 对不对?所以也就意味着这里面 print 内部存在一个换行,对吧?打印完之后啊,会帮你进行换行,那他既然这里面有一个换行了啊,那接下来我们来看我这个文件,我这个文件叫葫芦娃,然后是不是也换行了? 在葫芦娃又换行了,也就是说文件读取的每一行,哎,读取的这么一行,在这一行的末尾这个地方,他有一个换行符号,在这 一换行,哎,到下一行了,再来下一行再换行,知道吧?所以这里面有一个换行符,隐藏在每一句话的末尾,那么也就是说你从文件里边读取到的内容,它默认是可以进行换行的,哎,它里面内容自己是可以换行的,但是你 print 是 不是自己还有个换行了, 就这样了,对不对?那怎么办?我们可以这样做,在你从文件里面读取到的那个换行,我们先加上一个 string, 之前讲字母串的时候让你们重点记和 script, script 能干嘛?是不是去掉字母串左右两边的空白,当时这么说吧,那空白包含着什么?包含着空格换行,还有什么?这个这个制表符, 就这些玩意全部给它干掉,那我加个 si, 是 不是就把换行符干掉了,对不对?哎,那我们来试验一下啊,怼上怼上,全都怼上,走,你看这文件里头是不是一模一样,对不对?所以这里面啊,你要想着点这个这个文本啊,后面的这个这个看不见的这个地方,它有一个换行符在这啊,那怎么能?能能能看见那个东西呢?哎,有一个办法能看见, 注意了, content 等于 f 点 read 览思,哎, read 览思,那 read 是 全部都读出来, read 览是一行一行读,那么还有一个叫 read lance, lance 什么意思 啊?是不是所有的很多行,对吧?很多行?好啦,我康怼上一个 read lance, 那 默认情况下,它会把所有的你这个文件里边的每一行都拿出来,然后放到一个列表里面去,所以此时我们打印 content 实际上是一个。什么?是一个列表,哎,走 啊,是个列表,哎,这个时候你是不是看到葫芦娃后面跟了个杠 n 了?葫芦娃跟了个杠 n 了,看见了吧,所以啊,这块啊,兄弟们,这个地方默认是有一个换行符在这啊,杠 n 就是 换行符,哎,杠 n 就 换行符, ok, 那 么此时呢,我们就基本上知道了啊,我读文件呢,可以 read 全都读出来, read 烂一行一行读,还有一个 read 烂四, read 烂四就全一次性全都读出来,放到一个列表里面啊。所以从这个点上,我们其实基本可以确定这一些个东西里面哪个重要。各位,肯定是 read 烂,重要。 瑞的烂中,因为还是那句话,他和他都无法解决一个问题,就是你的文件好几十个 g, 怎么办,对 吧?他能解决,他能解,他不会让你的内存炸掉,你一行不至于说好几十个 g 吗?哎,所以此时我们就说读取文件很重要的一个操作叫瑞的烂。那么还有一个问题,还有个问题,我现在想把文件里边的内容啊,一行一行一行读出来, 哎,一行一行读出来,那么各位, word 烂是不可以办到,但是这个文件里面如果有个百八十行,你总不能写百八十个 word 烂吧,对吧?那怎么办呢?拍子里面还提供了这样的一种读取方式,也是最重要的一种文本读取方式,必须掌握 啊,不讲道理的必须要掌握,那我此时很明显,对吧?就是肯定是全新的了,对不对?那怎么办呢?想想啊,我读一行拿出来,再读一行又拿出来,再读一行又拿出来,它读点是不是有点像循环的一个操作,对吧?所以 python 里面直接就告诉你,这个 f 可以 被直接循环,所以直接 for 小 于 in f, 哎,直接就可以循环这个管道,从那管道里面一行一行的往出读,一行一行的往出读。那么这里面的 line 啊,这个这句话的解读就是,从 f 中读取到每一行数据, 读取到每一行数据。来,我们看一眼吧,打印一下这个 line, 好 吧,打印一下,走。你看,那个问题又来了,又是又又是,换两行嘛,对不对?为什么换两行?因为你没加语句 走,对不对?哎,数据都拿出来了,此时不管你文件里面多多少个东西,对吧?啦啦啦啦,一直拉,随便拉,想怎么拉就怎么拉啊,痛痛快快的拉来 走。哎,是不是还是能读取啊?所以此时相当于一个很公共的很很很套路的一套操作,就读取文件的方式,对吧?直接 follow link e f 就可以了。那么这个是我们说想读取文件里面的内容最重要的一个方案啊,最最最重要的一个方案,把这个给他记下来,把这个记下,记住文件的这个 open 是 可以直接被循环和便利的啊,把这个去理一理,理完了之后,咱们接下来准备去讲讲怎么往文件里面去写东西,是吧?来,咱们这些就说到这。 好,那接下来咱们来说说往文件里面怎么去写东西啊?那用的模式呢?叫 w, w 的 话呢?基本上各位能猜到啊,它那个单词叫 right, 那 叫写,叫写。那写的话,我们来试验一下吧,把这个注视一下啊,在这块,呃,这个地方也注视一下,在下面呢, 我们要假设啊,现在瞎写一个,哎,叫国产自拍之后我再写个啥呢? 嗯,好吧,写个这玩意好了,接下来模式的话呢,肯定是 w 模式,对吧?然后,呃,给上一个自负极一拷定等于 u t f 杠八啊。但是各位请看啊,我这里面并没有这个文件,讲道理吧,没这个文件,那没这个文件是什么样吧?走你, 哎,你可发现没报错,对吧?然后我们看这边,哎,你可发现他帮你创建了一个啊,这么一个文件出来。所以此时我们基本上可以断定一个事,就是 w 模式下, 如果文件不存在,那么会干嘛?会自动的创建一个文件出来啊,自动创建一个文件出来,那么如果说这个文件已经存在了,比方说,哎,这文件之前已经准备好了,那里面写上 啊,葫芦娃大金刚,哎,再来个孙悟空好了,文件现在里面有东西吧?有东西没关系,我跑一下看到了吧,来,再看这文件,你就发现里面东西没了。所以这个就是第二个问题,就是 w 模式下 啊,模式下,那么每一次 open 都会清空掉文件中的内容。 注意啊,每一次 open 都会清空掉文件里面的内容啊,就说白了,他必须保证,他一定会保证你的那个文件里面是空的,只要你 w 模式里面一定是空的,没有的话帮你创建,有的话清空。哎,那么接下来往里面写点东西吧,还不点 write, 随便写一个,比方说胡辣汤,好吧,写个胡辣汤,哎,我们来试验一下,走你 那,没事,他那头,后来他们就写进去了,对吧?也很简单啊,也很简单。那么这里面还有一个坑啊,各位,还有个坑就是我们每次文件操作完之后啊,都需要进行一个 close, close? 为啥 close 呢?你想啊,之前我们聊过这个 open 是 什么意思呢?你这是文件,这是你的程序,对吧?每一次 open 是 不是相当于在这 插根管子过来,对吧?那我下一次再读,哎,再插管子,哎,每一次操作都插管子,那么最终想象一下,你这个文件是不是千疮百孔啊,对不对?哎,就对程序来说不好,哎,对程序来说不好,所以此时我们尽量的,哎,每次操作之后养成好习惯 要关闭链接啊,关闭链接,我上面其实这个习惯就不好,是吧?没关。所以呢,希望我的这个这个这个问题不要在你们身上再次发生啊。好,那这是我往文件里面写东西,接下来,哎,我们来看这么一个小小的案例啊,有小小的案例就能说明出很多问题,比如说 准备一个列表,要求把列表中的每一项内容写入到文件中,哎,比方说我现在准备好一个列表里边呢,随便放上一些人, 那这个张无忌、王峰,章子怡,赵敏,好了,我现在让你把这几个东西给我写到文件里面去。那怎么写呢?很简单,首先还是得做准备个文件呢。哎。 open, open 一个。呃,叫什么呢? 打架,点 t 叉 p, 好 吧,然后我们模式呢?想往里面写东西肯定准备的是它,然后你扣定呢?默认我们还是跟着 u t f 杠八啊,然后 f 点 right, 那 right 的 话,是不是应该是列表的第零个,然后列表的第一个,再来列表第二个,再来列表第三个,是吧?最后 f 点,可逗比 啊,走好了,没问题,多了个打架里面张无忌、汪峰、章子怡,赵敏,对吧?数据写出去了,但是这个数据现在是连着的,我希望你能帮我把它分开。怎么分开呢?很简单,在每一个后面加上一个杠 n, 对 吧?杠 n 就 完事了。杠 n, 杠 n, 杠 n, 或者这么写其实不够优雅啊,因为如果里面有有数字的话,你这个就报错了,是吧?怎么办?会优雅一点呢?还有点 right, 嗯,是 f 点。呃, right, 你 来写吧。 杠 n, 我 这是新键盘啊,所以找键子有点费劲来,每次写出去的时候都加上一个换行,哎,走, 没问题,看这个对吧?哎,一行一行一行的就出来了,所以我说每一个,呃,就是我们之前说的,这里面每一行后面都会默认跟一个杠 n, 明白啥意思了吧?因为我写的时候也要写一个杠 n 出去,对吧?好,那接下来问题来了,我如果这个列表很长呢,几百个数据 不能那么行那么慢,肯定是要上循环了,对吧?循环,把列表里边的循环啊,把里边的每一项拿出来往外写,写完之后再跟着一个 n 是 不就完了?所以我的循环体型就这么两个玩意,哎,把它推下去,其他东西全部干掉,再见。然后给它套上一个循环否?烂啊?否?烂,去了否?艾特么 啊?英历史的是从列表里面循环出来每一项,把每一项给我写出去,是吧?来,走。 哎,数据依然是可以写出去,但是此时听好啊,有很多同学,尤其是新手啊,新的小伙伴们容易犯这样一个错误,他把这玩意写在这, 哎,把这玩意写在这,写在这,这个程序就可怕了。可怕在哪呢?你仔细想一想,循环出来一个数据, 是不是就 open 一个,哎,再循环出来一个呢?再 open 一个,再循环出来,再 open 一个,对不对?那你就说,有多少数据我就要 open 多少次,并且每一次是不是都是 w? 那 么此时你想想啊,我一 open 就 把数据清掉,一 open 就 清掉,你后面写什么是不是都没用啊, 对吧?比方说第一个张无忌出来了,打开这文件往里面一写,写完之后呢?哎,再循环,又 open, 刚才这张无忌是没了,对吧?所以此时你只有最后的赵敏,哎,赵敏写出去之后,循环结束,对吧?就赵敏留里头了,你看呢? 你看呢?就算你照明了,后面还跟了个这玩意,是吧?还跟了个这玩意。所以此时你会发现,这么干是不行的,所以一定要切记,尽量的,但是得看需求啊,大多数需求都是你需要把 open 写在循环的外面,尤其是 w 模式。行啊,这是个坑。各位啊,这是个坑。这东西 啊,我不敢说百分之百啊,但是大多数情况下是这样的,来,再走 来,数据正常写出来也没有什么问题,所以我们一般情况下都是这样的逻辑啊。好,那这是关于 w 啊,就往外写,写出啊,往文件里面写东西这么一个逻辑,基本上是 w 模式。那还有一个模式也是写叫 a a 呢,翻译过来叫 a p n, 它叫追加,写入 追加,写。什么是追加,就往后面去写,接着写。那他俩的区别什么呢?他是接着写吗?不是,他一写是先把其他东西全干掉,那他呢?就是原来东西还在。哎,我在你屁股后面接着往后写,叫 a 模式。简单的给各位去演示一下啊,比如说打下,就这个文件了,往里面再去写住一些东西 来 f 等于 open, 打开一个。呃,文件叫打架,点 t 叉 t, 然后呢模式我选择 a 模式啊, a 模式这个是逗号,想点了该给的引扣定,还是得给 f 点。呃,随便写一个吧。 right, 你, 你好厉害,来,试验一下。走, 没问题,上文件里面看见打架,你好厉害,是不是写错了?哎,这就是我们说 a 模式,它不会把原来的数据给清掉啊,它是一个追加的一个效果啊。 ok, 那 这是文件的往外写的这么一个基本的操作啊。然后我们在这里面呢又灌输了一个新的思想,就是每一次我们操作文件的时候呢,尽量的都要进行个 close, 但是你会发现,对吧?乔峰老师每每次操作完好像都容易忘掉这个 f 点 close。 哎,那么为什么会这样呢?哎,注意了,我们接下来要讲的那个语法呢,就可以让你不写点 f 的 可逗字,它也会自动的帮你去关闭。那,那下一节我们接着聊。 好,那接下来咱们来介绍一个全新的一种写法啊,对于文件操作而言,那么 python 里面还提供了一个叫位子的啊,它呢,就如果真的把它翻译过来的话呢,叫上下文啊,叫上下文。那么位子用位子这种方式去打开文件的话,它的优势呢?就是我们不需要 手动去关闭一个文件啊,就是上节课咱们不聊了吗?你想去往文件里面,从文件里面读啊,还是往文件里面写呀?最后你都要怼上一个 and close 啊,目的是说你要把那个文件的连接给它关闭掉,那这个时候呢,如果有了位子这样的语句的话,其实就省掉了这句话,所以你知道我为什么总忘这句话了吗?其实我通常用的都是位子空格后面跟上你要打开的那个文件, 比方说我还是想从这个,呃,国产自拍里呢,哎,读取到内容啊,读取到内容,那么模式依然是用的,呃, 读取嘛啊, encoding, encoding, 这个 u t f 杠棒。那然后后面我们跟上一个 i s f 啊, 这个 i s 就 很有灵性。首先我们之前聊的这个文件操作都是 f 等于 open, 是 吧?现在呢?给他翻过来了啊,给他翻过来了,用位子修饰之后给他翻过来,翻过来之后你看到了一个全新的词叫 i s 啊,那其实跟这个等号的含义差不太多。 紧接着末尾呢,有一个冒号,我们之前用的 if, 什么什么玩意儿,跟上一个冒号是不是都要一个缩进呢?哎,表示的是你后面写的代码是属于这个 if 里边的。那一样的道理,我们看见冒号了,再往里面写东西的话,就需要进行一个缩进,哎,就会有一个缩进,表示你在打开这个文件的状态下,你要去做的一些事情,叫上下文。 哎,这个东西,那就是比方说我们去读内容吧,哦, line in f print, 来 line 点 strip 可以吧?那就在你打开这个文件的条件下,我们去做这种事情,哎,当你这个事情做完了,哎,文件就会自动的帮你进行关闭,所以我们就省掉了什么 f 点 close 啊,就可以省略到这个事情了。来,我们看一下现在的程序 来,一定行,看见了吧,里边的东西还是能够正常的读取的,但是我读取完了之后,我在位子外边,如果我写了这么一个 f 点 read, 你 会发现程序会报错。走, 看程序报错报个什么呢?叫 i o 啊, operation on close file, 就 说你在一个已经关闭了的文件的啊, 这个这个链接上你又进行 i o, 就是 读写操作,不可以了啊,不可以了,因为你一旦离开这个位子就已经完事了啊,就已经完事了,就文件已经关闭掉了,你不能再做其他操作了,哎,就这么个意思,所以位子啊,我们用的会比较多。然后接下来我们再去补充一些个知识点啊,比方说 我现在想读取的文件啊,就我们之前讲的全都是正常的文本文件,那现在我现在想要读取什么呢?图片啊,我想读,读取图片怎么来读?那这个时候注意了什么位置? 来 open 打开,比方说我现在准备了一个啊,一个大美女吗?胡一飞,那我准备好这文件,我想读取它怎么读呢?那这个时候还是文件的路径是吧?胡一飞 来胡亦菲,那胡亦菲点接地, e g, 那 这个时候注意了,我要读取的是一个什么文件,是不是一个字节儿里面,对吧?图片嘛,这玩意哪有文字啊,对不对?所以你这个时候就会产生这样一个问题,首先模式,你在进行设置模式的时候用读啊,用读没问题,但是你这个 encoding 能不能给一个?来, encode, 能不能给这样一个图片?图片在在计算机里面存储是不是也是二进置啊?但是那个二进置跟你的编码有关系吗? 没关系,因为它就是一个杂乱无章的 r 进去它,它不是文字,它没法进行编文,文字上的编码,所以 in coding 不 能给。 in coding 不 给,那么就证明意味着你当前读取的这个文件,它被称之,为什么呢?叫非文本文件。注意,在读取啊,读写 非文本文件的时候要加上 r, 哎, sorry, 叫叫 b 啊,加上一个 b 来, b 模式又来了个新玩意,来,上,上面给他做一个简单的补充。那么 b 这个模式来,它表示的是你读写的 是非文本文件啊,就不是文本,就是什么视频呐,音频呐,对吧?哎,这些玩意你就可以拿 e 来进行读起,那么它表示读取的是非文本文件,非文本文件读取到的是什么呢? surprise, surprise 就 自己人是吧?那我们来试验一下吧。 哎,强行从这里面读吧。来, s f 加 f f 烂进 f, 你 也可以这么干啊。来,虽然它没有烂的概念,但是我们也能 强行打印出来,你看,全是杠叉,什么什么玩意知道吧?所以就是字节,但是这个字节呢?你又不能对他进行编码操作,不可以做编码操作,因为这个是杂乱无章的字节,其实就是零幺零幺零幺啊,就是零幺零幺零幺。那么接下来,接下来我现在想做这么个事情, 我想把胡亦菲啊,从这个文件夹,哎,当前不是这个文件夹吗?我想把它复制到零一,哎,复制到这里面去怎么办呢?那么想想啊,我想完成文件的复制, 文件的复制,那么此时想想我的逻辑,是不是应该从原文件中读取内容,然后把是不是写入到新路径去,对吧?写到一个新文件里面去,所以我们应该是这样做来位置来 open 读, 是不是从这个这个原文件,就这个胡亦菲这块进行读啊,所以读的话应该是胡亦菲,胡亦菲啊,从这里面去读, sorry。 胡亦非点 jpg。 然后呢?模式应该是刚说完他是个图片,是吧?图片的话应该是 w 啊, r b 是 吧? r b, 那 么读取到的给他放在 f 一 里面去,那么注意,我要从这里面读读,读出来的东西说写到一个新文件里面去, 对吧?所以接下来注意了逗号,哎。 open 一个新文件,那给上一个路径吧,点点杠,然后进到零一 python 里面,然后呢?叫胡二非,点 jpg。 好吧,阶梯 e g。 那 么这个时候我要往里面是不是写出去啊?就从这里面读出来,是往这里面去写啊,所以接下来模式应该是什么? 就是 w b 了,对不对?然后接下来 s f 二,那么此时你会发现,哇,这一行代码写的好长啊,我能不能把它串一下?可以的,看好啊,在这个位置, 公鸡敲,我回车,一敲回车,你会发现这个地方给你报错了,哎,这个地方给你报错了,我把这个 pass 该写上了。写上啊,这个地方给你报错了。为什么呢?因为 python 程序咱之前讲聊过,它是个解释型的语言,它是一行一行的读, 读一行一行的执行,读一行,执行一行,那么你看读到这一行的时候,他怎么执行呢?他没法执行,因为这一行的末尾,正常来讲,位子后面是不是应该是冒号啊?各位,但是此时是个什么?是不是个逗号啊?语法不完整,对吧?怎么才能完整呢?是不是把下面这一行跟上面这一行拼起来,是不是就是一个完整的?哎,排成正常序了,那怎么办呢?加上一个 这个方,哎,加上一个杠,一个杠,这个杠。在这里面的含义是,下面这行代码和上面这行代码是一行,代码是同一行,哎,同一行,那我把它往后 敲了敲了,让往后敲了敲了,那接下来各位,我们就知道了,哎,从这里面可以读,那就是否烂耶? f 一, 然后呢?读取到的内容写到 f 二里面去,所以 f 二什么都不用管点。 right, right, right, 把它写出去就完事了,哎,就完事了,我们把它跑一下啊,走, ok, 程序运行没有问题。看,这这边就多了个胡二飞,点开是吧?还是他?这是胡一飞,这是胡二飞,对不对?哎,两个,呃,这个,这个图片,哎,就算操作完成了,那么我们想进行文件复制,我们已经可以实现了,对吧?其实很简单,就是 你把文件路径给我,那你把要把这个文件复制到哪去,对吧?把这两个路径给我,我就能帮你完成复制。哎,任何东西都可以操作啊,都可以操作,你们可以回去好好的去试验一下,这个东西还是挺有意思的啊,挺有意思的。 然后咱们这一小节暂时呢,先说到这,那么简单,各位说一下下一小节,那下一小节我们现在可以把文件进行复制了,那我现在想对文件里边的内容做一定的修改,哎,应该如何来完成?那么下一节咱们来讲文件修改操作。 好,那接下来咱们来聊聊文件修改操作啊。那提前呢,我准备了一个人名单,哎,里面张三李四,王二麻子,周杰伦,周星驰,哎,这些人,那我现在的需求是, 你能不能帮我把姓周的人的名字给我改成姓张,哎,比方说周杰伦改成张杰伦,哎,周星驰叫张星驰啊,周润发叫张润发。那么此时怎么来做呢?注意,在 python 里面并没有直接的提供啊,文件的修改操作的这样的 api 就 没有啥啊,像读一样啊,或者写一样的,这么简单,给个 r, 给个 w 就 完事了。那 我现在还真的面临了这样的需求,我们应该怎么来做呢?各位,最简单最直观的方案就是,首先把这些东西全部给它读取到内存,对吧?全部读取内存,然后呢,一个一个的进行一个替换,做成替换嘛,对吧?直接 replace, 把姓周的改成姓张的,很简单,但是你把这个东西改完了之后,再存回文件就可以了。但是问题是 还是那句话,你的文件如果有十个 g, 你 怎么办?你的文件有一百个 g, 你 怎么办?你不能全都读出来啊,对吧?那此时势必得想办法读一行改一行,读一行改一行,但是操 python 里面并没有提供啊,又能读又能写的操作, 对吧?并没有提供这样的操作,但是,呃,就怎么说?他其实提供了,但是那个没法用,那个东西根本没法用,叫 r 加 w 加那种模式有,但是没法用,相信我,没法用的,那此时怎么办才好呢?注意,我们可以这样来做啊,各位可以这样来做,这也是我们在处理一些大文件的一个很好的一个思路。 假设这个是我的原文件,哎,我的原文件,那么接下来我把这个啊,比方张三读出来,读到我的这个程序里边来,这是我的程序,那么读到我的程序呢?在程序里面给你进行一个修改,改完了之后呢,我把它写入到一个新文件里边去, 哎,写不到一个新文件里面去,就这么以此类推啊。李四也是拿过来,然后呢?呃,就写过去。王二麻子,周星驰啊,这个周杰伦都过来,过来之后一通操作,哎,一通操作,操作完了之后呢,就给他写到一个新文件里面去。注意啊,我这里面是新的文件,那么写到新文件里面就就势必会形成这样的一个效果啊,就张三李四, 王二麻子啊,然后是这个,这个张杰伦,杰伦,杰伦,然后呢?张星驰是吧?然后张润发是吧?后面我就不写了,以此类推是吧?这个新文件里面应该是长这个样子的。注意啊,这个地方是我的原文件啊,叫 reos, 叫 reos 吧,那这个是我的新文件,我们给他起名呢,叫 new 啊,叫 new 新文件。那么接下来注意看了啊, 我把原来的这个文件删掉,删掉,删掉之后呢,让我的这个新文件给他改个名,不叫这个,这个这个 new 了啊,改成你改个名,那把它删掉啊,改个名给他改成叫 s, 那 么如果这个过程足够快的话, 特别快歘。一瞬间,哎,你想象一下,是不是对对外界而言,是不是好像在原来的文件里面做的这个操作, 对吧?这个过程如果足够快的话,是吧?我们就相当于说在原来的这个文件里面操作了,因为我们文件名还是叫 s 啊,对不对?哎,东西呢,是我们改之后的一个效果呀,对不对?所以这个过程才是文件操作最最最最根本的一个操作。我们平时用到的一个叫 word 东西,各位, word, 哎, word, 我 们每次一操作 word 是 不是就会产生一个 word 的 副本文件,对吧?产生一个副本,然后呢,每次我们一 ctrl s, 一 保存的时候,你会发现这个副本它没了, 对吧?但是我告诉你,很不幸,副本其实还在,是你的原来的文件他没了,副本变成了原来的文件, 知道吧?是这样的一个逻辑啊,是这样逻辑,所以我们文件修改操作应该是这样的一套逻辑啊,这样的套逻辑就是该修改修改,只不过把东西写到一个新文件里面去,写完之后就修改完了之后把这个新就这个这个原文件删掉,让新文件 重新起名字,起个原来的名字,这个过程如果足够快,这个事是怎么办的?哎,我们来试验一下啊,试验一下来,在这个地方我们准备一个这个东西, 快,文件修改操作啊。文件修改操作,那么我们的需求是把文件中的周给它,给它过,换成 章。那怎么办啊?第一件事,得从原文件里面读取到内容是吧?所以跑不了这个位置。 open 打开的是人名单,点 p 叉 t, 然后里面跟上模式,应该是读,对吧,然后该有的是吧,该给的尊重啊,该给的 respect 还是还是要给的 来 s f e, 对 吧。从这里面读取到内容,读取到内容做修改吧。修改完了是不是还要写出去,写到一个新文件里面去,所以我们直接就准备好。 呃,这地方还得有个逗号啊,还有逗号, ok, 那 么接下来 open 打开的话,应该是哪个就是新文件了?人名单注意了啊,人名单跟上一个副本文件,那么此时的文件没有啊,得创建呢。那模式应该是 w 对 吧? in coding, 该给的尊重还是要给的啊。 upl 八 s f 二 对吧?那从这里面读内容吧。那 for line in f 一 读取内容,读取到内容是不是得做个判断呢?你是不是姓周啊?那如果烂点 s, 哎, sorry, 差点就差点就就中招了啊。 line 等于烂点 strip 对 吧,该处理的处理一下啊,该处理的处理一下。处理完之后来如果烂点 start 啊, starts with 啊,叫做周啊。如果你是姓周的, ok, 那 么此时慢点 replace replace, 把这里面的周给我换成章,对吧?换成章好了,做替换, 做完替换,你要是这么写,你百分之百报错啊。不不不,是报错就是修改不成功,因为字母圈不可变,你必须得重新赋值,记着吧。必须重新赋值,哎,差点中招了啊。这个是去掉换行, 那这个地方呢?是干嘛?是修改对吧?就这个把周换成张好了。修改完了之后是不是要写出新文件,是不是写到这里面去啊,对不对?所以接下来在这个位置啊,因为不管你是不是姓周,我是不是还得就就张三李四王二麻子,你是不还得给人写回去啊?所以 f 二点在外面啊。 f 二点 right 是 吧?把烂再写出去,写完了之后别忘了 f 二点 right, 再把什么换行,是不该给人写回去,还得给你写回去啊,对不对?那这样一操作完走 好了,此时是不是有个人名单?副本,你看打开是吧,张三李四王二麻子还在,那么张杰伦,呃,张星驰,张润发是不都在啊?那此时接下来的操作才是咱们这个真的要重点,这些聊的东西就是我们进来的事,是不是需要 删除原文件,对吧?然后呢?把这个副本文件重命名成什么原文件,对吧?就说白了,把他干掉,把他重,把他后面这两个副本两个字干掉 就完事了。所以怎么来做呢?我想删除一个文件,怎么删?在 python 里面你必须要写这么一句话,写在上面啊,那上面叫 import os, 这个是和操作系统相关的 模块引入啊。 import 导入,导入,把 os 模块导进来,我用它,懂啥意思吧?就好比说,呃,你你你想,你想用, 你想,你想用铁丝,那你是不是把铁丝给拿过来啊?对,倒进来一个道理,把那 os 倒进来,倒进来之后怎么去用它?拉到底下那 os 点瑞木就删了,瑞木就删了,我想把谁删掉?是不是把原来的文件删掉啊?把它给我删掉好了。把它给我删掉。删完了之后我是不是还得把这个副本的 这个玩意是不是还得给它去掉?把它把这个文件重新命名成上面这个,那上面这个被删了嘛,对吧?那怎么办? o s 点 rename, rename name 叫命名, rename 叫重新命名。把谁重新命名就把这玩意给我重新命名了。好了,把这玩意翻过来重新命名。命名成谁命名成 原来的文件吧,对吧?哎,这个时候整个操作就完成了。来,我们把这个,呃,这个副本删掉啊,暂时先删掉,防止他干扰咱们,对吧?我刚才说过,如果这个过程足够快,你其实肉眼是看不见这副本的啊。这过程如果足够快,你是看不见这副本的,我们来试验一下。走, 刷就完事了吧。看人民的是不是都变成勋章了,对不对?因为这个过程实在太快了啊,实在太快,非常非常迅速的一个过程啊。那我们想如果真的想看见这个变化的过程呢?我们也可以 导入一个另外的模块叫 time, 他 是跟时间相关的啊,和时间相关的模块啊,和时间相关的模块。那怎么能看到呢?贪点 sleep 睡上个三秒钟,然后呢?再睡上个三秒钟,哎。然后这个时候我需要就是到这个这个这个这个 就是文件夹,系统里面能看到效果,拍上面你们看不到他有延迟啊?他有延迟?那 time sleep 是 什么意思?他是让程序休眠三秒钟啊,程序正常跑着跑到这,给我停,停三秒钟之后再走这一趟,再走这又睡了三秒钟,然后再去做这件事,咱们就能够很直观的看到这个过程啊,当然前提是我得上 这个地方啊,到你的这个文件夹系统里面来看这个事啊。来,我们来把它跑一下,然后观察一下这面的变化啊,这面是周,原来不是周吗?对吧?好了,我把这个重新跑一下走, 看这是不是多了个副本啊。三秒钟之后原文件没了,来,三秒钟之后又重重新命名名了,哎,这个就是文件操作的文件修改操作的一个过程啊,一个过程。把这个东西好好的去 捋一捋啊,捋一捋,因为代码对于新手而言可能有点乱啊,有点乱,你好好捋一捋我每一句话做了些什么事啊?好,那这是关于文件操作各位必须要掌握的一些东西啊。那简单的去回顾一下是吧?回顾一下, 呃,第一个事就是打开文件。 open 文件的路径分为绝对路径和相对路径,我们用的多的是相对路径,那相对路径里边呢?两点杠表示的上层语言,那模式呢?表示你打开这个文件目的是什么?是为了读还是为了写还是为了什么?什么其他的事情,哎,就给它一个目的,那再往下一个后定表示的是如果你读取的文件或者写出的文件是一个 文本,那你需要点上字幕级,到底是 u t f 八还是 g b k, 你 自己选。当然默认情况下我如果不写这玩意儿,默认情况下它是有字幕级的。在 mac, 就 我这台电脑上默认是 u t f 八,那你们各位, 我们是 windows, 上面默认是 g d、 k, 好 吧,所以这个我的建议是你读写文件这种东西,该加的一定要加上,防止出现各种各样的乱码问题,好吧,然后再往下这个模式呢, r 是 读, w 是 写, a 是 追加, b 呢?是飞文的文件就是读的读,写操作的是 bios 啊,就你就记住了, 只要你处理那玩意,他不是文字,那你就用就把这个带成这个 b, 好 吧。然后位子的这种方式呢?它是文件的上下文,不需要我们手动去关闭一个文件啊,不需要手动关闭一个文件,那如果我在读取一个文件的时候还可以干嘛呢?是用负循环啊,用负循环也可以去进行读,一行一行的进行读,然后我们这一课主要聊的是文件如何进行修改, 对吧?修改文件,那么我们要做的事情是第一件事,从原文件中读取内容,然后第二件事,在内存中进行调整啊,调整就是修改的过程啊。修改,修改完了之后,第三件事,把 修改后的内容写入什么新文件中,写到新文件里面之后,最后一件事情要干嘛呢?要删除原文件,然后将新文件 啊,重命名,重名文件,哎,就完事。这是整个修改文件的一个过程啊,那文件操作里面最主要的操作就是这些啊,还有一些其他的操作,如果你很感兴趣,对文件操作很执着的话,你可以按住你的这个电脑上的 ctrl, 键盘上的 ctrl 按钮,然后你看我这个地方一滑动,是不是就有有这个下划线了,哎, 我们一点击 open, 这个就是 open 的 源码啊,源码,因为 open 它属于是 build ins, 就是 python 的 内置函数,那么它的真实代码呢?呃,有可能是拿 c 写的啊,那它就不在这里,你看不到,但是对于 open 的 参数,它都会有很详细很详细的介绍,非常非常长,包括你看这模式里面 r w x a b t 加 u, 是 吧?就很多很多, 这就是这这种方案,知道吧?所以呢,你可以去读一读,看一看,有兴趣的就看一看,没兴趣的直接过。好吧,直接过,我可以很负责任的告诉你,我讲的这些玩意基本上够利是了。基本上够利是了啊。好,那这是关于文件操作这块跟各位要去分享的东西,咱这节呢就说到这,谢谢各位。

逼自己一个月学完你的拍损就牛了,全程干货无废话,全五百六十八级学完级就业警告!本系列视频耗时五个月制作,制作时长四百八十分钟,从零陪你系统的学习拍损,这应该是抖音目前最良心的 入门到进阶的拍损保姆级教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍下从零到一的学习计划表,只需上百集素材,书籍、课件等等,只要你能想到的素材我这里几乎都有, 评论留言六六六即可全部免费打包带走,相信我,这套拍档即可速成,将会是全网最齐全,是一等的小白专用课。如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍档的小伙伴看到这个视频。那接下来咱们来讲一下列表的其他操作啊,就是对列表呢做一个简单的补充。首先第一个操作是关于这个排序的问题。 排序,呃,在讲排序之前,我要跟你交代一个事,就比方说我往列表里面放点东西,那比如说幺二三,幺二三,然后再放一个,嗯,麻花藤, 好,再放一个武大郎啊, ok, 此时我们去运行一下这个列表啊,打印一下列表 来,我们发现这个数据是都在里面了,对吧?那列表首先记着他是有顺序的,他的顺序是按照你存放进去的顺序来保存的,就比方说我放的时候是这样的顺序, ok, 那 用的时候就是这样的顺序 啊,所以呢,我们一般对列表呢可以说是有序的啊,因为这个为了咱们后面去讲集合,因为集合是无序的,他不不是按照你存放的顺序来保存的,知道吧?他俩是有一个对应的,所以列表本身是有顺序的,他的顺序是按照你存放的这个顺序来保存的啊,说这么个事,就是列表 会按照你存放的顺序啊,来告诉我们,用的时候呢,也是按照你存放的顺序来用的。那再往下我们说列表如何进行排序,对吧?怎么来排序?比方说我现在往列表里面随便放些数字啊,咱不管那个数字,咱管数字 啊,你看应该能感觉到,是吧?我在胡编乱造,随便怼一些数据,数据进去,那接下来我要对列表点 sort, 这个叫排序,我们看一下列表, 走,看到吧。四三幺幺幺幺二三幺二三二二二四四四三二四三,对吧?它是可以进行排序的啊,这是对列表。 sorry, 对 列表进行升序排序,那像降序怎么办?略色,点 sort, 后面跟上一个,呃,一个 reverse, 那 等于 true。 来,我们再跑一下, 你看就变成降序了。所以 reverse 在 这里面很关键啊。 reverse 表示的是,呃,是不是翻转啊?它叫翻转,是否翻转?那默认是声序,声序再翻过来不就是倒序了,对吧?是不是要翻转,要反转啊? reverse 这么一个作用。好,那这个是列表的补充的一个小操作啊,然后我们再讲讲列表的嵌套 啊。嵌套?什么是嵌套呢?就一层套一层,这很简单啊,页脚里面,嗯,来个 a b c d e, f 啊, r d r e 啊, p q r 啊,随便写点东西,随便写点东西,然后我还可以往里面嵌套一些东西,比方说这个位置逗号,哎,再嵌入一个列子啊,比方说这会写点中文吧,呵呵哒,妈妈呀, 呃, qq 鸡娃啊,随便写,这里面还可以再进行嵌套,想怎么套就怎么套,来,再套一个可乐,呃,呼吸, 嗯,一二三啊,随便往里面套,你还可以套,想怎么套怎么套,那么重点不在这个格式怎么往里面嵌套,而说我现在想把呼吸俩字拿出来,怎么拿, 对吧?关键点怎么拿?那呼吸两个字想拿到的话,我是不是先找到呼吸所在的这个列表?那想找到这个列表,我是不是还得往外去找?是不是得找这个大列表?因为整个列表是存放在外层列表里,对不对?那再往外,再往外找的话,我这个列表是第几项呢?那在整个最外层列表里面,第零个,第一个第二项是不是就是我这个大列表, 对吧?很简单的一个东西,所以列表里面来给我找第几个?这是第零个,这是第一个,第二个是不就这个大列表了,对不对?所以第二项是个大列表,那我直接现在是不已经找到这个大列表,在这个大列表里面接着去找来第零个,第一个,第二个就第三个就是我这个小列表了,对不对?所以再去找,直接中框号来找第三个, 对吧?哎,到第三个之后,第三个是不是已经定位到这了?定位到这之后来,这是第零个第一个,第二个来第零个,第一个我找呼吸的,是吧?第零个,第一个,第一个就是我要那个呼吸,所以此时我们就应该能够拿到呼吸两个字来,逆行一下,走, 看呼吸两个字就出来了。所以这玩意简单不简单?很简单啊,看着,如果你单纯的拿个这玩意给你看,可能你会有点迷糊,但是细品一下,其实是这么个道理啊。列表里面第二项, 对不对?列表里面第二项,第零项,第一项,第二项,又是个列表列表,哎,就我现在选中这个地方,对吧?又可以当成个列表,列表里面接着找吧。 对,再找来,但是再找第三项,所以这个这个列表里面再找第三项,那就是第零项,第一项,第二项,那第三项是他吧?第三项是他。好了,这一我框起来的这些个代码是不对应的,就是这个里边第三项啊,整个这个这个小列表了,这个小列表里面再去找第一项,那就第零项第一项呼吸就出来了,对不对?所以此时我们程序是没有问题的, 对吧?那接下来给你个新的需求,我让你把呃这里面吧呼吸给它改成。嗯, spring, spring 不 太好, spring 不 太好。呃,来一个 scrappy, 好 吧,来个 scrappy。 我 现在需要你把 scrappy 的 首字母变成大写,我又需要你把整个 scrappy 全变成大写。 你怎么?你不能就找这四 part, 对 吧?怎么找?他是不是还是一样的逻辑?所以依然是得找到列表里面的第二个,里面的第三个,然后再找里面的第一个,是吧?然后把它变成大写,对吧?大写的话点二 对吧?你不要看前面哐哐一堆中括号,你就蒙了。很简单,列表里面的第二项里面第三项里面第一项二三幺。好了,零一二,对吧?零,哎,零一二三, 对不对?零一对,一二三,一二三一。找到它,找到它之后点 upper, upper 是 不是就字母串把它变成大写啊,对不对?那此时我在拍打印的时候来 print list 走来还是小写,为什么?各位,因为字母串是不可变的,还记得吗?字母串是不可变的,你要想让它发生变化,是不是把这个位置给它换掉啊?所以直接我就可以这样做, 看懂了吗?直接把它变成大写,再重新塞回去是不就完事了,对吧?来走。哎,这个地方变成了大写 对不对?所以这个玩意应该不用再继续加下去了,因为他整个的逻辑就是这样,就一层一层一层的去找。好吧,就是一层一层的去找,并没有什么所谓的高层的东西在里面啊,就是一层你会处理到后面的有多少层,其实逻辑都一样啊,那么这一节我们要讲的东西 啊,不可能就这么点玩意,是吧,真正的干过来了。列表的循环删除,这个是一个不是重点,但是呢,很头疼的一个事啊,简单标一下啊,很头疼的一个事。首先我现在给你个列表啊,看到写个列表 啊,我可能还需要前面的一些个名字,过来啊,这些个名字过来我用着。好,那接下来我现在有一个需求啊,有需求我希望你把姓张的人从这个列表里面删除 哎,我希望你把姓张的人从这个列表里面删除,那么此时我们能想到的操作应该是这个样子啊,删除对吧,那我就可以后 iphone 应用我的列表, 对吧。判断一下来,如果你的 iphone 点 star 妹子是不是姓张啊,那这之前都写过,是不是姓张啊?姓张,我要删掉,你那类似点尾幕,对吧?把这个元素给它删掉啊,一切看似都是那么的丝滑,非常的顺滑,但是你一逆行,你会发现有个人没删掉, 哎,你发现张无忌没删掉,为什么会这样?各位,这个地方是一个很头疼的一个问题啊,很头疼一个问题,来,我们来看一下,为什么会这样 看着?假设这是我的列表啊,这是我的列表,那么列表里面呢?我会放一些人,比方说 a, 我 就简写了,这样的话咱们看着会简单一点,有个 a, 绿色 b, 有个 c, 哎,有个 c, 有 个 d, 有 个 e, 有 个 f。 好 了,此时我在循环这个列表的时候,各位啊,请看,我要选 b, 两个 b, 这样的话条件大家看的会清楚点。好,我在循环这个列表的时候,注意,我在执行负循环的时候,它能够把我列表里面的每一项都拿出来, 那么在负循环内部,他一定会有一个东西来记录一下,我当前循环到第几个呢?对不对?下次循环的时候该下一个了吗?再下一个循环又该下一个了吗?对不对?所以负循环里面一定会有一个东西啊,像箭头一样指着,这是第几个对不对?那他指向这个东西啊,最开始的时候循环的是他,没问题吧?好,是他 a 的 话是不是姓张呢?来,我们看到赵敏不姓张,不姓,不管他。好,他往下走,一个到下一个了。来, b, b 的 话,什么张绍刚是吧? 我,我没写那么全吗?那他是要被删除的那个元素?好,他被删掉了,各位请看啊,此时他被删掉,你再见了,你再见了之后,这个位置不能空着呀。我们说了,删除一个东西之后,后面的人是不是往前补啊?各位, 对吧?后面的人往前补一个,后面的人往前补一个,之后,负循环是不是还得继续往下走?负循环继续往下走,这个箭头是不是就往后又移一个?哎,你会发现这个元素是不是没有经过循环, 对吧?他没有经过循环。来,再给你看一下,为啥他没有经过循环?再来一遍,看着我循环到第一个的时候,对吧?赵敏,赵敏,没事往下走,来到这了。掌少港,掌少港有问题掌少港有问题,他就要执行这个代码,对吧?然后执行删除。掌少港被删掉了之后,后面的人是不是要往前挪呀?各位, 对吧?你删一个,你不能说这个地方空出来了,再往后往前挪,他一往前挪好了,循环整个程序是不是还得接着往后走一个?他往后走一个,不要紧,这个元素是不是被过掉了,对吧?就掌武技术被过掉了, 对不对?以此类推以此类推,你会发现这么直接去删,删不干净。为什么删不干净?因为你删除一个元素,把这个元素拿走了,是拿走了,但是你的元素后面的元素要往前挪一个,而你的负循环还要往后走一个,正好错过去了, 知道吧?所以这个地方删不干净。那怎么删才能删的干净呢?各位,我们可以这样做,准备一个啊,这是 t m p。 准备一个临时列表,哎,临时列表,这个列表负责干嘛呢?负责存储马上要删的东西哎,负责 存储要删除的内容,那比方说这里面姓张,姓张的东西是不是要删的?所以此时我们可以 t m p, 点 append 来 item, 对 吧?把要删除的内容是不记录下来,对不对?把要删除的内容记录下来,对不对?那此时的话看着啊,我这个 t m p 啊,它里面就会存放我们要一会儿要删除的内容,那接下来后循环 for item in t m p, 哎,我循环这个临时的,这个这个临时列表,对不对?循环它从这里面拿出来,是不是要删除内容啊?那拿出来每一项去原列表里面去删除,来类似的点,滚一下一个来,这,这,哎, 这句话是个关键啊,去原列表中进行删除操作,所以此时我们是循环,相当于什么呢?相当于是 做了一个存储,对吧?这是一个列表,这还一个列表,哎,我循环这个列表,循环这个列表,一个、两个、三个、四个、五个,这个列表循环下来,并且这个列表是不是没有发生改变呢?他只是循环台嘛,对不对?没有,没有从这个这个列表里面删过任何东西,然后我删谁呢?我去删上面东西, 我去删上面东西,那这个时候我我这个这个循环就可以正常的往下走下去嘛,对不对?并且也不会涉及到这个列表里的元素移动,删的是这个列表里面的东西,对吧?这个删删除就是非常非常安全的操作 啊,非常安全的操作,因为上面元素你爱怎么动怎么动,我也没循环你,对不对?那下面这个,嗯,它它是没有发生改变的,对不对?所以此时我们就会发现,这样删除是最安全最稳妥的一套删除方式,所以看呢,安全稳妥的删除方式啊,当然这个只是在循环删除的时候, 将要删除的内容保存在一个新列表中, 然后循环新列表,删除老列表,知道吧,这个是最稳妥的一套方案啊。好,各位,那可以去尝试一下,去做个删除,然后呢,感受一下我这个程序这个地方为什么会有问题。你画一个图,画一个图,按照我刚才的那个逻辑走一遍,你就明白为啥 这么看不行了,是吧?这里有 bug, 那 有 bug, 而且这个 bug 还很还很很神奇。神奇在哪呢?就是他啊,不会怎么说呢,就是就不报错,你知道吧,你未来你就知道了, 程序要是能报错是好事,对吧?你能知道哪块报哪块,出问题了能直接找去,这种不报错的问题才是最头疼啊。 来逆行一下,那删的干干净净对吧,而且也没有问题。好,那这是咱们这节课给各位去聊的啊,一个列表的操作的补充。那咱们简单回顾一下列表,列表是什么东西?能装东西的东西, 能往里放东西的啊,这么一个玩意。那列表表现形式中括号表示,并且里边的元素呢?通过逗号来开啊,列表的特,特征和特性,它可以像字母串一样的,所以和切片,所以如果超过范围的报错,可以用负循环进行便利,也可以用楞来进行。拿到列表的长度啊,然后列表它的增删改查,增加的话记着啊, pan 啊,追加在屁股后面追加。然后呢,对于列表呢,删除,我们直接用尾木就可以了,修改的话直接用尾木就可以了,修改的话直接用,所以把第几项给它换掉, 把第几个给换掉。查询的通常都是直接用列表中括号去找某个元素就可以了啊。然后是关于列表里面的循环的问题,一个是直接循环他里面每一个元素,另一个是循环他的锁瘾,有了锁瘾你就有了每一个元素,知道吧?所以这两套方案都要记。这两套方案里面 下面这个是当你需要用锁瘾操作,比方说不想做修改的时候,你必须得有锁瘾,对吧?所以这个时候你就需要用到锁瘾的时候,你直接上面那个都可以啊。 ok, 那 这是关于咱们列表要跟各位聊的内容啊,比较多,比较多,所以它怎么讲呢?你看我讲的这么细致,你应该能猜到它的重要性,好吧,所以把这个练熟了,练会了啊,张口就来,那把它整的非常非常的熟,后面你就会很轻松啊。好,列表呢?就说这么多,谢谢各位。 好,那接下来咱们来聊一个全新的术语类型啊,叫 top, 那 top 呢?翻译过来叫圆组,来简单的跟各位去聊聊啊,这个东西特别简单, 圆组啊,圆组呢?它叫 tapo 啊, tapo 叫圆组来,这个东西呢,它的特点啊,各位,它的特点其实特别的简单, 就是不可变的。什么呢?列表,不可变的列表,比方说我来一个 t 等于一个小括号,它是由小括号组成的啊,之前说讲列表呢,是小括号,那小括号来组成里边的内容呢?跟列表一样,想怎么放怎么放,比方说放一个张无忌, 哎,放个照明啊,这都没问题,哎。啊,多写个逗号。好,我们接下来打印一下这个 t 走。哎,这就是个圆组了,那么圆组它是不可变的。什么叫不可变呢?比方说我想拿到圆组里面的第零项来 print 圆组里面的第零项来走, 是吧?没有问题。那取第一项呢也没问题对吧?也没问题。那我们试一下有没有切片。呵呵,他好吧,一冒号三一冒号冒号三走 看了它也能做切变对不对?但是这东西不可变知道吧?什么叫不可变呢?比如说原组里边的第零项我给他换一下张无忌跟赵敏。不好,我想给它改成樵夫。哈哈,樵夫跟赵敏就比较好了。来打印一下 t 走, 那你会发现它报了一个错误,叫 top object does not support item assignment。 这个这个这个东西呢?呃,讲讲英语吧。好吧。 top 原组 object 对 象,原组类型的对象 does not 是 吧?就不 支持 support 支持,所以合起来元组类型的对象它不支持 item 元素不支持元素的 assignment。 这个重新定义就是元组类型对象不支持重新去定义它里边的元素 啊。不支持重新定义是什么意思?就不支持改东西对不对?所以这句话基本上就不用再多解释了,纯英文翻译就能解释说元组不可变。好吧,元组不可变 啊,所以这是原组的一个特性。那原组它一般什么地方能用到?我们后面会讲到我们讲到字典的时候它可以用原组做 key 啊,因为它不可变,它就可哈西这个玩意。 这是一个连锁反应。好吧,连锁反应暂时先不讨论,那么原组它的不可变的。呃,这个这个这个应用的场景一般都是你固定了某些数据啊,那么不允许 外界修改的时候,那么我们就可以用到这个原组啊,比方说后背来,我们用到,呃,列表就是返回值啊,这个元素函数函数的返回值,对吧?它默认就是一个原组,所以这地方你要小心。那么还有一个点就说,呃,我们的原组如果只有一个元素, 哎,这个地方有点头疼,这个头疼在哪呢?看着啊,给你演示一下你就明白了。来, t 等于括号,随便写个,哈哈, 对吧,你会发现这个玩意底下有个波浪线,是吧?来,此时我们来打印一下 t, 你 会发现它就是,哈哈,这是圆柱吗?并不是,怎么看呢? type t, 走,看它是什么类型?四幅串类型。为什么会这样?各位,你的括号 把这东西包起来了,并且只有一个元素,那么此时他认为这个括号 一加三,然后乘以五啊,乘六都一样,那一加三乘以六,这个我们上过学应该都知道,一加三是先算的,各位优先级,先算一加三的结果,对吧?三加四,三加一的四四乘以六的二十四,对不对?所以这个括号默认啊,他是优先级, 括号默认是优先级。那此时我非得较真,我就想让他是元组怎么办?哎,我们可以在这个元素后面加上一个逗号,哎,这个时候你再看 加个逗号什么类型了,他口他是圆组,知道吧?所以如果你的圆组只有一个元素,知道吧?如果只有一个元素,那么你需要在末尾添加一个逗号。需要 在元素的末尾添加一个逗号啊,这是他的一个规定,要不然的话他就会认为是,呃,就是当成 u 线进来算了,知道吧。啊,所以这个地方是个小坑,然后圆组的不可变, 你要小心的第二个坑,坑啊,这是坑什么坑呢? t 等于括号一二三,来,中括号写上一个,呵呵哒,来,再来一个么么哒, 么么哒,来,此时看着啊,我说了原组不可变,对吧?但原组里面如果套了个列表,这个事就有意思了,是吧?列表是可变的,咱列表能不能增加点啥呢?肯定能变呢,那我 t 里面的零一二三,哎,第三项是什么?是不是这个列表啊?好了,这个列表点 a p 走,哎,你发现这个哒哒哒是不是夹进去了, 对吧?哒哒哒就加进去了,所以此时你不说列那个原组不能变吗?怎么又能加进去东西呢?各位注意了啊,原组里面的不可变指的是他的这一层内容的内存地址不能变, 知道吧?就是说白了,这个是一,这个是二,这个是三,这个是列表。好了,这个列表虽然他列表里边是可以动的,但是这个列表 不能动,就这个列表本身不能换成其他列表,懂吗?他内存地址定死了就是他了,知道吧,但是呢,列表里面东西是可以动的,就好比说,你举个例子就明白了,就好比说这个地方,呃,我放上张三李四王二麻子,好吧,这这三人放这了,那么接下来 张三的身份证就被钉死在这了李四的身份证钉死在这了,王二麻子的身份证钉死在这了。好了,身份证钉死在这之后,我问你,张三是不是在这了?那张三我给他拔个牙可不 可以?可以吧,你说你张三身份证有没有发生改变?没有发生改变是吧?说说身份证还是没来。那身份证啊就拔个牙吗?对不对?张三本身是可变的,因为他可以拔牙 对不对?所以此时这个地方一个道理,你这个列表他的内存地址被盯在这了,这个这个列表内存地址盯在这了,那列表里边的内容你想改呢?你就改随便。好吧,你随便知道吧。所以就就就相当于在张张三身上发个芽是吧。身份证是不变的,内存地址是不变的,放在这 知道,所以是可以往里面加东西啊。但是这种情况也很少见啊。很少见,这为啥是坑呢?就是正常人不会这么这么干的。 ok, 正常人不会这么干的啊。好,那这是关于原组跟各位聊的东西啊,很简单因为他这玩意 增删改啥不存在啊。增删改不存在,查询的话就第几项第几项复循环也可以,因为它有缩影嘛对吧?增删改那就是那个查询复循环什么的都可以用啊,就是不能变,记着这么个原则啊就可以了。 ok, 简单。哎这块写一下啊就是内存 不能变对吧?至于内存地址所指向的那个东西随便啊。好了原组就说这么多吧。 好,那接下来咱们接着说啊,接下来要说的这个数据类型呢叫 set, set 呢叫集合,这个东西呢呃和我们数学上的那个集合啊非常的相似 啊。之前呢我给历史的下过一个定义说,呃列表呢是能装东西的东西对吧?但其实呃更符合就是能装东西的东西,这样的个东西应该是 set 啊,因为 set 呢,它里边的内部是无序的啊,就跟我们书包是一样的,你拿个东西直接往里面塞就可以了,完全不需要考虑说 这个东西存在哪啊?这个顺序怎么样啊?不用考虑,它空空的往里塞,它是无序的啊,所以 size 的 特点基本上也就出来了。那简单的各位去看一下吧,对吧? size 集合,来 size 集合。那 size 集合呢?我们想表示它呢,可以这样来表示啊,第一种方式是 s 等于来写个这个 大括号,哎,这个呢,就可以表示 size 集合,但是如果你默认这么写的话,听好啊,如果你这么默认去写的话,你会发现它根本不是 size 啊,它根本不是 size, 来走,哎, sorry, 走一下啊, ok, 我 们看到它是个 dict 啊, dict 呢,是我们后面要讲的一种数据类型,它叫字典,对吧?所以默认情况下写个大括号,它并不是 size 集合,那我如果往里面放个一二三,哎,此时你看它就成了 size 集合了,知道吧,并且此时注意看啊,我去打印这个 size 集合,你会发现, 哎,很有趣的一个现象,现在是有顺序的是吧,我放个中间放放点字母串,放字母串会明显一点,呵呵的来运行走你,哎,我们发现这个顺序是不是完全就乱了,对不对?他并不是按照我们往里放的那个顺序来存储的,所以呢,我们可以认为,哎赛的集合 是无序的啊,它是无序的,并且 set 集合还有这样的一个特点啊,各位有这样一个特点, s 等于比方说往里面呢放个一二三,这个没问题,数字没问题,你放字母串,对吧?也没问题,但是如果你考虑放这个东西,它就不行了,来,我们看一看啊, print 来 set 走,哎,你就发现他给你报个错,他报这个错呢,很有意思啊,叫 unhashable type list 来给他拿过来啊, 这里报的这个错啊,哈西卜什么意思呢?叫不可哈西的数据类型 list, 也就是说你往这个这个集合里边啊,你放这些东西没有问题,但是呢,你放它就不行,因为它官方告诉你它是不可哈西的,对吧?那不可哈西又是个什么玩意呢?来,简单给各位介绍一下来,不可哈西啊,在这个呃, python 里面,它 对某些数据类型他是要做一定处理的,就是他存储这个数据呢,是要根据你存的这个数据能不能进行哈希,他根据这个哈希值来进行存储的,所以这个时候你要小心。就是 python 中的什么呢? set 集合进行数据存储的时候 啊,需要对数据进行哈希计算,哎,就是一个算法,他要算个,算个值,算个数出来,根据你算出来的这个哈希值啊,根据 计算出来的哈希值进行存储数据。所以呢,如果你的数据类型是不可哈希的数据类型,那你就没办法进行这个计算,你也就没办法进行存储,懂吧?所以这地方有一个特点,就说我们的 python 里面的 set 集合 啊,要求存储的数据必须是可以进行哈希计算的,知道吧,这是他的一个硬性要求。那么我们能够看到的哪些数据类型是可哈希的,哪些是不可哈希的,对吧?我们来简单讨论一下啊,比方说我们现在其实就可以实现出来,对吧?比方说我把这个列表干掉,你看, 哎,他能存储,那证明他是可哈西的,就是字幕串是可哈西的,对吧?那么反过来列表是不是就不可哈西的,对吧?来,再往里放看,好啊,我们之前学过一个东西,叫原组,来一二三,来,我们看下原组 找,哎,你发现原组也能存起来,对吧?那么我们之前讲过原组跟列表的区别是什么个问题?列表是不是能进行增删?奶茶那玩意,对吧?那原组呢?你是不是只能看?你只能看,啥都不能干?那么也就是说对于不可变的数据类型, 是吧?它是能往里存的,所以我们基本上就可以这样来去啊下,这个定义就是可哈西的数据类型是什么呢?是不可变的数据类型。那之前所聊的哪些东西是不可变的?注意,一个纯的数字,这个数字如果放在这了,他能说莫名其妙的由一变成了幺幺零吗? 不可能,所以它是不可变的,是吧?一旦定死了就不可变的。所以 int 类型是不可变的。还有哪些呢?比如说字母串,之前一直在强调字母串在操作的时候,它的原字母串是不发生改变的, 他是每次操作都会返回一个新的字母串,所以这里面字母串本身也是不可变的。就好比说我在这写了个呵呵,那他就是呵呵,你不可能说莫名其妙的把呵呵变成了,哈哈啊,这个是不可能的。那么再往下还有哪些呢?原组 来 top, 原组他也是不可变的。还有我们,呃,之前聊的不耳直,这个也是不可变的,因为他一旦创建出来他就永远是真或者假,知道吧,除非他是变,那变量的话就就就就硬说了。但是我说的是直,听好说的是直。那对于说哪些东西是不可哈西的,基本上就是什么可变的东西就是不可哈西的。所以可变的东西 啊,可变的数据类型就是不可哈西的。比方说列表这玩意可变的数据类型就是啊不可哈西的。比方说列表这玩意可变的数据类型就是啊不可哈西的,对不对?那还有什么东西呢 啊?比如说我们未来要学习的字典,这个是可变的,因为我们字典也是往里存储东西的,包括我们今天所聊的这个赛的集合它也是可变的,所以它不可阿西,所以赛的集合本身也是啊,不能往这里面放的,说白了赛的集合里面不可以去嵌套另外一个赛的集合,你看着。哎。 sorry, 这一二三不行了,写个逗号 走,看到没?他告诉你赛的几何也是不可哈希的,所以赛的几何不存在欠套问题。好吧,不存在欠套问题。 ok, 那 这地方基本上就跟各位解释清楚了啊,什么是可哈希?什么是不可哈希啊?因为因为他要存数据的时候他需要进行哈希计算,所以你给那个数据他就得能做哈希计算能做哈希计算那就基本上就是不可变是不可 变的,是可以进行哈希计算的啊。这个至于说为什么就是就是就是啊,可变的就不能做哈希计算的啊这个,呃至于说为什么就是就是啊可变的就不能做哈希计算的啊这个,呃至于说为什么就是就是啊可变的就不能做哈希计算的啊这个呃至于说为什么就是有机会给你们讲算法 啊真的讲到哈基计算的时候对吧我可以给你们去聊一聊但是这块给你们聊那个就太深了啊太深了。简单记一记就可以啊。 ok 那 刚才说了赛特集合是可变的那就意味着能往里面插入数据对吧。怎么往赛特集合里面插入数据来看看看这 哎准备一个赛特等于我可以这样去那我哎对了差点忘了啊我直接说了你这么一弄他是一个字典对吧那我现在想创建一个空集合怎么办呢哎赛特挂号知道吧这个是可以创建 空集合啊空集合只能这么创建那我想创建空元组怎么办。 t 等于 tupper 想创建空列表怎么办 list 想创建空括号怎么办那空括号怎么办哎 sorry 等于 s t l 懂了吗各位所以你就会发现这些东西其实你要这些个词儿对吧你基本上呃 需要记一下需要记一下啊有保不起哪天就需要你创建一些空的东西对吧那我有了一个空气盒我要往里面加东西 s 点 a、 d d 好 吧直接往里面加就可以了比如说赵本山 ok 很 简单的 s 点 a、 d、 d 来再加上一个范围 范围啊然后 s 点点 a、 d、 d 来再加一个。嗯马马化腾好了接下来打印一下吧。 啊就能往里面讲啊就能往里讲所以很简单啊很简单。那么再往下我想删除怎么办。 s 点来这里面有个瑞木看到吧 还有 pop 哎。 pop 是 什么意思呢?注意 set 集合它是没有顺序的,它怎么存啊?我再跟你们说一遍,它怎么存?它跟那个数学上那个集合一样,就是你们数学老师在黑板上画一个集合,怎么画?画个圈,这就是个集合好吧,写个一二四。呵呵, 懂了吗?他就他就直接往里面放,他没有顺序,随便放,知道吧?那么接下来问题来了,这么胡乱的摆放数据,他能有缩影吗? 很明显没有对不对?所以此时记着啊, size 和 s 点泡泡的时候啊,咱们讲例子的泡泡的时候是不是要给个缩影,给个一二三一号二号三号,对不对?这个时候他没有缩影? 对呀,这几个没有锁芯,没有锁芯也没有切片,知道吧?它没有顺序,你怎么玩对不对?没有第几个,所以这个时候你泡泡里面不能放任何参数,它默认是弹出最后一个。弹出最后一个。最后一个是谁?是范围好了,范围就可以再见了。来 pro 一 s 走, 你看。哎 sorry。 呃,这次赵本山是吧?这次赵本山,所以这个,呃。由于存储的顺序对吧?这个这个不确定,所以呢,那最后一个就是赵本山,本来是赵本山把赵本山就弹出去了,对不对?弹出去之后又又重新进行了一个一个计算,所以这个东西很少用它。由于集合无序, 好吧,这个测试的时候很可就没法验证, 验证是最后一个啊,这个没办法验证,因为它里面是无序的,好吧,就随便给我扔出一个啊。扔出一个,那么它既然是无序,对吧?还没法验证到底把谁扔出去了?那基本上这个东西肯定就没什么,没,没什么用,没什么用处,对吧?用的多的是谁呢?是 s 点尾幕对吧?你要把谁删掉?比方说我想把范伟删掉,哎,把范伟删掉,那此时我们再 print 走,对吧?这个是不就明确了啊?我到底要删的是谁?所以这个就是我们说,呃,删了集合,进行一个新增,还有删除,那修改怎么办?修改的话又没有,所以那之前说列表修改的话,第几项给他修改成什么?什么玩意,对吧?在集合里面不存在这玩意,知道吧?不行,那想想修改怎么办?想要修改那就得是先删除 在新增啊,比方说啊,比方说这个,这个挺有意思的,比方说我想把麻花藤换成沈腾啊,换成沈腾,那此时的话,我就得先 s 点尾木,把麻花藤删掉, 哎,然后呢?再 s 点,哎,这个时候 a, d, d 把沈腾扔进去,知道吧?这就他他他只能这么干。来,我们再打印一下啊,再打印一下, 看到了吗?这个麻花糖就变成神了啊。所以这个东西,呃,没办法啊,他必须得先删除,然后呢再新增啊。 ok, 那 这个是关于集合的增删啊,增删改是吧?还差一个查,那查询的话怎么来?我 把这个这个注写掉,这个就够了。哎,想查询的话,基本上我就得是用循环了,他只能通过负循环来进行得到它里面的内部元素,所以这个时候负 i 啊, item 吧, in s 来 print item 啊,来,走,你来。看到麻花藤,范伟,赵本山,对吧?就就就一个个就拿出来了。好,那这个是关于赛的集合的增删,改啥?这个玩意啊,用的不多。各位啊,这个赛的集合用的不多,我主要是讲赛的集合,墨迹了这么长时间,主要是为了讲哈西,不可哈西,因为这个玩意很重要。重要在哪呢?重要在我们 接下来要讲的那个数据类型字典,它也有一个哈西和不可哈西的一个要求,它有一个要求在这,知道吧? ok, 那 关于赛的集合咱们就如何这么多啊?如果说你还想对赛的集合做进一步的了解和学习的话,你可以去就是自己学一下,就是什么叫做交集 并集啊,什么什么什么差集,它都可以算,知道吧?这个你一搜就搜到了,这个东西我就不讲了,因为它用的并不多啊,真的不多。好了,那赛的集合咱们大概就说这么多,谢谢各位。 ok, 那 我思前想后呢,还是把这三个给各位去交代一下吧,因为怎么着,我得对赛的集合有一个补充啊,因为我知识点忘了是吧? 来,首先呢,准备了两个集合,一个 s, 一 对吧,里面放着刘能,赵四,皮龙山,然后呢,有个 s 二啊,叫刘科长,胡香长,还有皮龙山,对不对?那这是两个集合,那两个集合我想做交集,对吧?交集怎么办?来,我们可以直接 print s 一, 直接扔跟上一个语字符,然后扔到 s 二,这个呢就表示的是交集啊,交集,来,我们跑一下, 看,皮城山就出来了,上面有一个干扰咱们这个效果的,是吧?来,再跑一下。 ok, 皮城山出来了,那么什么是交集?就是这个里面有的,这个里面也有,对吧?他,那他们两个相交的对不对?那这个是求交集 啊,交集你还可以这样做啊, s 一 点 intersection 来 s 二, s 二这个呢也算交集,它俩是功能是一模一样的, ok, 交集,那并集呢?来 s 一 竖线,那或者 s 二来,这个时候走并集,就把他们两个是不是合到一起了,对吧?合到一起了就是,呃,就是就是就是,他里面有的啊,都都都挪过来他里面,对吧?有的独立的,哎,都给他挪进去,所以呢就形成了这样的一个效果,把两个集合呢合并到一起,这个叫并集啊,并集呢,也有一个,呃,操作啊,在 uni 啊,有你,然后呢? s 二,好了,这就叫并级跑一下啊,一模一样的啊,那还有一个叫叉级呢? print 呢? s 一 减去 s 二叉级什么意思呢?就是这里边有,这里边没有的,来我们跑一下。 好,那刘能和赵四就是从这里边有,这里边没有的,知道吧?这里边就这里边不有个平山吗?对不对?那他平山就干到了啊,干到了他就是这样的一个效果,那就是叉级,叉级,叉级的话也有对应的操作啊,叫 different difference difference f 二 f 二 s 二, ok, 这就是交己病己 x, 很 简单的东西啊,那之所以要讲这个玩意,主要是说我漏了一个支点,主要是为了补充的,叫什么呢?就是集合,他还有一个很重要的一个作用啊,一个重要的作用叫什么呢?可以去除重复啊,可以去除重复。来,我们来弄一下啊 情况下,比方说我随便来一个啊。 s 一 等于随便写点周杰伦啊,还有周杰伦的媳妇昆玲啊,还有周杰伦的前媳妇。前媳妇是谁呀?随便写了啊,对吧?以上内容本人概不负责,还有什么猴 是这玩意吧。好,那么现在我有这个集合了,对吧?先打印一下来, s 一 走没问题,对不对?那接下来我想往里面再加一些东西, s 一 点 a、 d、 d 来把周杰伦再加一遍, 对不对?那讲道理的话应该有俩周杰伦呢?但是对不起,集合里面不存在两个周杰伦,懂啥意思吧?就说两个一模一样的元素是不可能同时在一个集合里的,知道吧,所以我们可以利用这个特性。干嘛呢?来去把列表里面重复的数据给它去掉,比方说我准备一个列表,列表里面来,你给我过来,塞进去 塞进去。这里面是不是重复的数据很多呀?各位来打印一下列表 是吧?很多重复的数据,那我想把这些重复的数据全部都给它干掉的话,如果你用呃算法的方式来做的话是比较麻烦的。那是比较麻烦,那我现在 就用一句话就可以去除掉所有的重复来看着啊。 set 集合,把列表塞进去把列表塞进去,那么此时我的这个这个这个这个 set 集合就会帮我把列表里面所有东西全部干掉。走,别扫了,点错了啊,重来 重来了,看这看所有的重复东西就没了,但是呢,你由原来的是不是列表是不是变成了集合了?那我还想把集合再变回来,我想变回列表怎么办?拿列表再给他套一下就完事了。 记住了,我把我想把谁变成谁,拿谁扩起来不就完了吗?对不对?我把列表变成了赛赛集合,赛赛集合再变回列表是吧?一层一层扩走,你 看最终就变回来了啊。但是这种操作它有一个问题,听好啊,就是去除重复之后的数据是无序的,是无序就不是之前的那个顺序了,知道吧?所以这就是呃它的一个问题,但是去重绝对好用。好吧?去重绝对好用。 ok, 那 这是 set 集合的一个作用以及补充。 好,那接下来咱们来学习一个全新的数据类型,叫字典。这个字典呢是非常非常重要的一种数据类型,我们未来在开发的时候 会经常的能用到,它的重要性一点不亚于列表和字母串啊,所以这个呢,你必须把它掌握的非常非常的好,才可以来我们新建一个 python 零七,那在这里面呢表示字典好。那字典呢?首先先介绍一下啊,字典它的存储方式跟之前的存储方式是有一些差别的,首先首先 字典是以键值对键值对的形式进行存储数据的 啊,这个你一定要呃注意一下,就说就像我们之前讲列表一个个往里扔就完了,对吧?但是呢,字典不是字典,是一对一对一对的,对吧?就好比说我们去 呃存储一个书,就就存个打火机吧,那存个打火机的话,我可以在打火机上贴上一个标签,对吧?贴上一标签,然后我在存的时候呢,来就把这个标签和这个打火机一起存进去,以后我想找这个打火机的时候,我只要翻那个标签就可以了, 知道吧?所以这里面他是存储两样东西,一个是键,一个是值,那么我们在呃存储的时候是键值对,一起存进去,找的时候是根据键来去找这个值的 啊,找这个值的,所以他的数据里面一定是有键和值的,有两项东西,所以我们字典中啊,字典的表示方式基本上就出来了,他是以大括号的形式来存在的,并且大括号里面所放的 元素像,像之前我们讲集合也好啊,讲它我也好,直接这么放就完了,但是它呢,每一项都是一个键和值就是一个标签一个数据,一个标签一个数据,那必须得有标签冒号数据啊,标签冒号数据,那么再往下如果还有其他的标签,那就 k 二, 哎,冒号 y, 然后呢? k 三哎,冒号 y, 它是以这样的一种形式来存储的啊,并且呢,每一个 k y 六之间用逗号开,用逗号开,而 k 和 y 六之间呢,就用哎,这个冒号可开, 这是他的一个存储结构。那我们简单的先去定义一个字典吧,比方说一个字典哎,等于写个括号,那随便写。比方说我这给 y 来给他往里放个数据,叫周杰伦是吧?这很简单,来,再往下我们放上,呃,金金毛狮王好了,金毛狮王是雷神谢逊, 谢谢老爷子啊,谢谢,对不对?那这样的话我们就可以往这个字典里面存了,存进去之后我想往出取,对吧?重点不是说存,重点是往出取,往出拿的话,注意你存的时候是 以键值这么一对来存储的,那么我们取的时候是根据这个键的数据来取这个值的啊,就根据前面这个去找后面那个,那拿的话怎么来拿?我们可以这样来做啊,比如说 v l 等于字典中括号,哎,你一看中括号,你能想到什么是缩引呢?各位, 那所以的话,对于啊,列表而言,对于字母串而言,是不是零一二三这玩意对不对?但是到了字典里面直接是什么?是键,你要把键扔进去,就这玩意把 key 扔进去,对吧?把 key 扔进去,他就会帮你去找去了,对吧?这 y 是 哪一项啊?这 y 是 这一项,好像是这一项的话,把这一项的 y 六返回去,就把周杰伦返回给前面这个 v a l 来,我们来打印一下 来 v a l 右键走,周杰伦就出来了,知道吧?那么还可以找谁呢?找金毛狮王哎,金毛狮王走, 哎,金毛狮王谢旭就出来了,所以他的存储结构或者说是去拿数据的方式啊,跟谁有点像呢?跟那个列表差不?差不多吧,反正用起来感觉差不太多,只不过把那个锁瘾的变成了 t, 仅此而已。所以这地方用起来 只是把锁瘾换成了嘛 t, 哎,就完了。这个就是字典的存储,那么字典的存储的话,他对键和值是有分别不同的要求的,注意这里面字典的 key 必须 是必须是可哈希的数据类型啊,必须是可哈希的,因为它存储的时候是通过 key 来去计算一个哈希值,然后把这个算好那个值之后去存储这两样东西,知道吧?所以这个 键也是要记就是 key 吧,它也是需要进行哈希计算的,所以要求 key 必须可哈希,那可哈希的话就不可变,对不对?那我们来试验一下啊,看看是不是真的是这样来这个东西呢?先给他 注视掉是吧?注视掉好,我们来随便准备一个字典,等于,对吧?我们,呃,上节课讲过这玩意对吧?它是什么?就是可变的,可变不可哈希嘛,所以它不能当 key, 我 强行让它当 key 试一下啊,来打印一下 来字典,你会发现可以告诉看见了吧? unhashable type, 例子说还是同样的一个错误啊,所以这里面它不可以往这放啊,比如说 key 必须是可哈希的数据类型 啊,它的 y 六可以是任何数据类型,放什么都可以。那比方说我现在准备一个啊,点,等于比方说我们写上这么个玩意啊,就是写个谁呢?汪峰,汪峰的儿子,孩子, 对吧?我们知道汪峰的孩子很多吗?好几个啊?好几个,至少不是一个是吧?那可以有孩一,来孩子一,对不对?孩子一,还可以有孩子二。哎,孩子二,对吧?那,那这时候你就会发现我的 y 六是不是放了一个列表啊?那此时我运行一下 程序,没报错,没报错那就是好事,说明 y 六可以放这个里边,对吧? y 六可以放这个里边。所以说我们的字典的 y 六可以放任何的数据类型啊,任何数据类型, ok, 那 这是关于字典的一些基本结构,你先把这个先消化了,消化完了咱们去聊聊字典能不能往里面插入些数据啊? 那能不能从里面删除一些数据啊,对不对?也就是接下来就要来重头戏了啊。接下来是你必须要掌握的东西,就是字典的增删改差,字典的增删改差。 好,那接下来咱们来看一下字典的增删改查啊,特别简单。首先呢,我先造一个空字典,对吧?空字典你可以这样造,也可以呢,这样造,好吧,你随意,你喜欢哪个就用哪个。 ok, 我 们这样来 弄了一空字典,往字典里边呢,想插入数据,怎么放呢?特别简单,直接字典转换号,然后给上一个 key 就 完了。比方说 j y, 好 吧,直接等于谁呢?随便放,你 y 又没有没有要求嘛,比方说放周杰伦,哎,周杰伦对不对?那这个时候我们来去看一下,来字典 走,对吧?这个 j y 等于周杰伦是不是放进去了,特别的简单,你就他基本上没有什么硬性要求啊,一等于一二三,这都行,哎呀,点错了啊,走 看也能放进去。所以说往字典里面放东西,直接一个中括号就行了,但是你一定要切记啊,这里面有一个坑,坑啥呢?如果说我这么干 j y 等于亏零, 哎,此时这个程序就就就跟你想象可能不一样了,我们在这一步的时候,是不是已经把 j y 当做 key, 周杰伦当做 y, 有 时候存字典里边了,对吧?然后我又存了个一一二三, 再然后我干了个这么个事,我说 j y 又等于昆凌,对吧?你发现这俩 k 是 不是重合了?各位,那重合的话,注意,在字典里面是不可能出现重复的 k 的, 不可能出现重复的 k 的。 当后面再往里面加入一个新 k 的 时候,他发现原来有这个 k 了。好了,那他就直接把昆凌把盖到周杰伦身上, 这画面有点怪是吧?就光灵把周杰伦就盖住了,明白啥意思吧?就相当于你把它做了一个修改操作。注意啊,此时字典中已经有了 key, 叫什么?有了 j y 当 key 了,对不对?那么此时 执行的就是修改操作了,知道吧?来,我们看一眼啊,字典你看, 看见了吧,哎,就把前面那个周杰伦就盖住了,知道吧?所以这个东西东北有一句话叫什么呢?叫先胖不算胖,后胖压倒胖,对吧?道理差不多,就是后面那个,把前面那个就就就抹掉了,对吧?就做修改操作了。那这个是字典的新增和修改, 简单吧?特别简单,是吧?特别简单。那字典的新增呢?还有一个操作也可以执行新增操作啊。字典中括号,比方说,我放一个呃 sorry 字点点儿叫 sight default 啊,我放个 key, 比方说,呃, tom, tom, tom 等于谁呢?等于胡辣汤啊,胡辣汤,哎,这个时候,哎, sorry, 我怎么这么写代码,我天,脑子光想胡辣汤了状态。这个时候我们再去执行打印这个字典,你会发现,对吧?又多了个 tom 叫胡辣汤。但是呢,这个 set default 它的含义呢?是设置默认值,听好啊,它的真实含义叫设置默认值,对吧?那么如果说它以前已经有了默认值了, 对不起,你这个 set default 就 不起作用了。如果以前已经有了这个 set default 就不起作用了,知道吧,所以他俩就是很容易混啊,各位,很容易混就是 set default, 你 就记着设置默认 default 吧,默认,对吧,你已经有默认值了,还给你设置什么玩意,对吧?它就它就不管用了,知道吧?所以此时你会发现我空空呵呵哒,来走 看着吗?还等于胡老坑,懂啥意思了吧?就以前他已经有这 k 了,那你再放就不好使了,知道吧?这不一定非得说是。呃,就是就是,塞里后头啊,你字典里面以前有了,比如说我放在这以外来 看着没有任何效果的。没有任何效果,因为以前已经有这以外了。你再设置默认人家都有了,你还设置个毛,对不对?所以这个东西啊,一定要小心,他有一个坑啊,他有坑, ok, 那 这就是字典的新增,还有这个叫什么修改,对吧?然后呢?这也是新增了,然后我们要聊聊字典如何进行删除 啊。删除字典的删除很简单,字点点 pop, 没别的玩意 pop 啊, pop 的 话你要删除你得给什么?给 key? 根据 key 去删除,那这个是一个硬性规定,比方说我把 j y 扔去, sorry, 我 把 j y 扔去,对吧?那此时呢?我们再打印一下字典来走, 看到吧,这个 j y 就 没了啊,就被删掉了,所以它这个 key 很 关键啊。来这地方是删除操作啊,根据 key 去删除啊。这个就不推荐了,比方说 delete 啊,对, python 的 一个表达是 delete 字典中的谁?这个这个这个这一 y, 好 吧,这也能删除?这也能删除,但是不太好吧。啊?不太好。我建议的话,如果你这样删除的话,就 pop 就 完了啊, pop 就 完了, ok, 那 增删改,最后还差个什么?差个查询,查询的话应该不用聊了。那查询 这个直接就是通过字典里面的那个 k 去查询吧。这个就他被删了是吧?先不删啊,先不删,先留着,我得用它呢,是吧?好,这一来走,对吧?直接就是字典的中文号是吧?就能查到这东西,然后这种方案可以,还有一种方案也可以做到查询的操作,比如说字典来点 get, 那盖小 t 也成。走,那通过 k 去找那 y 吧,是吧?找那 y, 不是 k, 这 y 啊,这 y 不好使,是吧?两个就就都可以直用查询操作,那么真正在实战的时候,我们到底应该用哪个呢?那么就可以涉及到下一个问题,各位看着啊,我弄到鹅子了,走走走走, 对吧?为什么搞这么长?因为这个 key 不 存在,对吧?这个 key 也不存在,对不对?那我们运行一下啊,走好,你就发现成绩报错了,把上面这个打印全都干掉啊,我把打印全都干掉, ok, 全都干掉,不要让他们来影响咱们的程序。来。走,各位请看,不直接报错了,他说 j y, 我 写幺零零幺零零幺零,要不然看的不清楚,幺零零八零,好吧,走, 来这一歪,幺零零幺零,不存在,不存在,干嘛说给你报个 k l l, 那 么你错误,对吧?所以这种方案它有一个很大的问题,如果 k 不 存在,那么程序会报错啊,如果 k 不 存在,程序会报错,那么下面这个会不会这样呢?实验一下, 哎,不会,对吧?程序返回来个什么?返回来个那来,各位,如果 t 不 存在,程序返回,那不报错,对吧?不报错。那么通过这你应该能猜到,是吧?肯定是这个,好啊,这玩意不报错,对吧?不报错,但是 很不幸,我告诉你,上面这种情况也好,下面这种情况也好,他们两个使用的频率啊,他们的频率几乎一样高,几乎一样高。为什么这样呢?因为我们绝大多数情况下是知道 key 是 啥的, 懂吗?绝大多数情况下我们是很确定的知道 key 是 啥的,所以上面这个你可以直接用,你都确定有那 key 了,你为啥不能用?对,写起来简单,少写好几个字母呢,对不对?所以这个时候你一定要一定要切记啊,上面这种情况什么时候能用?就是当你确定你的 key 是 没问题的 啊,当你确定的 key 是 没问题的,那么可以知道吧,我们后面就你就发现了,基本上我在写代码的时候,这种情况用的会非常的多啊,非常多,因为我很确定我 key 是 什么东西,而且呢,不会有问题,那我就可以用这个,那下面这个什么时候呢?当你不确定你的 key, 哎,可以用,可以用啊,这个呢,就得是现场,我们遇见那些个不确定 key 的 时候,我们可以利用这个东西,知道吧?好,那接下来我们还要讲一个东西,既然说见到他了,是吧,咱们就得聊聊这玩意市场, 哎,这玩意是啥?头回见,是吧?这东西叫那叫空空,聊什么呢?叫什么都没有,他连空气都不如他连空气都不如。并且这玩意呢,很特殊,他是 python 的 一个关键字啊,你看这颜色,你看这颜色,他就不一般,对吧?来,打印一下 a, 哎,这就是个囔,那么他是什么类型呢?那对吧,这鬼东西什么类型呢?走,来看囔,太空类型,所以空单独的还是一个类型,那么也就是说这玩意听好了,啥他都不是,你可以看一下囔太吧,里面什么都没有,他什么操作都做不了,知道吧,他不能做任何操作,所以他 单纯的就是图啊,白纸一张,什么都不是,什么都不是表示没有的意思。 sorry 表示你没有的意思。那有人会问的对吧。你写个 s 等于这玩意这不也是空吗?但不是,这是空字串这是字串。字串能干嘛?你能 replace, 能 start with 这些操作你都能做知道吧?空能干嘛?空啥也干不了。空点 看到吗?啥也干不了,但是如果你非得强行去点什么什么玩意的话,这地方百分之百报错,那都 看见吗?这地方百分之百爆锁,因为空滤芯它是不能干任何操作的啊。空连空气都不如,空气还能呼吸呢,它啥都啥都啥都不能干。那么为什么拍伞要设置这么个东西呢?就是为了应付这种情况,你给他 key 他 不存在不存在。我找不着 y 六啊。没有啊兄弟。没 y 六没 y 六怎么办。那我就得返回个 n 给你 知道吧,要不然的话我就得干嘛就得报错。对,那程序报错是不还是不不是很人性化的对吧。不够人性化,所以这个地方我们拍程序啊就设置了一个全新的词等那来去应对这种情况的发生啊应对这种情况的发生。我给你举个很简单的例子啊。我给你写个。写个例子吧。 那写个例子来表示一下这个浪到底什么用。比方说啊,我现在有个字典。好吧,字典字典里面呢?有咱们村的一些人哎。那赵四吧,赵四赵四特别能歪嘴好吧,这是我们村的第一个大户人家是吧。第二个刘能。 刘能。刘能每天能干嘛呢?就是老老四啊是吧。然后再来个大脚 啊。大脚天天干嘛呢?天天跟这个和那个搞对象啊。搞的就是,反正是很乱啊。再来一个。嗯, 下山还有谁比较厉害?大脑袋,好,大脑袋。大脑袋能干嘛?大脑袋,就就就就就就就就就。 瞎折腾吧,实在不知道怎么形容他了。好,这是我们村几个人,那接下来我让用户去给我点名,对吧?让用户点名来 input, 请输入你想知道的我们村的人的名字。哎,你给我输入一名字,那这块来来个名字是吧?你给我名字之后,我来告诉你他们的特点是什么,对不对?那接下来我是不是直接上字典里面找的内容就可以了?哎,一切都很顺利,看到我们就直接可以是 v l 等于字典去点儿 get。 get 什么? get 这个 name 啊? get name。 那 么想象一下,如果用户输入的这个名字恰好是赵四,刘能大脚大脑袋,是不是我就可以继续给给他进行展示了,对不对?展示了就可以了,但如果说他输入的这玩意驴唇不对马嘴,他非得给我来一刘老根, 对吧?来,刘老根。刘老根,哪有啊?没有刘老根,没有刘老根。你这个程序是不是就报错了,对吧?那你程序报错的话,对于用户的体验肯定很不好,你没人就没人吧,对吧?这这这,没人,不能给我,不能给我报错呀,对不对?但是,哎,你,你现在有了 get, 有 了 non, 它就不会报错了。比方说,哎,我,我先来个正常的啊,赵四 那嘴特嘴,嘴特别能歪,那再来一个,我非得来刘老根,我不服。来,刘老根,返回个,那,对不对?那么他返回,那我就有办法干嘛呢?去做判断嘛,对吧?如果你的 v l 怎么办呢? it's not。 你输入的这个 v i, 你 返回的 v i 如果是浪的话,那就没这个人吗?对不对?我们村没这人还不行吗?来我们村没这个人,对吧?给用户一个友好的提示,否则的话,来这个时候是不是就可以打英文的外着了?哎,你这个程序写起来是不就更顺了?来,赵本山,走,我们村没这个人对不对?所以你会发现, 有了浪的存在,会让我的程序的流畅度会更高,对不对?那你要想象一下,如果这个地方直接这么干,直接这么干,对吧?好家伙,你直接这么干来走 皱纹身,你成绩什么反应?没反应呢?哐,击报错了,对用户来说很不友好,所以囊的作用能明白了吗?啊,所以这个东西很有用啊,很有用。 ok, 写回正常的写回正常的。 ok, 那 这是我们要聊的关于什么呢?关于这个, 呃,字典的查询的一个基本操作啊。好吧,那么下一集我们接着去探讨字典的如何进行循环便利,对吧?如何把字典里面所有东西过一遍,对不对?以及字典还有哪些其他的操作呀,对不对?我们下一集接着说。

pasa 实操第一节 pasa 解释器的安装,大家好,今天呢带大家来安装一下我们的 python 解释器,在这里的话呢,我们已经准备好了 python 解释器的安装包,那当然呢,大家也可以在官网去进行一个下载, 我们双击点击安装包,我们可以看到它会出现两个对应的选项,在这里我们注意一定要点击这里对应的 a, d, d python 三点一零 to pass 这个选项是非常重要的。然后呢我们点击制定安装, 这里不要勾选任何东西,直接点击 next, 好, 在这个位置我们可以去进行一个对应的选择,选择我们自己的安装路径,我就不进行选择了,点击 excel, 然后呢等待加载进度条的一个加载 好,当出现这个界面的时候呢,就代表我们的 python 显示器已经安装完成了,那我们就可以点击 close 关闭。之后呢,我们如何验证我们的 python 显示器是否安装成功,是否可以使用呢? 在这里我们可以在我们的键盘上面输入 win 加 r, 然后呢再输入一个 c, m, d 回车。哎,我们会得到这样的一个黑色小方框,那我们得到这个黑色的小方框之后呢,在里面输入 will python, 或者直接输入 python, 就 可以直接进入到当前安装版本的一个 id 界面,在这个界面里面我们就可以书写我们的代码了,在这里呢我们输入 print, 然后呢括号一 好回车。你看代码是在正常运行的,那如果说我们现在去使用一些日常的代码其实是足够的,但是呢,如果我们要真正的去完成一个项目,这个东西它是完全不够的,所以说下一节我们将会去安装对应的拍档。

逼自己一个月学完你的 python 就 牛了,全程干货,无废话,全五百六十八级,学完即就业!警告,本系列视频耗时五个月制作,制作时长四百八十分钟,从零陪你系统的学习 python, 这应该是抖音目前最良心的 入门到进阶的拍损保姆级教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍丧从零到一的学习计划表,几十上百期素材,书籍、课件等等,只要你能想到的素材,我这里几乎都有,评论留言,六六六即可全部免费打包带走,相信我,这套拍丧即可素材将会是全网最齐全,是一等的小白专用课。 如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍档的小伙伴看到这个 bug 啊! 说拜次之前还得再说一个事,就是我们上一节所讲的所有的编码,我们能发现一个规律,就是所有的文字符号最终都可以变成字节, 对吧?不论是二次码, g b k、 unico、 u t o 八,所有东西最终最终指向的单位都是字节对吧?也就是说,我们程序员记住一个事啊,我们程序员平时遇见的所有的数据最终归宿啊,或者最终的呃,单位都是字节, 就这个 bug 啊,字节 bug, 八位八个零和一八个零,太散了,散都不能再散了。所以呢,就整理出一个字节类概念。那么 接下来你要记住我们以后所涉及到的,比方说啊,我们传输一张图片,我们传递一个视频,播放一个视频,那这个时候用到的单位全都是字节,所以你基本上可以认定啊,在 呃,程序员我们平时遇见的这些个基本的数据单位里面,自己人你可以认为是最小单位了,基本上可以作为最小单位来进行处理。我们读图片也好,我们去下载视频也好,都是以自己人为单位的啊。好,那接下来我们来看一下这个自己人这个 bug 到底是个什么玩意,是吧? b y t e 啊,这个是自己人,带个 s 呢, 一堆字典,哈,一堆字典。好,那接下来我们来去跟各位去演示一个事啊,演示一个事,比方说我现在有个字母串啊,里面随便放一些个文字符号,比方说周杰伦, 那接下来我想看看这个周杰伦在计算机里面如果真的进行存储的话,对吧?我把它变成 gdk 或者变成 utf 八的话,对,会长什么样?那我们就可以这样来做,我们可以来个 bs, 等于 s 点叫引扣的 啊,进行一个编码,进行个编码,这不我的文字符号吗?我把文字变成是吧?给它进行一个编码,变成字节的形式。那我这个时候比方说我用 g b k 进行一个编码好了,给它起个名啊,叫 b s, 一, 打印一下 b s 一, 对不对?来走 来,我们看到一个这玩意,一个 b 开头的,然后一个引号后面是个引号,中间一堆杠叉杠叉杠叉,什么什么东西?那这里面你就要知道一个新的数据类型了啊,这时候出了新的数据类型了,这个 b 开头的引号里面放的是一个东西,对,这种东西叫什么呢?叫 buys 类型,叫 buys 类型。那么在这里面每一个杠叉,好吧?每一个杠叉都是一个字节儿,都是一个字节儿,那么这里面一个字节儿,两个字节儿,三个 字节,是吧?然后是四个字节、五个字节、六个字节,也就是说周杰伦三个字转化成 g、 b、 k, 用 g b k 进行编码的话,是六个字节,一个字俩字节,来看,下面没讲错吧? g b、 k 俩字节对不对?那么接下来如果是 utf 八呢?那 b s 二等于 s 点引扣的, 对吧?转换成 u t f 八什么样?来,我们看一下。 b s 二走也是自己人,对吧?一个、两个、三个、四个、五个、六个、七个、八个、九个, 对吧?三个字变成了九个自己人,那 g、 b、 k 中文一个字仨,自己人仨字不就九个吗?对不对?所以这个地方啊, u t f 八跟 g、 b、 k 是 两种不同的字节编码,那我们来把它们分别进行输出 走,一个长这样,一个长这样来,我问你,这玩意你想直接转化成这样,是不是转化不了的, 对吧?这个驴唇不对马嘴的,因为你这边两个对应的这面是几个?是不是三个呀?对吧?驴唇不对马嘴的,所以这个你没办法直接转化,就像我说的你,你拿我军的密码本来退一个东西,对吧?然后想直接就是我军的情报,直接翻译成敌军的这个这个情报,那不可能的,你必须得经过一个文字的一个转化啊,必须经过一个文字的转化。所以接下来的问题 又来了,来,怎么把一个 g、 b、 k 的 内容啊字节转化成 u、 t、 f 杠八的字节,哎,怎么进行一个转化?那我此时我是不得先有一个字节啊?对,那 g b、 k 的 拿过来,哎,你是 g b k 的 拿过来,来 b s 等于 对不对?这是 g b k 的 我,我刚复制过来的,对吧? g b k 的, 那接下来怎么转换呢?注意第一件事,先变成文字符号,就说白了,变成数字串 啊,变成字母串,那变成字母串的话怎么去变?那 b s、 d r 叫抵扣的,你上面不是引扣的吗?叫编码,这叫什么?叫解码?好吧,这叫解码来解码。解码的话,你用什么编的码?你用的哪个哪套密码本进行编码,是不是用的 g b k 啊?所以你解码得用 g b k 进行解码, 哎,用我方对吧?我,我军密码本先解码,解码成正常的文字,对不对?我们看一下这个文字正不正常,哎,变成正常的文字,哎,没问题,变成正常的文字之后,接下来,接下来还得干嘛?是不是我最终的目的先给它变成 u t f 八呀?咱俩把文字再进行一个,敌方密码本的一个, 是不是再编码一次?对,接下来,编码嘛,来, b s 二,等于 s 点,那么引扣的 u t f 杠八,来, ctrl b s 二走,来吧,一二三,这是周杰伦,不怕,周杰伦就注意了,所以这个时候我们就可以啊,就是把一个 g、 p、 k 的 编码变成 u t f 八的编码来重新对,好,那么接下来你要记住的其实就是两个操作,对吧?两个操作,第一个操作, 哎,这个第一个操作叫引后的字母串啊。点引后的,这里面放什么编码呢?编码 对不对?这个是进行进行编码,然后第二个你要记住的是自己点引后的, 这是进销解码啊,这两个操作你要记住这两个操作你要记住。那么这里面我们平时能够遇见的编码就两种,一个是 g p k, 一个是 u t f 八。 g p k 不 用说,咱 中国人的国标码,对吧?那你肯定用的是最多的,然后 u t f 八,现在对于程序员而言,最多最多最程序员啊,用最多的是 u t f 杠八。好吧, u t f 杠八,对于不懂电脑的人而言,他们平时写的那个 windows 里面默认创建个电子书, 对吧?默认写上文字,哎,基本上都是 g b k。 但是呢,我们程序员想生成一个文件,文件用什么编码啊?基本上都是 utf 杠八,哪一条我杠八。所以这个时候你要切记,等后期啊,后期我们在做网络爬虫的时候,你就会发现, 哎,从网站上抓取到的数据,我存到这个文件里面,有的时候会出乱码,为什么会出乱码?就是因为这个原因啊。你,你拿敌军的密码本来翻译我军的文字不行, 对吧?拿拿拼音看本翻译,我觉得文字不行,所以呢,你必须得找对那个编码给他设置进去才可以 啊,找对那个编码给他设置进去才可以啊。 ok, 那 这是关于啊 bios 各位要去了解的一些东西,还有一些东西呢,就是这是文字上的啊,还有一些个视频上的,图片上的那个我们后面讲的文件操作的时候,再跟各位去去聊啊,再跟各位去聊,然后还有最后一个事,还有最后一个事,这个事呢, 不是很重要吧,就是简单了解一下,知道有这么个东西,那把这个注示一下啊,还有这么一个东西,比方说我现在准备一个 b s 啊, s 吧,等于你好 abc, 呵呵哒,好了,接下来注意看了 print, 我 直接打印了啊, print s 点印扣的, 来走看看啊。你好,两个字来,你好, 看到了吧这是?你好,两个字,六个字节,然后 a b、 c, 看到没有 a b、 c 就 正常输出了。为什么 a、 b、 c 可以 正常输出呢?因为之前我说了 u t f 八,各位, u t f 八它对于英文 对吧?英文,咱上头说英文几个几个字节?一个字节,一个字节是不?二十个二十个码,二十个码是可以正常显示,对不对?二十个码是可以正常显示,所以这个就是一个字节,这个就是一个字节,这个就是一个字节一个字母,对吧?然后这又开始到中文了,中文又是仨了,懂我意思吧。所以这里面会有这样的一个现象啊,你数的时候不要不要迷啊,不要迷, 就有这样一个现象,记住就可以了。英文原来是什么还是什么?好吧,比方说,走 还是这玩意,因为英文一个一个一个一个字到这面就是一个,一个, b 就是 一个, c 就是 一个。好吧,那如果是 g b、 k 呢?我跟你说 g b k 也是这样。来,又给你解释下为什么看了,为什么 g b k g b k, 你 不说是两位吗?哪去了? 哪去了?这这呢?这呢? g b、 k, 你 不俩字节吗?但是没关系啊,俩字节 a a。 假设是,我去给你找一下啊,字母 a, 字母 a, 字母 a, 字母 a, 字母 a。 来是这样子的,看能不能粘出来啊,不太确定来,字母 a 是 这样的。好吧,那到了 g p、 k 里面是不是就是噔噔噔噔噔噔噔,说这玩意,这玩意,各位,你如果是正常的一个数据计算的话,这玩意是不是可以省略,对吧?它跟这玩意有区别吗?各位,它跟这玩意有区别吗? 这没区别呀,所以这个时候我们英文其实就符合阿斯和马的这道标志的东西,到哪都能正常显示,好吧,到哪都能正常显示,所以这个东西,呃,不用迷啊,不用迷,你就记得抵扣的是 解码,引扣的是编码,然后我们常用的字赋级就两个,一个是 d p k, 一个是 u t l 吧。好吧,理解这俩文就可以了。 ok, 那 关于 bug 呢,咱们大概就说这么多啊,后面我们进行文件操作呀,网络传输啊,才会再重提这些玩意啊,现在呢,只是初步的了解一下就成了。好吧, 好,那接下来咱们来看一下运算符,其实在之前的学习当中,我们一直在用这个运算符,只不过没有系统的把它拿出来讲一下。完了,咱们到了这个时间点了,到了这个该讲的地方了,把它聊聊。那第一个我们要聊的什么呢?叫算数运算啊。第二个呢,叫比较运算 啊,第三个呢,叫呃负值运算啊。第四个呢,咱们来聊一聊这个,呃,叫逻辑运算 啊。然后呢,最后一个我们来聊一聊成员运算啊,其实大部分都讲过,也大部分都用都用过,对吧?第一个看嘛,这个算数运算很简单,我们平时加减乘除啊这些玩意,对吧?然后有一个关键的就是这个百分号,它呢表示的是计算余数, 哎,计算余数,比方说我这边来个 a 等于十, b 呢?它等于三,我们知道它除不开,对不对?那这个时候就可以啊, c 等于 a, 余胜啊,余胜, b 来,这个时候就算 a 除以 b, 除完之后的结果,那我们上过小学应该都知道,是吧?十除以三等于三,三是商,然后呢?于几啊?于一,对不对?那我们来看一下吧,来,冲进去, 来, c, 走你啊,余数是一,那这个余数能干嘛呢?各位?他可以来帮我们做一些判断,比方说让用户随便输一个数,哎,我想判断一下这个数呢,是不是三十五的倍数, 哎,是不是三十五的倍数?那这个时候我们就可以用到这个余数,比方说就这就拿这个需求吧,让用户输入一个数字,那判断是否是三十五的倍数, 对不对?那如果说按照我们手工人工来算的话,对吧?你假设输的是这玩意对不对?你还拿它去除以三十五,看看有没有余数,有余数它就不是,对吧?没有余数它就是对不对?所以很简单,我们人人的这个逻辑转化到计算机身上的话,也是一样的道理,对吧?来,先输入一个数字吧, 啊,说一数字,并且呢,这数字一会我要做预算,所以呢就转换成了 int, 来,来个数好了,来了个这个数之后,啊,我要判断一下,如果怎么办呢?你这个 n 来余上三十五,怎么办呢?如果它等于等于零, 不就没有余数,对吧?等于零就没有余数,所以这个时候我们就可以知道啊,这个是三十五的倍数, 对不对?你没有余数肯定是倍数,那否则就不是三十五的倍数,哎,这玩意就可以这么用,来个数,嗯,走啊,不是三十五的倍数对吧?嗯, 这个对吧?是三十五的倍数,对不对?所以这个东西就经常用法,就是这样的逻辑啊。那这个是余数,有余数的话就得有商吗?你一个完整的除法,有余数不行,还得有商。那这个商怎么算呢?商的话是这个东西, 这个东西,这个叫两个,两个,两个除法放一起啊,叫整除啊。这还有一种人管他叫地板除,都是一个道理,只是计算整数。那比方说我们把这个干掉,换成来个 d, 等于表示 a 除 b, 来,这个时候我们来打印这个 d 啊,打印这个 d, 你 给我注视一下啊,跟他没关系了呦, 总会出现一些误操作啊。那这个是余数对吧?那第二个呢?就是这个商,就是三,我可以改一下啊,因为这个这里面有三了,容易让你产生误解,来,这个,这个对吧?二十除以三,整出去的话应该等于六, 现在六,二十除以三,等于是六二,是吧? ok, 那 这个是整除,又叫做地板除啊,了解一下就可以了。那这个余数的记答,余数后面会有,然后再往下比较。匀算什么?是比较,比较两个变量的值是不是一样啊?是不是这个比那个大呀?是不是这个比那个小啊?就这么个比较匀算,比方说大于 啊,小于,大于等于,小于等于,是吧,还有什么呢?这个,这个等于和不等啊?之前没怎么聊。这个两个等号放一起表示的是判断左右两端是否一致啊,判断左右两端是否一致,来这个地方,嗯,就是这样, a 得二十。好了, print a 等于 b, 注意这地方走, 看见了吗?他给你报错了,知道吧?一个等号不是做条件判断,俩等号才是。这个几乎在所有的编程语言里面全都是这个逻辑啊,它计算的结果是触碰了 false, 是 吧?所以这个地方来二十走, 哎, a 等于 b 是 正确的,所以这个两个等号是做条件判断,一个等号是干嘛呢?一个等号是做负值计算,知道吗?这一个等号是负值用的啊,一会再说他那还有一个不等,不等于,就是左右两边是不是不相等啊? 哎,看到这东西啊,左两边是不是不相等啊?哎,相等的,所以它是 pos, 对 吧?那就就跟刚才那个正好相反的意思是吧。叹号等于,这个叫不等,了解一下?这个用的比较多啊,其他的用的还是比较少的,其他的也很好理解,是吧?再往下就复制运算,复制运算第一个要讲就是这个等号,这个等号很关键的。 这个等号很关键,那 a 等于三十,那 b 等于四十。好了,接下来,接下来我想,呃,让你干嘛呢?让 a 和 b 的 值进行一个互换啊?进行一个互换,咱们先不考虑。呃,这个,这个,这个,这个, python 的 一个一个一个特殊的写法,咱就直接想换啊。按照我的逻辑的话, a 跟 b 互换嘛,对不对?那就赋值呗,把 b 的 值先扔给 a, 然后再把 a 的 值再扔给 b, 是 不就完了, 对吧?左手右手,左手一只鸡,右手一只鸭,想互换的话,对不对?就把左手这个鸡扔给右手右手,把这鸭扔给左手,不就完了吗?对吧?正常的逻辑应该是这样的,对吧?来, a 得 b, b 得 a, 来 print a, print b, 好 走,看了都变成四十, a 没了,原来的三十没了,对吧?为什么会这样呢?你要注意了啊,各位, 如果你按照这个逻辑去走的话,它一定会出问题的。比方错了,我给你画个图看着啊。哎,这里面呢,它是 a, 它是三十,对吧?好了,再来个 b 来,这是个 b, b 里面呢,是四十,对吧?好了,接下来 a 等于 b, 注意,等号的意思是赋值,是把等号右边变量的值赋值给等号左边的变量,那也就说把 b 的 值掏出来扔给,扔给 a, 那 a 的 话,这 里面原来的数据是不是被抹掉了,你就可以再见了,你也可以再见了,就变成了多少呢?四十,四十, a 跟 b 的 结果一模一样, 对吧?再往下看, b 的 a, 把 a 的 值呢?再扔给 b 身上,对吧?把 a 从 a 里面拿出来,再复制给 b 好 了,把 a 的 值复制给 b, 那 这 a 的 值不是从 b 来的吗?它俩一样,对不对?所以不用管,不用改,所以接下来再打印 a 跟 b 是 不是四十, 对吧?都是事实的,为什么会这样?你想,你想象一下啊,这是你,对吧?左手一只鸡,右手一只鸭啊,一只鸡一只鸭, 好了,接下来你想做互换,好了,你把这个,我这个符号有点多啊,左手一只鸡,右手一只鸭,好了,你想让他俩做互换,你直接把这拿过来扔过去,对吧?附职嘛,把这个附职扔过去,那原来这个东西是不是就就就撇了,对不对?然后你再把这个东西呢再扔过来,那两边不就一样了吗? 对不对?两边就一样了,因为你在第一步把这个数据扔过去的时候,这个数据原来的数据被抹掉了,就相当于把那个鸭给撇了吗?对不对?所以怎么办?这个事才是 ok 的 啊,我们需要记住这样一个词,你知道吗?左手一只鸡,右手一只鸭,那我可以先把左手的鸡放桌子上, 把右手的鸭扔给左手,然后右手再从桌子上把这个鸭拿起来,那把这东西拿起来,所以这个时候需要一个中间变量来做这个事情。 什么意思呢?看着啊,不能这么不能这么草率的干啊。准备一个中间变量,准备一桌子,这桌子呢,暂时先把 a 存起来,然后再把 b 的 值扔给,把 b 的 值扔给 a, 对 吧?因为 a 的 值有备份嘛,对不对?这有备份呐, 对吧?有桌子有备份呢,放起来,对吧?所以把 b 的 值扔给 a, a, 这里面虽然被清掉了,但是我有备份,那接下来干嘛呢?从桌子上把那个备份好的出 a, a 数据再扔到 b 手上,所以 b 值 t m p, 对 吧?好,再走啊。四十、三十是不是就完成了一个互换了?所以这里面做互换。注意啊,我说的是其他编程语言里面只能这么办,这是一个标准的互换操作 啊,标准的互换操作,其他语言在 python 里面可以怎么办?也可以不这么搞。 python 里面有一个简单的操作,你不 a b 想互换吗?好了, a 逗号 b 等于 b 逗号 a 就 完了。哈哈,什么意思呢?把 b 的 值扔给这 a, 把 a 的 值扔给这 b, 就 完事了? 看到吧,就完事了啊,这个到底是个什么含义呢?这个之前聊过,这是解构对吧?咱们聊字典的时候,学会一个叫解构,把后面的数据它本身是个圆组啊,这东西本身是个圆组,那把圆组里面的 b 扔给这个东西,把圆组里面的 a 扔给这个东西,知道吧?所以在这个时候你发现 python 比别的语言要简单多呀。对,下面代码仅适用于 啥意思啊?互换啊,互换好了,那这个是负值操作,你要掌握第一个事,就是这个等号,它表示的是负值,不再是作比较了啊。跟我们数学上的一加一等于二,不是这个不是这个东西,那再往下 还有什么呢?加等于减等于啊,乘等于,后面就不写了,就是把上面那个预算后面都加上一个等于那个,什么意思呢?加等于。来,我就给你说一个事,你瞬间就能秒懂。 a 加等于 b, 相当于 a 等于 a 加 b, 对吧?就是把 a 加 b 的 结果重新就先做加法吗?把 a 加 b 的 结果算出来,重新再赋值给这个 a, 行吧。所以呢,就这俩玩意最终表示的效果一样,最终运行的结果也一样。区别就是他少写一个字母 a, 那 就少写一个字母 a。 所以呢,你随意,你喜欢哪个用哪个。好吧,你用下面这个不丢人啊,喜欢用,喜欢哪个用哪个。比方说之前我们讲过一个从一加到一百的一个程序,对吧?当时我是这么写,这么写的 来, n, n 等于一,可以吧?然后呢? sum 等于零,是吧? while, 当 n 小 于一百的时候,小于等于一百的时候,然后干嘛?是不是 sum? sum 等于 sum 加上的 n 得加起来吗?然后你 n 还得跟着变呢, n 等于 n 加一,那么这个代码就完全可以做一个替换,比如替换成 sum 加等于 n, 对 吧?下面这个也一样,就可以把它替换成 n 加等于倒一次,就结果都是一模一样,没有任何问题。好吧,你可以回去试一试啊,可以回去试一试, ok, 那 这是负值预算,再往下呢叫逻辑预算啊,逻辑预算,那么逻辑预算呢?咱们下一小节再说吧,已经十来分钟了,下一节再说,这个呢,比较重要,也比较好玩。 好,那接下来咱们来看一下这个逻辑预算啊,那逻辑预算呢,在我们以后的开发的时候,用的会特别的多啊,因为它会有效的减少我们使用 if 条件判断的那个层级啊,会有效的减少这东西。 那咱们先说一下吧,这个逻辑预算有大概这么三个,第一个呢叫 and, 第二个呢叫 o, 第三个呢叫非啊 not。 那这个案子的它的含义先跟你说一下啊,含义呢叫,并且你就翻译的时候就把它翻译成,并且,然后去理解它的意思。那比方说 啊,我想打游戏,那我需要有一台电脑,并且呢得有电,并且呢得有这个啊得有网,并且呢我得有账号, 并且呢妈妈让我玩,对吧?所以这几件事情同时成立,你最终的这个结果才能是成立的结果,对不对?所以按的它的含义很简单,就是左右两边同时成立,结果才成立,那这是它的一个特点啊,比方说我这个地方 啊,把这个注视掉之前的代码来逻辑预算,比方说我们可以这样做啊,比方说 true and false, 对 不对?那这个结果很明显有一个是假,那结果呢?就是假,好吧,就是假,只有两边都是真 好了,你的结果才能是真啊。比方说我这地方 and true and true and false, 好 吧,那结果呢? 就是假,对不对?因为它有一个假,那结果就一定不是假,知道吧?这个是呃 and 它的含义叫,并且那再往下哦,哦呢,叫,或者哎,或者,或者是个什么含义?比方说我想回家, 那我回家,我可有好多种方式啊,我坐飞机回家,或者坐公交回家,或者坐火车,或者坐公共汽车,再或者开车,这几件事里面,这几个条件里面有一个成立,我最终是不都能到家,对吧?结局都是 ok 的, 所以他的特点就是左右两边有一个成立,结果就成立, 知道吧?只要一个 ok, 那 就结果就是 ok 的 啊。比方说很简单来,就得全换成哦 啊,全换成哦。好了,此时结果一定是成立的,因为在在这个地方其实就已经能够能够得到结果处哦,吧啦吧啦,你随便凹去,对不对?他一定是处,所以这个东西就是,呃,就是有一个成立,结果呢?就成立啊,比方说我再整个极端点的啊, 这样这样这样也 ok 啊。假没关系,看下一个真,不用算了,一定是真,对不对?所以只要有一个成立结果就是真, 这就是呃 odd 含义,那 not 呢?更好理解它呢?叫非叫非。什么叫非呢?叫非真即假,非假即真啊?就举个很简单的例子,你兜里有一张一百块的钞票,你的一百块的钞票,不真 那就是假呀,不假那就是真呐,对吧?所以 not 就是 不啊非啊。那比方说简单举个例子吧。很简单的例子啊, not 属于不真嘛。走不真就是什么就是假呀,对不对?不不假呢, 就是真啊,不假就是真,所以这个东西也很也也也很好理解,是吧? ok, 那 这是逻辑预算啊。逻辑预算单独的用起来呢,用法也很简单,比方说我想让你给我来一个用户登录,哎,我让你去给我模拟一个用户登录在这啊, 来模拟用户登录,那比方说你得输用户名吧,对吧?来用户名,哎,用户名还得有密码吧,来 密码 password, 对 吧?用户名密码,然后做条件判断嘛,如果你的用户名等于等于 what's mean, 并且你的 password 等于等于 一二三四五六。好了,我认为你登录成功,对吧来登录成功。当然我这个只是一个模拟啊,就真实的情况下这个用户名密码不可能这么存的啊。那再往下,否则登录失败 来试验一下吧。走你用户名我的命 password 一 二三四五六,走,对吧,这就登录成功啊,登录成功。那如果说走 用户名我输入的正确密码呢?不正确,那都不失败对不对? and 必须两边同时成立才可以知道吧,所以这个东西就是 and 哦啊 not 经常都是类似这样的一个用处,你会发现我们按照之前的写法来说的话,我这个 and 是 不是得 是得这样啊?那往按之前的逻辑的话得这样那所以你就你就发现你这个程序不拉不拉不拉,越洗越深,越洗越深,对不对?那我就可以使用这样的一个逻辑预算,是吧,把它们能连的连上,对吧?用暗的呀,或者凹啊,那具体得看你的实际需要好吧,看你实际需要, ok, 那 这是按的哦和 not 一个正常的用法。注意啊,这是正常用法。那么接下来要聊的是不正常的用法。各位啊,接下来是不正常的用法,当按的和哦以及 not 同时出现的时候, 最好呢加上括号,加上括号不会产生歧义或者不易理解 问题。比方说啊,接下来就比较比较比较比较痛苦了。来,我写,这么一来吗? 好,我就写了很长啊,写的很长,这个很明显正常人不会那么写的,知道吧?正常情况下,你如果想写的话,你用括号把它标起来,比方说,从这哎,到这是一段,从这到这是一段,就把一段一段的给他标出来,拿括号给他括起来,这样的话,我们知道哪先算什么,后算什么, 知道吧。这这这样的话就不容易出现歧义,懂吧?不容易出现歧义,但是这么写是符合 python 的 语法规则的。所以接下来的问题是,如果真的遇见了这种鬼东西怎么办哇?甚至说这里面空隙再给你来个 note 是 吧,这个东西就很头疼了。所以接下来的问题是,如果非要这么就是就是不按这个这个写,我没有考,怎么办?记住一个运算顺序, 先算括号。永远是先算括号,然后算什么呢?算 not, not 算完了之后算 and 最后数号, 最后数号,这是它的预算顺序,一定按照这个顺序来。那比方说啊,这里面我这里面就没括号啊,没括号,没括号的话怎么办?那我就找呗,先算 not, 先把 not 计算完,对吧? not 计算完 not 的 话,这里面我记得我加了一个字呢,有个 not, 那 not 处是什么玩意?各位来我再再再来一行。 not 处是什么? 是 false 对 吧?哎,这个就算完了。 note 算完了之后算什么?算 and 那 把所有的 and 单独的给全部单独的进行计算,比如说。哎,这俩是按的吧。好了,那按的话往下算吧。 true and false 结果是什么?是同时为真才可以啊。是 false 吧。好,再往下 true and false 一 样 的是吧,再走 false and true 是 吧。所以结局一定是 false 看是 false。 所以 这个东西你一定要记住它的运算顺序。好吧,我看它是即兴的啊,瞎写的。你可以自己给自己设置些难度吧啦吧啦啦吸力,然后你自己算一算顺序就按照这个顺序来,没有问题。好吧,没问题。 ok, 这个是我们要要的逻辑运算,你需要掌握的一些东西啊需要掌握的东西。然后我们这个地方呢还有一些个 呃,预算书那些练习题你可以尝试着去试一试啊。可以尝试去试一试,当然还有这种数字的,这种数字的只会在笔试里面会出现。这里面我就不给各位去去讲了,你要有兴趣自己看。好吧,这个东西正常的程序员写代码不怎么干。好吧,兄弟们正常代码不怎么干。这不是这个 这个正常代码不这么干啊,像这个东西你可以拿去算一算试一试。行啊,这个是这个你现在是能能搞定的下面这个现在是搞定的。这个你没有成员这么写代码,这么写代码会会会被会被你的像经理干死的啊。好,那接下来咱们来聊最后一个就是成员啊。成员成员呢?其实之前聊过,就是他和他 懂吧。这这这个应该应该很很容易理解,就是判断谁是谁,是否在什么什么中出现了,对吧?这个呢就是反着来判断谁是谁,是否不在什么中出现了啊,这个就快速的举个例子啊,就过了。 嗯应该大家都很容易理解的东西。来 list 等于空号,一二三四五,好了随便怼来重复一下来三音 list 走对吧,它在里面啊对不对?所以肯定是返回就是出啊。那再走 print 呃六六六 in list 走对吧? false 那 不在这里面那还可以干嘛?是 not in 啊,就是取法嘛,基本上你看见 not 这个含义就是不走,对吧?六六六是不是不在这里面啊?是啊 啊,所以这个就是呃成员预算成员吗?判断你是不是这这这个成员这个范围里面的一个成员啊。好,那这是关于预算符咱们这个东西啊讲的算数预算,比较预算、数值预算、逻辑预算,然后还有成员预算啊,逻辑预算里面主要是按的哦和 not 这仨玩意,要记住要记住我们未来用的会很多啊会很多。 好了那预算符咱们大致就说这么多比较简单啊,快速的获得它再见。 好,那接下来咱们来说说往文件里面怎么去写东西啊?用的模式呢?就 w w 的 话呢,基本上各位能猜到啊,他那个单词叫 right 啊,叫写叫写。那写的话我们来试验一下吧,把这个注视一下啊,注视一下在这块呃这个地方注视一下在下面呢,你看写入文件 啊,那首先我们依然得打开一个文件才能往里面写吧。那我假设啊,现在瞎写一个,哎,叫国产自拍之后我再写个啥呢?嗯, 好吧,写个这玩意好了,接下来模式的话呢,肯定是 w 模式,对吧?然后,呃,给上一个自负极一,嗯,扣定等于 u t f 杠八啊。但是各位请看啊,我这里面并没有这个文件,讲道理吧,没这个文件,那没这个文件是什么样吧?走你, 哎,你会发现没报错,对吧?然后我们看这边,哎,你会发现他帮你创建了一个啊,这么一个文件出来,所以此时我们基本上可以断定一个事,就是 w 模式下 如果文件不存在,那么会干嘛?会自动的创建一个文件出来啊。自动创建一个文件出来,那么如果说这个文件已经存在了,比方说,哎,这文件之前已经准备好了,那里面写上 啊,葫芦娃大金刚,哎,再来个孙悟空。好了,文件现在里面有东西吧?有东西没关系,我跑一下看到了吧,来,再看这文件,你就发现里面东西没了。所以这个就是第二个问题,就是 w 模式下 啊,模式下,那么每一次 open 都会清空掉文件中的内容。 注意啊,每一次 open 都会清空掉文件里面的内容啊,就说白了,他必须保证,他一定会保证你的那个文件里面是空的,只要你 w 模式里面一定是空的,没有的话帮你创建,有的话清空。哎,那么接下来往里面写点东西吧, happy, 随便写一个,比方说,胡辣汤,好吧,写个胡辣汤,哎,我们来试验一下,走你 那,没事,看那头,后来他们就写进去了,对吧?也很简单啊,也很简单。那么这里面还有一个坑啊,各位,还有个坑就是我们每次文件操作完之后啊,都需要进行一个 close, close? 为啥 close 呢?你想啊,之前我们聊过这个 open 是 什么意思呢?你这是文件,这是你的程序,对吧?每一次 open 是 不是相当于在这 插根管子过来,对吧?那我下一次再读,哎,再插管子,哎,每一次操作都插管子,那么最终想象一下,你这个文件是不是千疮百孔啊,对不对?哎,就对程序来说不好,哎,对程序来说不好,所以此时我们尽量的,哎,每次操作之后养成好习惯 要关闭链接啊,关闭链接,我上面其实这个习惯就不好,是吧?没关。所以呢,希望我的这个这个这个问题不要在你们身上再次发生啊。好,那这是我往文件里面写东西,接下来,哎,我们来看这么一个小小的案例啊,一个小小的案例就能说明出很多问题,比如说 准备一个列表,要求把列表中的每一项内容写入到文件中,比方说我现在准备好一个列表里边呢,随便放上一些人, 那这个张无忌,王峰,章子怡、赵敏。好了,我现在让你把这几个东西给我写到文件里面去。那怎么写呢?很简单,首先还是得做准备个文件呢。哎, open, open 一个,呃,叫什么呢? 打架点 t 叉 p。 好 吧。然后我们模式呢,想往里面写东西,肯定准备的是它,然后你扣定呢?默认我们还是跟着 u t f 杠八啊,然后 f 点 right, 那 right 的 话,是不是应该是列表的第零个,然后列表的第一个,再来列表第二个,再来列表第三个,是吧?最后 f 点可比 啊,走好了,没问题,多了个打架,里面张无忌、汪峰、章子怡、赵敏都把数据写出去了,但是这数据现在是连着的,我希望你能帮我把它分开。怎么分开呢?很简单,在每一个后面加上一个杠 n, 对 吧?杠 n 就 完事了。杠 n, 杠 n, 杠 n, 或者这么写其实不够优雅啊,因为如果里面有有数字的话,你这个就报错了,是吧?怎么办会优雅一点呢? have 点 right? 嗯,是 f 点,呃, right, 你 来写吧。 杠 n, 我 这是新键盘啊,所以找键子有点费劲来,每次写出去的时候都加上一个换行,哎,走, 没问题,看这个对吧?哎,一行一行一行的就出来了,所以我说每一个,呃,就是我们之前说的,这里面每一行后面都会默认这一个杠 n, 明白啥意思了吧?因为我写的时候也要写一个杠 n 出去,对吧?好,那接下来问题来了,我如果这个列表很长呢,几百个数据 不能那么行那么慢,肯定是要上循环了,对吧?循环,把列表里边的循环啊,把里边的每一项拿出来往外写,写完之后呢,再跟着一个 n 是 不就完了?所以我的循环体型就这么两个玩意,哎,把它推下去,其他东西全部干掉,再见。然后给它套上一个循环否?烂否?按烂去了否?艾特么 啊,因累死的是从列表里面循环出来每一项,把每一项给我写出去,是吧?来,走, 哎,数据依然是可以写出去,但是此时听好啊,有很多同学,尤其是新手啊,新的小伙伴们容易犯这样一个错误,他把这玩意写在这, 哎,把这玩意写在这,写在这,这个程序就可怕了。可怕在哪呢?你仔细想一想,循环出来一个数据, 是不是就 open 一个,哎,再循环出来一个呢?再 open 一个,再循环出来,再 open 一个,对不对?那你就说有多少数据我就要 open 多少次,并且每一次是不是都是 w? 那 么此时你想想啊,我一 open 就 把数据清掉,一 open 就 清掉,你后面写什么是不是都没用啊, 对吧?比方说第一个张无忌出来了,打开这文件往里面一写,写完之后呢?哎,再循环,又 open, 刚才这张无忌是没了,对吧?所以此时你只有最后的赵敏,哎,赵敏写出去之后,循环结束,对吧?这赵敏留里头了,你看呢? 你看呢?就算你照明了,后面还登了个这玩意,是吧?登了个这玩意,所以此时你会发现这么干是不行的,所以一定要切记,尽量的,但是得看需求啊,大多数需求都是你需要把 open 写在循环的外面,尤其是 w 模式情况下啊,这是个坑。各位啊,这是个坑。这个东西 啊,我不敢说百分之百啊,但是大多数情况下是这样的,来,再走 来,数据正常写去了,不然也没有什么问题,所以我们一般情况下都是这样的逻辑啊。好,那这是关于 w 啊,就往外写,写出啊,往文件里面写东西这么一个逻辑,基本上是 w 模式。那还有一个模式也是写叫 a a 呢,翻译过来叫 a p n, 它叫追加写。 追加写。什么是追加?就往后面去写,接着写。那他俩的区别什么呢?他是接着写吗?不是,他一写就先把其他东西全干掉,那他呢?就是原来东西还在,哎,我在你屁股后面接着往后写,就按 a 模式,简单的给各位去演示一下啊,比如说打下就这个文件了,往里面再去写出一些东西 来, f 等于 open, 打开一个,呃,文件叫打架,点 t 叉 t, 然后呢模式我选择 a 模式啊。 a 模式这个是逗号啊,想点了该给的引扣定还是得给 f 点,呃,随便写一个吧。 right, 你, 你好厉害,来试验一下。头, 没问题,上文件里面看见打架,你好厉害,是不是写出去了,哎,这就是我们说 a 模式,它不会把原来的数据给清掉啊,它是一个追加的一个效果啊。 ok, 那 这是文件的往外写的这么一个基本的操作啊。然后我们在这里面呢,又灌输了一个新的思想,就是每一次我们操作文件的时候呢,尽量的都要进行个 close, 但是你会发现,对吧,乔峰老师每每次操作完好像都容易忘掉这个 f 点 close, 哎,那么为什么会这样呢?哎,注意了,我们接下来要讲的那个语法呢,就可以让你不写的 f 的 格式,它也会自动的帮你去关闭。那,那下一节我们接着聊。 好,那接下来咱们接着说这一节呢,咱们来聊聊文件操作啊,在 python 里面呢,文件操作是很重要的一个知识点,但是呢,它又非常简单啊,基本上都是需要你记的一些东西啊,比方说我现在准备好了一个文件啊,叫国产自拍是吧,看着很诱惑,但是打开呢,里面是葫芦娃。 那我现在有这么一个需求,我希望你能把文件里边所有的内容呢,帮我给他读取出来,那么我们先思考一下啊,如果说我现在随便给你一个文件,我想让你读取里边的内容,那么你的正常的逻辑是不是应该是第一件事先去找到这个文件,然后双击打开它, 对吧?双击打开它,打开它之后我们才能够呃读取到里面的内容,或者说我想往里面写东西,对吧?不管是干什么,你首先第一件事得双击把它打开,对不对?那这个时候 python 里面就准备了一个文啊,一个函数啊,叫 open, open 的 作用呢就是打开一个文件,但是呢打开文件的时候就需要你告诉他你要打开的是哪个文件,所以需要有文件路径, 对吧?这很合理嘛,对吧?然后其次呢,它需要有一个模式,在这模式的意思就是你打开这个文件的目的是什么, 对吧?你想的是从里面读东西啊?还是想往里面写东西啊,对不对?所以这个是涉及到模式的问题啊,它分为读和写,那还有一个参数叫 encoding 啊, encoding, 这个 encoding 什么时候能用到呢?就是比方说我现在想读取这个国产自拍这个文件里边的内容,并且里边的内容呢,得是文本 啊,得是文本,得是字,得是文字。那么对于文字的话,我们上节课啊,或者之前我们聊过说文字想要存储到文件里边去,它就必须经过啊,编码对吧?咱们咱们有两个编码可以选择,一个是 g、 b k, 还有一个是 u t f 杠八,对不对?那在拍叉里面创建好的文件,默认情况下是什么? u t f 杠八,所以我们 从这里面想把东西读出来,你是不是还得用 u t l 八把它解码啊,对不对?所以这个时候你需要告诉他,你的编码级是什么啊?编码级是什么?对,你的文件是呃 u t l 八的呀?还是 g b k 啊?你就把这门给他就可以了。那这是 open 打开一个文件的一个呃,最基本的一个语法规则。那么这里面咱们一个一个聊。第一个就文件的路径来。各位, 文件路径,文件的路径呢?我们啊,就就是通常情况下是有两种方式往里面放的,那么第一种方式呢?叫绝对路径,哎,绝对路径。第二种方式呢?叫相对路径 啊。这个绝对路径什么意思呢?就比方说啊,各位,你的电脑假设从 d 盘里面我想找某一个文件夹,哎,某个文件夹里边的什么什么文件,对不对?那从磁盘的根部入去寻找的话,这个就属于绝对路径,但是这种路径呢?它不安全。各位, 它不安全在哪呢?比方说啊,我现在假设我想读这个 d 盘里面 test 里面什么什么文件啊?然后去执行我程序后续的一些操作。但是你想一个问题啊,你未来的这个程序以后你的这个程序写完了,你是要打包给你的客户,或者说打包扔到服务器上,对吧?那这个时候问题又来了, 在服务器上我们通常选择的是 linux, 你 这个路径在 linux 里面根本就不成立, linux 里面没有地盘,对吧?也就说你给的这个绝对路径在你的当前正在开发的这个 电脑上是 ok 的, 但是你挪到你的客户里面,他不一定有地盘,他不一定有这个路径,对吧?所以此时绝对路径在你涉及到项目迁移啊,或者说是项目部署啊,哎,这个时候他的坑就出来了啊,所以绝对路径咱们用的少。 那么第二种方式就枪相对路径,何为相对路径呢?就是相对于你当前的这个程序而言,你要找的那个文件他在哪?哎,比方说啊,比方说就像我们这个,这个,这个呃,人啊,人人站在这个这个地球上了, 对吧?那么相对于当前的这个人而言,哎,你想找那个东西,可能在你的前面,在你的后面,左面或者右面,对不对?这都是相对于你当前的位置而言的,对吧?而那个绝对路径呢,就好比说是经纬度 啊,那个经纬度经度多少啊?东京多少多少啊?北纬多少多少啊,对不对?也就是相当于这个东西啊,所以这里面我们的这个这个相对路径基本上就是相对于当前你的程序所在的文件夹 啊,当前这个程序所在文件夹,那么咱们当前的这个程序在哪呢?各位说在这呢,对吧?幺零文件操作点 p y, 那 么我想找到这个就是这个文件相对应的这个国产自拍这个文件,我想把它读出来,那么此时它俩是不是在一个文件夹里边啊?对吧?就好比说你和 张三被关在了一个房间里面,你还想找张三帮你干什么事,你是不是直接喊他的名字就够了?所以此时我们就可以直接去找国产自拍点 p 叉 d, 因为你俩在同一个文件夹里边,在一个屋子里面,知道吧?所以此时我想打开这个文件,我就可以这样做。 open, 打开,打开。那个文件呢?叫国产, 哎,对吧?这就可以了,那我这样的话就可以,哎,找到这个,顺利地找到这个文件,但是这个文件如果它不在这个文件夹里面怎么办?比方说我在外面新建一个文本,叫葫芦娃点 t 叉 t, 对 吧?里边随便写点东西。比方说,呃,这个,这个,中岛美加 啊,中岛梅雪,这个,这个,这个真叫什么?一休吧,一休哥,对不对?我想读这个文件,哎,此时注意看了啊,我们两个不在一个房间里了,不在一个文件夹里了。那怎么找呢?你当前的程序在这里,那么我想找到 这个程序所在的文件夹以外的这个文件,对不对?以外的这个文件,那此时我是不是得首先得从这个文件夹里面出来呀?对吧?就好比说,你想找我隔壁的某个人,你是不是得从我这个房间出去,你才能找到他,对不对?一个道理。所以我们这个时候在找这个葫芦娃的时候,我们就得这么做。 open, 从我当前这个房子里面出去点,点到这个叫返回上一层文件夹,哎,返回上一层文件夹,那么此时是不是相当于从这个文件夹里面就出来了?出来之后我是不就能直接看到葫芦娃了?对,直接找葫芦娃, 对不对?此时就 ok 了啊?此时就 ok 了,那我们把它跑一下啊,当然什么都没有啊,不报错就可以了,不报错就可以了,证明这两个文件是可以读取到的啊。你要说这样怼, 你看,他就给你报错了,他告诉你这个文件不存在,对吧?你也不可能打开它,所以这个地方不报错,证明我这个,哎,路径没有问题啊。所以这里面又多了一个知识点,叫点点吧,他表示的是上一层文件夹, 哎,上一层文件夹,那么此时问题来了,如果我想找的那个东西他不在,哎,不是在他上一层,是在他上一层里边的这个零一里面,哎,在这个零一里面。零一,零一零一代码里面吧。 来,随便起一个啊,叫倚天屠龙记是吧?那个忘给后缀了点 t 叉 t, 然后里面写上那个孙悟空大战,呃,赵敏,好吧, 甭管张无忌乐不乐意啊,先干了再说。那此时我想找到这个文件,我想找到这个文件,那么此时跨度是不是有有点大了?各位,我此时我的程序是不是有有点大了?各位,我想找到这个文件夹里边的东西,那么此时你要研究一个事, 哎,研究研究一个事。我是不是首先得从这个文件,因为我现在在在这个文件夹里边吗?得,从这里面,是不是得出去啊?出去之后干嘛?是不是还得进到这里面来,然后再进到这里面来,然后在这里面才能找到我的目标啊?对,所以就是就就是,就是,一层一层去找。那我现在真的想找怎么办?刚才说了第一件事,我是不是得出去?好, 来点点 go。 首先出去,出去之后是不就到这了?从这是不得进零一是吧?初识 python 这个文件夹呀,所以是零一,它有自动提示啊,然后再再打开,进去之后再找什么?找代码,然后才能看到。一天读东西,所以还得进代码, 然后再找一天读东西,是吧?来,再运行,再运行,来,再运行, 对吧?此时程序没有问题啊,程序没有问题,所以我们的路径啊,基本上就是这么一个玩意。那路径有了,我现在整个这个这个 open 也没问题了。那么接下来老师你能不能给我讲讲怎么去从里面把东西读出来啊,对吧?毕竟这个国产自拍这个四个字啊,还是有一定诱惑力的,对吧?我想读里边的内容,那怎么读呢?各位?对了,此时我能 open, 那我们刚才讲已经都 open 了, open 的是那个。呃,国产自拍点 t 叉 t。 好 了,路径有了,那么接下来就填第二个参数吧。第二个参数叫什么? mode? 模式是吧?模式 mode 等于 那个模式啊,它是这么一个玩意 mode, 它的取值啊,它的取值。我们先大概的轮廓的先给各位讲一下呢。第一个叫 r 啊, r 表示什么意思呢?它的全称叫 read, read 翻译过来叫读取。那么我现在想要的不就是读取东西吗?对不对?所以直接就可以了, 哎,就可以了,它可以了,之后再往下还有第三个参数, encoding 啊, encoding, encoding 的 这个参数呢?可以给可以不给,但是我推荐所有人在读写文本文件的时候一定要给 encoding 啊,你读写的是图片,你就别给了,图片没法去编码,知道吧?所以是文本你才能给 encoding。 那 我现在这个文件是 u t f 八的,所以你快走吧, u t f 杠八啊。 u t f 杠八,然后打开一个文件,打开了之后目的是啥?是读东西,对吧?那我得把它给上一个变量哎,给上一个变量叫 f, 那 这个 f 呢?表示的就是被打开的这个文件啊,但其实此时啊,此时并没有说把整个文件咔 扒开,把里面东西全加载到内存,并没有,它,其实是这样的一个逻辑,我给你们讲一点就是,这是我那文件,这是我那程序,那么这个 f 等于 open, 相当于什么呢?相当于你,这是你的,这是你的程序啊,你看,这是你的程序, 字丑点啊。然后呢,这面是文件好了, f 等于 open, 相当于你这一边,哎,插了根管子,哎,插了根管子,并且呢模式是 r, 那 么模式是 r, 就 决定了这根管子的流向是不是从这面往这面走啊? 你的程序要读东西吗?对不对?所以此时管管道的这个这个流向确定好了,所以这个 f 相当于就是这根管道,哎,就这根管道,那么我想读的话,就从这个管道往里方向读就可以了,知道吧?哎,那么为什么我在 open 的 时候没有说把整个文件全加载到内存呢? 很简单,那个文件有多大,咱们这控制不了,对吧?你想的那个文件如果有十个 g, 对 吧?或者说一百个 g, 各位,你们电脑有几个人能内存达到一百个 g 呢? 对吧?所以它不可能一次性把一个文件全加载给你,它就给你插根管子,你用的时候从这根管子里面读就完事了啊。那怎么读?很简单,直接 print, 别 print 了, content 等于 f 点 read, read 什么意思啊?读取,那此时我们就可以 print a content, 对 吧? print a content, 看看能不能读到东西。 葫芦娃,葫芦娃,一根藤上七子画,是吧?数据就读取出来了,所以我们想读一个东西,特别简单啊,各位可以去先练习一下,然后我们再去强化一下读,到底有哪些种读的方式,现在很简单,现在康熙以下全读出来了。还是那个问题,你的文件如果有一百个 g, 你 能这么读吗?兄弟,那肯定是不行的,是吧?谁的脑能怼一百个 g 是 吧? ok, 那 关于文件操作的这个读,咱们暂时先说到这,咱们下一小节接着讲读取文件。 好,那上一节我们学会了,呃,怎么打开一个文件,怎么去啊?去,去写它这个路径的问题,对吧?然后呢,以及最简单的一个读取,哎,我们直接一次性把文件里面东西全都读出来了,但是还是那个问题,你这个文件如果很大哎,有十个 g, 有 二十个 g, 那 此时你这么读肯定是不行的,一次性内存就炸了,所以怎么办呢?哎,在 python 里面还提供了一些其他的读取文件的方式,比方说,哎,我们读的话就是全读啊,全部读取,哎,我们还可以这样来去 读起来, f 点 read, 你 看啊,有这么多了, readable 就 不不提了。好吧, readable 就是, 是不是能读出东西来啊? readable, line 要读取一行,哎,我们来实验一下啊,这一行是个什么玩意啊? line 等于 print line, 走 啊,葫芦娃,对吧?这一行就出来了,但是呢,这个地方看好啊,一行再去接着读,对吧?这是第一行,这个应该是第几行了?第二行了,走啊,葫芦娃,葫芦娃,哎,这这,这两个葫芦娃重合了是吧?再来一行, 走,那葫芦娃,葫芦娃,一根藤上七朵花,是吧?我这个数据呢,哎,可以一行一行的读,也就是说你打开一个文件之后,他相当于那根管子插哪了?是不是插在他那个文件开头了?读一行往下走一点,读一行往下走一点, 对吧?就可以这么哎,反复的去读,哎,反复就这么一个一个一个一个去读,那么读完了之后,我们发现一个问题,我们在打印的时候,这这葫芦娃为什么占两行呢?都,哎,为什么他占了两行呢?其实这个东西啊,不太好解释,而且容易蒙啊,我快速的给你想办法给你解释一下,比方说我打印,呵呵哒, 再打印,么么哒,来,各位,我们就考虑这两个玩意,就能把这事说清楚,看着啊,我们再打印,呵呵哒,然后再打印,么么哒。那么各位,我们可以看到打印的时候,呵呵哒自己占了一行,么么哒也占了一行,那说明个什么问题呢?说明 print 的 时候,每一次 print 它都会干嘛呢?进行一个换行,对吧?你打印完,呵呵哒,换行再打印,么么哒,再换行, 对不对?所以也就意味着这里面 print 内部存在一个换行,对吧?打印完之后啊,会帮你进行换行,那他既然这里面有一个换行了啊,那接下来我们来看我这个文件,我这个文件叫葫芦娃,然后是不是也换行了? 在葫芦娃又换行了,也就是说文件读取的每一行,哎,读取的这么一行,在这一行的末尾这个地方,他有一个换行符,在这 一换行,哎,到下一行了,再来下一行再换行,知道吧?所以这里面有一个换行符,隐藏在每一句话的末尾,那么也就是说你从文件里边读取到的内容,它默认是可以进行换行的,哎,它里面内容自己是可以换行的,但是你 print 是 不是自己还有个换行啊? 就这样了,对不对?那怎么办?我们可以这样做,在你从文件里面读取到的那个换行,我们先加上一个 string, 之前讲字母串的时候让你们重点记个 script, script 能干嘛?是不是去掉字母串左右两边的空白当中?这么说吧,那空白包含着什么?包含着空格,换行,还有什么?这个,这个制表符, 就这些玩意全部给它干掉,那我加个死速度,是不是就换行符干掉了,对不对?哎,那我们来试验一下啊,怼上怼上,全都怼上,走,你看这文件里头是不是一模一样,对不对?所以这里面啊,你要想着点这个,这个文本啊,后面的这个,这个看不见的,这个地方,他有一个换行符在这啊,那怎么能能能能看见那个东西呢?哎,有一个办法能看见, 注意了, content 等于 f 点 read 览斯,哎, read 览斯,那 read 是 全部都读出来, read 览斯是一行一行读,那么还有一个叫 read lance, lance 是 什么意思 啊?是不是所有的很多行,对吧?很多行。好啦,我康怼上一个 read lance, 默认情况下,它会把所有的你这个文件里边的每一行都拿出来,然后放到一个列表里面去,所以此时我们打印 content 实际上是一个。什么?是一个列表来走 啊,是个列表。哎,这个时候你是不是看到葫芦娃后面跟了个杠 n 了?葫芦娃跟了个杠 n 了,看见了吧。所以啊,这块啊,兄弟们,这个地方默认是有一个换行符在这啊,杠 n 就是 换行符,哎,杠 n 就 换行符, ok, 那 么此时呢,我们就基本上知道了啊,我读文件呢,可以 read 全都读出来, read 烂,一行一行读,还有一个 read 烂四, read 烂四就全一次性全都读出来,放到一个列表里边啊。所以从这个点上,我们其实基本可以确定这一些个东西里面哪个重要啊,肯定是 read 烂, read 的 烂中,因为还是那句话,他和他都无法解决一个问题,就是你的文件好几十个 g, 怎么办, 对吧?他能解决,他能解,他不会让你的内存炸掉,你一行不至于是好几十个 g 吧,哎,所以此时我们就说读取文件很重要的一个操作叫 read 的 烂。那么还有一个问题,还有个问题,我现在想把文件里边的内容啊,一行一行一行的读出来, 哎,一行一行读出来,那么各位,瑞德兰是不可以办到,但是这个文件里面如果有个百八十行,你总不能写百八十个瑞德兰吧,对吧?那怎么办呢?拍摄里面还提供了这样的一种读取方式,也是最重要的一种文本读取方式,必须掌握 啊,不讲道理的,必须要掌握,那我此时很明显,对吧,就是肯定是全新的了,对不对?那怎么办呢?想想啊,我读一行拿出来,再读一行又拿出来,再读一行又拿出来,它读点是不是有点像循环的一个操作,对吧?所以 python 里面直接就告诉你,这个 f 可以 被直接循环,所以直接 for 小 于 in f, 哎,直接就可以循环这个管道,从那管道里面一行一行的往出读,一行一行的往出读,那么这里边的 line 啊,这个这句话的解读就是从 f 中读取到每一行数据, 读取到每一行数据。来,我们看一眼吧,打印一下这个 line, 好 吧,打印一下,走,你看,那个问题又来了,又是又又是换两行嘛,对不对?为什么换两行?因为你没加语句 走,对不对?哎,数据都拿出来了,此时不管你文件里面多多少个东西,对吧?啦啦啦啦,一直拉,随便拉,想怎么拉就怎么拉啊,痛痛快快的拉来走。 哎,是不是还是能读取啊?所以此时相当于一个很公共的很很很套路的一套操作,就读取文件的方式,对吧?直接 follow n e、 f 啊,就可以了。那么这个是我们说想读文件里面的内容最重要的一个方案啊,最最最重要的一个方案,把这个 给它记下来,把这个记下来,记住文件的这个 open 是 可以直接被循环和便利的啊。把这个去理理理完了之后,咱们接下来准备去讲讲怎么往文件里面去写东西,是吧?来,咱们这一节就说到这儿。