windows 窗口当中呢,添加这个菜单啊,比如像这个文件编辑试图这个就属于菜单,首先呢还是引用这个 content, 现在创建一个窗口,说一下这个窗口的这个 大小菜单呢,就是 menu 啊,通过这个 menu 呢,就给这个 windows 窗口创建一个菜单,然后将它赋给这个变量 menu 八,然后我们通过这 menu 八进行一些设置,下边加上一行 pick, 然后呢里边这个 menu 呢等于这个 menu 八,我们先创建一个文件, 从哪也是 menu 啊,它属于这个 menu 八,也就是说呢,整个这个菜单这个部件属于 windows 啊,在这个菜单部件里呢,有一个文件,那么这文件呢属于这个菜单这个部件里 啊,通过这个 add cascade 呢,在这个菜单部件里呢,添加一个文件,它是属于这个刚创建的这个文件这个菜单部件里的。好,我们行下可以看一下,那么这个文件这个菜单也创建好了,在这个文件下边呢,再创建属于文件这个部件的菜单,这里有一这个, 这是可以去掉的啊,通过一个代码可以去掉,我们可以看一下,在文件这个部件里呢,添加一个 turn off, 等于零,我们再看一下,这里就没有了。好在文件下面添加上,就是要使用这个 file menu 这个变量 at command, 然后也是 label, 它菜单的名称就是写个新建,点一下文件,可以看到这里有个新建,还可以设置它的快捷键,它快捷键是 accelerate, 可以 设置成 ctrl 加零,可以看到它的快捷键 ctrl 加零。同样在这里呢,也可以加一个 函数,就随便写一函数,那还等于这个六这个函数 我们再运行一下,也就是说可以看到当我们点的新建之后呢,在这里又 print 出来这个,就打印出来这个新建,我们可以再去写另外一个菜单,比如是一个编辑,好,我们运行一下, 可以看到这里就有两个这个菜单,一个是文件,一个是新建。好这视频呢就到这里,谢谢大家观看。
粉丝464获赞4112

pason, 从入门到精通第二阶段第二章一点一管理系统学 python 我 只看糯米哦。 从这期视频开始,糯米将用四节课的时间,带宝宝们一起动手做一个完整的 python 小 项目。这个项目就是学生的信息管理系统,我们会把之前学过的函数、列表、字典、循环这些知识全部用上, 让这些知识来实现一个学生信息的增删改查的功能。虽然增删改查四个字听起来比较简单,但是很多专业软件都离不开他们, 所以这个项目特别适合我们,用来巩固基础知识和练习函数设计。从现在开始,我们会一步步搭出一个结构清楚、能运行起来的信息管理系统。这节课我们先不写代码的功能,只搭个空壳子。 因为很多新手小白写项目的时候喜欢一上来就埋头敲代码,结果写着写着就乱套了。 所以我们今天的目标很明确,先搭骨架不填肉。我们的骨架就是把系统需要哪些功能给整理清楚,比如添加小赵学生,删除小钱学生,修改小孙信息,查找小李学生。我们需要先用函数把这些功能给列出来, 每个函数里面现在只写一行打印语句,比如 print。 准备添加小赵学生。 我们这么做有两个好处,一是提前把系统的结构想清楚,后面我们往里填代码的时候不会跑偏。 二是以后我们在测试主流程的时候,就算功能还没写完,程序也能跑通,这样我们就能看到每一步执行到哪里,调试起来特别省心。那么学生的信息该怎么储存呢?这里我们就用列表套字典的方式来储存学生的信息。 每位学生要存哪些信息呢?这里我们先定下来学生的学号,姓名、年龄、性别、电话、班级。其中学号是唯一的, 就像每个人的身份证号不能重复,这一点我们在后面加人或修改时要特别注意。那我们应该用什么样的数据结构来储存这些信息呢?列表还是字典呢? 这里我选择了一个全区列表,全区列表取名 student list, 列表里的每一项是一个字典,一个字典就代表一个学生的信息。 全区列表就是一个大列表,里面包裹了很多个小字典,比如全区列表当中的第一个字典,这个字典的信息是,学号是二零二六零零一,姓名是一五零,班级是一三班。 使用全区列表的好处是,字典就像一张学生信息卡,上面每一项都写的清清楚楚,我们想要找什么直接看标签就行。以后如果我们想要加入家庭住址或者入学成绩等信息,就可以直接在字典里加一项,这类信息就可以搞定了,这样就会非常灵活。 接下来我们要思考的是系统要有哪些功能?这里我们得提前先列个菜单,这个菜单就像下面这样,用户选数字己系统就执行对应的功能。为了不让所有代码挤成一团,我们会把每个功能单独写成一个函数, 哪怕现在还没写真正的逻辑,我们也可以先把函数名和打印站位写好,就像下面这些代码一样。如果我们做到了这一步,那么整个程序的流程就可以先跑起来, 后面当我们填写真实的代码的时候就不会乱。说白了,我们不是在写功能,而是在搭一个框架,先把框架搭建好,后面我们只需要填写代码就可以了。现在整个代码看起来其实很简单, 就是一个局列表, student list, 现在这个局列表是空的,等着我们以后往里加学生的信息就可以了。局列表下面就是菜单,菜单是用来获取用户输入的信息的,比如用户输入数字二,就是要查找某个学生, 接着是五个空函数,就是显示菜单,添加信息、查找信息、修改信息、删除信息。我们不能小看这个空壳子,其实他已经把整个系统的结构规划的明明白白了,未来所有的代码都会装进这五个函数里。最后糯米来总结一下, 我们在写程序之前,一定要先定框架,再填细节,一定要采用先设计骨架,后续填充血肉的方式去写程序。 这个方式就是我们编程里常说的自上而下的设计。它最大的好处是,在项目变复杂之前,我们就已经牢牢把握住了整体结构,不会写到一半迷失方向。那么今天的课程到这也就结束了, 下一期糯米就教宝宝们来写 main 函数,把菜单和功能串起来,让系统能真正和用户互动。关注糯米,持续带你掌握 python。

一天学一个 python 知识,今天我们来学习 pycharm 的 初使设置。好,那我们接下来呢,这时候呢,我们刚才呢就是, 呃,把怎么样去调试讲讲解了一下啊?讲解一下。好,那我们现在呢再来说一下这个解释器啊,解释器啊,就是在在这里呢去设置解释器啊,就在这里,我们昨天呢已经说过了,我们这里再说一下, 好,解释器呢,就是在这里啊,就在这里呢去设置解释器的,如果你这里的解释器不对了,你就点这个啊,它这个汉化也不是很好啊,你就点这个,你像这个 add permit, 这个叫添加解释器, 你就在这里选就可以了啊,选选选,选你那个解释器,选这个啊, system 选这里啊,点这里啊, system 系统解释器,然后去选到那个,还是咱这个路径吧。啊,好,对,再强调一下,昨天其实已经说过了,好,选解释器, 然后呢我们来说一下这个,呃命令,我们现在呢为了每天大家理解呢,我就会把这个代码呢,你可以看到就会一二往下命令啊,我就不零一零二了,我就一二三四五六七八九就依次往下命令。好,嗯啊,前面不,我之前加的这个王道潜追咬,这个我就不再加那个潜追咬往下命令。 好,那我这里呢再说一下这个,说一下这个换行符的这个问题啊,换行符的问题大家知道呢,如果说,呃,我后面会说一下改这个换行符有什么问题啊?你现在现在你其实你改不改不影响啊,我说一下这个 程序,我们这个程序你可以看到它默认的换行呢,是两个字母的,嘎嘎,你你先了解一下就可以了,因为我们后面要用 get 的 话,不然它有些提醒的你看不懂 啊,不知道怎么回事啊,就默认在 windows 下, windows 下它这个程序的每一个换行,你看不到的换行你是看不到的,你就我一换行,你看它它它知不道下一行了吧。啊?你不知道它这个换行是什么东西?其实它这个换行就是有两个字母之间的杠杠 啊,如果要把这个改成这个杠 n 的 话呢,就就是在这里改啊,就文件属性啊,行,分割复,这个不重要,我们暂时不用管它啊,我们不涉及这个 linux, 那 就直接跳过啊 linux。 好,那我们接着呢,直接来说一下这个,呃,注置,再说注置之前呢,我们来看一下这个字体设置 啊,我现在这个字体大家觉得小不小,是不是可以看得清的啊?如果大家觉得这个上面这个字体小了,看不清的话呢啊,我们在讲课的时候看不清呢,你就及时的跟我说啊,跟我说。好,那我现在呢?来 来这个什么呢?来设置一下,告大,告诉大家怎么样设置这个字体啊,如果你要想把你的这个字体呢给它啊,样式啊,或者大小给它编一编,我们就来这里设置一下啊,如果你想变大一下啊,好,我们就点这个设置,然后呢它这里呢有一个编辑器, 然后你可以看到这里啊,我这也是截图的英文的,你看这里是编辑器,然后这里就有一个哦,样式啊样式 好,我们在这里就可以设计字体了啊,我们直接直接点这儿就可以了,然后呢你就可以把这个字体变大啊,我觉得 jesus momo 这个 呃,这个呃挺好,然后它大小十八还好吧?这个行高啊,我们现在你也可以用这个默认的,如果你这个不喜欢,你就可以在这里调啊,调这个字体或者那个我就不调了啊,大家应该还是可以看清的啊。好, 那我们接着呢在这里呢添加一下这个文件和代码模板啊,这样的话呢可以比较方便呢。呃,比如你在工作的时候,一般大家都会添加上啊,就是这个是干啥的呢?就是说别人看到你的代码呢就知道。哦,原来是你写的 啊,然后然后你如果他想联系你啊,那那给谁发邮件啊?就这个想联系你,你的联系方式。然后你这个代码是什么时候写的啊?这个会自动的,每一次新建代码。好,我们给大家演示一下啊,说比较多,我们直接实战一下,我们给他一设置呢,我一会新建一个代码,他就会 好文件或代码模板,然后这边有各种各样的文件,我们要选到这个 python script 这个啊这个操作。然后呢我把这个呢复制一下啊,你直接复制就可以了。好,然后把它贴进来,然后这个时候呢它就自动会显示年月日,你每次新建的话都会以当天当时的年月日时分秒来显示。好, 然后呢好,这边的。呃, qq 我 就没写了,我就写了一个叉叉叉拎空,你可以写你自己啊,就别人联系你的。好,那我就点确定。好,现在的话呢,我在原来的它是不会动的,你现在再新建一个的话,我们来新建一个,比如代码模板展示吧, 我新建一个,比如代码模板生效的 because, 它这里呢就会默认的给你加上这样格式,你看这个时间它就会自动地代出来当时的时间,然后你就把代码呢就写到这个下面来啊,就,就是说啊,就这里啊,你就这个 print 呢?啊啊,这,这是代码啊,这样 就是这个操作,主要是加这个这样的一个操作。呃,一般的话根据公司要求吧,你如果说你到导师那里的话,导师他他要求你写的代码需要加一些什么信息的话,那你就在那个代码模板里面加一些什么信息啊?就就这样了啊。好 哦,然后呢我就点这个运行啊,那我们接着来看那多个文件,实际我们现在呢其实已经有多个文件了啊,这个东西多文件演练,你看我们现在已经有一二三三个文件,我已经演示了 怎么样去运行这个,怎么样去运行这个文件啊?多个文件啊,我已经演示了去运行这个啊,每个文件啊,你要运行这个的话,你就按 ctrl shift 加 f 十 啊,就运行那个,如果你要是运行这个的话,那你这个时候就就再按这个 control shift 加 f 十啊,就这个。好,那我们这个多文件我们就不跟大家说了。

以下是主包最新版本灵动岛的动画演示,可以看出动画相当的丝滑而且完善。主包在尝试了各种酷后,还是派 q t 的 兼容性更好,本来主包是不会派 q t 的, 多亏了大佬相助 才得以将拍 qt 版本写出来。在上几个版本中,有朋友告诉主包软件兼容性很差,由于当时写出来主包也没有拿其他电脑试,所以没有顾及到很多问题, 包括透明消失、位置异常,甚至跑不起来。主包这几天也是努力在改,但是由于并不熟悉 vivo 的 机制,改了很久,最后主包自己都跑不起来了,所以 tabo 上面那几个项目基本都是有问题的。主包在这里跟所有的观众朋友道个歉, 目前新版本也不是很好,主包可以用一个计时器来看看,启动时长 整整花了十一秒,主包的内存和存储性能还算很不错的。 还有个问题就是占用太大了,可以看到我们刚打开就吃了九十兆,而且不断在上升,后续跑到了一百五十 mb, 只能说这个版本只有动画是很不错的,其他的地方还需要主包慢慢打磨一下。感谢各位朋友的支持!

盲目自学只会毁了你!这才是抖音最系统的拍算教程,存下吧,全两百级纯干货版,真的很难找全了!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍算!这应该是抖音目前最良心的 入门到进阶的拍算教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍算从零到一的学习计划表,只需上百集,素材、书籍、课件等等,只要你能想到的素材我这里几乎都有, 评论留言六六六即可全部免费打包带走!相信我,这套拍照既可塑墙,将会是全网最齐全最一等的小白专用课。如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍照的小伙伴看到这个视频。下一站,上岸上岸站位于门头沟区,是地铁一线的一座车站,因上岸村而得名,希望看到视频的你们心想事成, 上岸,下一站,上岸! 顶峰剑我们终会上岸!好,那接下来咱们来看一下这个条件判断啊!那这个条件判断呢,在我们的程序里面是特别特别的常见也特别常用的一个东西,也很简单啊。那首先,什么时候用到这个条件判断就很简单,之前我已经聊过了,就比方说,我先兜里有钱了, 对吧?兜里钱多了,钱多了呢,我想搓一顿。好的,我想来一个铁锅炖对吧?来,铁锅炖的话,我得先判断一下我兜里有没有钱呢,对吧?有钱了我就铁锅炖,没钱呢 回家啃咸菜对不对?所以此时我们的条件判断其实就是当我们某一个条件成立之后,我要做一个什么事情,条件如果不成立,去选择另外一件事情,那么此时你想象一下,我们的程序是不是相当于产生了一个分支啊?对不对?程序从这往下走,走着走着,哎,在这块我得判断一个条件,这个条件如果成立了,往这走,如果不成立了,往这面走, 对不对?这就是条件判断啊。那条件判断我们常见的这个语句呢?就是 if 语句啊, if 语句的语法规则。 来,我跟各位说一下啊,那语法基本上就是这样, if 空格后面跟上条件,哎,如果条件成立的话,我去做什么什么事情啊?那我们怼个 pass 啊,那这个就是第一种我们常见的 if 的 啊语法规则,那么它的意思是 如果条件成立,就执行这个 pass 的 代码。不能说 pass 代码吧啊,这个代码就成立,就就执行这个代码啊,如果不成立就不执行啊,特别简单的一个逻辑。来,我们来看一下啊,第一种语法 啊,第一种对不对?比方说我现在兜里有钱了,是吧?钱,码内是吧?码内等于五百啊,等于五百,如果空格,你的钱,哎,大于了多少呢?大于了这个,这个三百哎,我们就可以去干嘛干嘛,注意,这个地方有一个冒号 啊,一个冒号我信不信?哎,行了,这个地方有一个冒号啊,冒号。一回车你就发现不一样了。哪不一样了?之前是不是顶着这前面写的,但是现在你一回车他发现,哎,这牌上面告诉你在这写 什么意思呢?注意, python 里面没有大货号的这种啊,就是代码的范围的这么一个约定。所以 python 里面为了控制这个代码的层级,就用这个缩进 啊,这个缩进来表示这个代码的这个层次关系。比方说这里面我啵敲一下来,你发现这前面有有有有有有一个缩进的一个效果,那我就可以在这,比如 print 一 二三啊,然后再 print 一个来四五六,注意看啊,再来 print 七八九,注意看。这个 print 一 二三和四五六都是从属于这个 if 的, 就当当他条件成立的时候,他会执行这两样东西,当这个条件不成立的时候,这俩玩意儿就不执行。也就是说不论你成立不成立,下面这个玩意儿一定是要执行的, 懂我意思吧?就成立的时候会多执行一段代码,不成立呢,无所谓,直接往下走,知道吧?所以这里面 python 就 相当于用这个缩进啊,把这个这两行代码老老的,是不是拴在了这个 if 里面, 把它框在了 if 里面了?而对于其他语言是这么做的,其他语言是加了个大括号,比如说 java, 比如说 c, 对 吧?都是加个大括号把它霍起来代表的。是啊,后面这个代码块是是是跟这个 if 条件判断,对吧?这就是形成一定的关系的,知道吧?所以 python 里面它有一个特点,就是它必须得保证这个东西 啊,这个东西它是有一个统一的规则和规律的,你不能这儿哎,少一个这儿,它多一个不行, 知道吧?显示器就懵逼了,显示器他就是一开始那是多长好了,下面就应该多长啊,你下面跟上面就不就长度不一样好了,你这块一定有问题,他就不错了,知道吧?所以这个地方啊,一定要严格的去 遵守他的这个规则啊。这个地方你可以敲四个空格,也可以干嘛呢?就是,呃,敲黑车,或者说如果你顶格的话呢?摁一下你电电脑键盘上 q 左边那个键叫 t b, 摁一下就过来了啊,这个东西叫缩进啊这个东西叫缩进。好了,那这是 a 符条件,那接下来咱们试一试吧,比方说,哎,这干掉了啊,比方说,有钱了,有钱了干嘛呢?呃,铁锅炖 可以吧?铁锅炖是吧?然后这个呢?回家没问题吧?哎,走,看五百大于三百,是不是条件成立?条件成立是不是铁锅炖去。那铁锅炖完了之后呢?是不是程序还得接着往后走啊?哎,该回家,回家该干嘛呢?但是如果你兜里没钱,一百块钱, 对吧?这肯定是一百块钱,一百块钱大于三百是不成立了?不成立还铁锅炖吗?不,铁锅炖,但是程序是不是还得接着往后走啊?接着往后走是不该回家,回家呀,所以这个时候走,对吧?只能回家。吃不了铁锅炖啊,吃不了铁锅炖,所以这种逻辑相当于什么呢?相当于程序这样去执行, 哎,这样去从楼下去执行,执行执行的干嘛呢?这块,哎,产生了个条件判断,如果条件成立的话,哎,他去执行一个其他的东西,哎,执行一个其他的东西,其他东西执行完了回到这,哎,接着往后去走,接着往后去走,当然这是什么?这是条件成立啊。 哎,条件成立啊,那如果条件不成立是不是也得往后走,不管条件成不成立,这后面代表该怎么走还怎么走,知道吧?很多小伙伴就是一写完 if 之后,后面这玩意怎么咋怎么整,不会了,怕一瞬间懵逼了啊,就这个不至于啊,不至于,所以你把这个好好的去写一写,理一理啊,理一理, ok, 那 这是咱们要聊的 if 的 第一周语法。 好,那 if 的 第一种咱们学完了之后,咱们来看 if 的 第二种语法啊,这是标一下啊,这是第一种语法规则。哎,是这个样子,那么它的第二种语法其实就跟刚才我第一次画那个图就很像了,它可以做一个条件的判断,哎,条件判断,如果条件成立呢?执行代码对不对?如果条件不成立,你去看另外一件事情啊代码。所以这个时候我们的整个执行过程是,如果条件成立,干嘛呢?执行代码一,如果条件不成立,你去看另外一件事情 啊代码。所以这个时候我们的整个执行过程是,如果条件成立,你去看另外一件事情啊代码。所以这个时候我们的整个执行过程是,如果条件不成立,你去看另外一件事情啊代码。所以这个时候我们的整个执行过程是,如果条件不成立,你去看另外一件事情啊代码。所以这个时候我们的整个执行过程是,我们的整个执行 执行代码 r, 所以 这俩玩意他相当于是个队里面,懂吗?是个队里面二选一,懂不懂?二选一,选择他的前提是他的条件得是真, 反过来,条件如果是真,一定执行他条件如果不真是假的,那就走下面这个啊,所以他的翻译过来叫否则 else。 来我们看一下视力。这个干掉啊,来我们学下第二组。 哎第二种。第二种呢?就就就我我我直接写一个就是比较好一点的程序啊,比方说还是兜里的钱对吧?兜里的钱,这回我不确定了,让你输入 对不对?你给我输入,请输入你兜里的钱好了。你输入完钱之后我有了钱就可以做判断了。如果你兜里的钱大于五百我不吃铁锅炖了。我要 那这个事情,哎,不行不行不行不行啊,对吧,好,否则,哎,我去干另外一件事情 对不对? ok, 搞定。哎 sorry, 搞定。那么此时程序是不是有两个方向去走啊。你的钱如果大于五百干这件事不大于五百干这件事情对不对?他俩是对立的对不对?来,我们来试一下啊。走,那我现在有九百块钱。哎, 我们又见了一个错误,这个错误什么呢?说这个大于号啊。 not supported 就是 不被支持,不被支持不被支持在哪呢? between instance of str and int int 实力就是数据好吧,你你把它当成数据就可以了。在什么和谁谁谁之间,在四个串和 int 之间不支持使用 大于号。哎,哪能来这玩意呢。五百 int money 哦 input 是 吧? str 对 不对?所以此时我们是不是还得 这还得干这么个事哎。 int 码可以吧对吧。把这个码呢给它转化成 int 类型再重新复制给这码呢这码呢是不是变成数字了对不对?来,我们再试验一下啊。走好了,我兜里有钱了,九百块。走啊 大事情是吧,那兜里没钱那就九块钱,那回家姑娘对不对?所以此时我们这个程序就相当有了两个方向啊,两个方向对不对?来,我们就可以说 程序过来执行的,执行的,对不对?判断一下有没有钱呢?有钱,哎,干这个事,没钱干这个事,对不对?所以 if else 他 俩你可以认为是一个对立的,一个啊,一个效果啊,成立干这个事,不成立干这个事啊。好,那这是 if 条件的第二种写法把,这个各位可以去尝试去写一写,练一练啊。 好,那接下来咱们来看一下 if 语句的第三种语法规则啊,那么在刚才的学习当中,我们其实已经可以写出来一个比较不错的程序了,比方说,我判断一下我兜里有没有钱,对吧?有钱的话可以去做足疗,否则的话就不一样,那么我还想干嘛呢?就有钱吧, 我们就可以做很多很多的选择,比方说我选择真的选择做素脸了,但是呢,我还得判断一下我兜里的钱啊,我可不可以选一个价格高一点的套餐,或者价格低一点的套餐,对吧?因为在这我我还想做判断,哎,我还想做判断,那么也就是说我们 if 可不可以做欠套呢?当然是可以的,来,各位, if 语句 可以互相欠套啊,可以互相欠套。比方说,我们可以这样啊,来,这样搂搂过来,对不对?在这个地方还可以继续 f 怎么怎么着,对不对?一个冒号回来推进去, 对吧?可以继续往下写啊,当然你还可以跟上什么呢? else 这么啪啪啪接着往下写上去,对吧?所以这个东西就很活很灵活啊。比方说我们来把这个真的把程序写出来,来,我把这个复制一下。不是啊,来,第三种, 来,第三种,走,来,过来,走。好了,接下来我依然让他去给我数钱,好吧?嘛,那等于 input, 来 input 就 直接这样写了啊,请输入你兜里的钱。好吧, 就这么写下来的。来,这个能看懂。各位,就是我把上面这个东西就相当于给他扩进去了,把这个 input 这个东西,把这个这个 input 扩起来了。好,接下来读判断。如果你兜里的钱怎么大一千块的时候, 哎,大一千块的时候,你是不是可以去做足疗?是不是?可以,可以 free 一下?干嘛?是不是?做,哎?做足疗?对啊, else 来 free 一下,干嘛?回家五姑娘 啊,但是呢,做足疗我是不是还可以选套餐呢?各位对不对?如果我,我大于一千的前提下,如果我兜里的钱,我靠,这回爽了。如果他大于多少呢?大于五千对不对?充个 会员卡没毛病吧,对不对?还能给我打折呢对不对? else, 否则的话干嘛就就洗个脚,哎,就走, 可以吗?对,所以这个时候我会发现这个东西还可以在钱掏。我大于五千的时候充会员卡,我可以选择,对吧?充八千,充一万,对吧?随随便选择你就发现这个东西可以无限的往下挪下去, 对不对?无限的往下挪下去,对不对?来,我们来试一下这个程序啊,走啊,这回程序的分支就多了啊,比方说我今天穷,就八块钱, 八块钱没的说,这里面进不去,对吧?直接就姑娘去吧,走,那好像姑娘走,你现在兜里钱多了,对吧?我一千两百块,一千两百块,一千两百块,这个条件是不是成立?成立是不是可以去去去,去洗脚呀?洗脚的话还得判断一下啊,大不大?就五千呢,不大, 充卡充不起。那怎么办呢?洗个脚就走呗。哎,好像也没也没问题,走,洗个脚就走。那再往下我还可以干嘛呢?比如说我兜里的钱特别多,今天发了,对吧?一万五千八,走,哎,我就可以充我会员卡。 所以这个时候你会发现 if 可以 无限的往里面进行嵌套啊,无限的往里面进行嵌套,你还可以套很多很多东西,对吧?所以这个时候我们要讲的这个条就是 if 句可以互相的嵌套啊这么一个规则。 但是呢,你如果说真的要往死里去嵌套的话,你会发现越套越深,越套越深。所以第四个要聊的就是想办法不让它套的那么深,还能实现这些功能啊。 好,那接下来咱们来聊这个第四种方案啊,咱们说如果让这个 if 嵌套太深的话,是不是不舒服了,对不对?太深呢,肯定不舒服,所以这个时候我们得想办法,哎,让它别套的这么深啊,让它浅一点,那怎么办呢? if 的 第四种语法来 if 的 第四种语法, 如果,哎,某个条件成立,我们去执行代码一,哎,后面可以跟上这么一个玩意,叫 if 条件二,哎去干这件事情,哎,然后呢,还可以接着 if 条件三 啊,代码三,以此类推,后面就不写了,你可以不拉不拉,不拉,写很多,随便后面最后也可以跟上 else, 对 吧? else 不 拉不拉,不拉不拉,对不对?那它的含义就很好理解了。如果条件一成立,执行代码一, 否则的话听好啊。前提得是这个一不成立对不对?一否则肯定是前不成立才能走到否则吗?对不对?否则如果条件二成立执行代码二因为再否则如果对吧。条件三成立执行代码三。如果上面的都不成立之后 else 收尾啊 else 收尾所以这个程序我们就可以利用这种语法规则把它做一定的调整。哎你往后走 我试一下啊。来第四种啊。这一种用的比较多用的比较多,但是你你你如果能能看明白的话其实很容易的啊。很容易的,比方说一切都从这开始如果大于一千块对不对?我就可以考虑 啊。洗脚啊,大于一千块不行,大于五千块。对大于五千块我不光洗脚我要充卡呢对不对?哎我要充卡对不对?好了接下来可以看了。哎呦 那意思是什么意思?是不是否则对不对?一否则的话是不是当他不成立的时候你比如说当他这里面就会隐含这个条件就是你的这个 money 不 大于五千,不大于五千的时候你的 money 大 于一千。 那这什么意思?是不大就在五千跟一千之间呢在这之间的话可以干嘛?是不就是洗个脚回家对不对?再否则 你又没五千块钱,你也没一千块钱你怎么办?你只能回家对不对?来我们来试验一下啊。走钱的话六千块走充个卡没毛病吧。来走这个时候我点多了, 点多了来。呃三千块。哎。三千块你要你就要琢磨琢磨如果三千成立吗?不成不成了干嘛是不是走这个大于一千呐。三千大于一千成立啊,成立了回家洗个脚对不对?咱走啊,洗个脚回家啊,那再走兜里就八块钱 啊,自己回家玩去,对不对?所以这时候你会发现啊,我们的 a f 条件对吧?就就就就,不像之前的那么深了,一层一层的,那么 a f 和 l f 之间,这里面代码也可以再次嵌入 f 语句,对不对?就说白了,这些玩意可以互相的嵌套,想怎么用就怎么用。这里面唯一不能单独拎出来用的是 else, 你 不能说啥也没干呢,来,看呐看呐,各位, 就它不行,你不能单独的说我 else, 我 要吃吃饭,对吧?否则我要吃饭。 那你搁前面干啥了,对吧?前面干啥了?这什么条件呢?对不对?你就否则了,啥都没有,不行,是吧?所以 else 和 else 你 不能单独的去用它,这是唯一的硬性,不一定其他的随便套,随便用。比如说 if, 单来个 if 可以, 对吧? if else 可以 对吧? if l if 可以, 懂吗?啊?你你你可不能这么干,你不,你不能 if 啊,然后再来一,哎,走了 a if 直接跟个 else, 然后再来 if, 这么干也不行,懂不懂?你你你细品,你你你,你读一读 对吧?如果条件成立啊,否则干这个事情,那还有他啥事呢?永远没有啊,所以不能这么干,对吧?所以基本上 if else 的 用法就是我所总结的,这就这几大类那基本上就这几大类,那这是关于 python 里面如何来做一个条件判断这样的一个东西啊,这样的东西, ok, 那 条件判断,咱们就说这么多,谢谢各位。 好,那接下来咱们来看看这个循环语句,那循环语句呢?在开发的时候呢?呃,它的使用频率比 if 可能还要多啊,所以它非常非常的重要。那循环语句到底是干嘛的?哎,就好比说我们打游戏,对吧?经常能碰到一些喷子啊,喷子不可怕,可怕的是它能一直喷, 对不对?那关键就在能,他能反复的不停的去干一件事情,对吧?那循环语句呢?其实做的就是这样的一件事情,他可以,哎,可以让我们的代码干嘛呢?重复的去执行,哎,这个就是循环的一个作用,那比方说,哎,我们在这块写上一个,写上一个喷子,是吧? 啊?这个这个这个,喷死你好了,随便写这么一句话喷死你,那我这个喷一次的威力你看对吧?很小啊,一闪而过就完事了。那什么怎么才能把它威力加大呢?加上循环对不对?那循环怎么加?对吧?我们介绍第一种循环语句的写法叫 well, 循环 啊。 well, 循环, well, 循环的写法呢,特别的简单。 well, 空格后面跟上一个条件上的判断啊,条件判断,如果这个条件成立,我就去干一件事情,比方说这里面去代码,哎,代码,那么 执行完代码之后他会再一次的去判断这个条件是不是成立,如果成立再执行这个代码,有点像什么呢?像我们喝的那个冰红茶,对 吧?那冰红茶,哎,买一瓶冰红茶,判断一下那个那个那个瓶盖上面是不是再来一瓶,对吧?是,再来一瓶好了,你就再换一瓶,换一瓶上来再判断那个瓶盖,对吧?然后再换一瓶,再换,对吧?什么情况下这个循环会结束呢?当你这个条件不成立,就是你的那个瓶盖,是谢谢惠顾的时候,对吧?他就循环就结束了,所以 vivo 循环他的执行过程 特别的简单,就是判断条件是否为真啊,如果真执行代码啊,如果真执行代码,然后再次判断条件,对吧?然后呢?去去去执行代码,然后以此类推,直到, 哎,直到这个条件为假, ok, 循环结束啊,那这个是 will 的 一个一个过程,那有了这个语法的话,我们就把它套进去呗,对吧?很简单,比如说加上一个 will, 里面跟上一个 true 啊, will true, true, 什么意思?是真对不对?然后把它推下去, 哎,推下去,那这样的话,一个循环结构就算,哎,弄完了,那我们把它跑一下,看看什么效果啊?一键走,对吧? 这个喷人的效果肯定比刚才要对吧?给力的多了,这是名副其实的喷的,对吧?所以这个时候我们就知道了,说循环 will, 对 吧?后面跟上一个处,哎,就可以让他无限循环,对不对?这种循环呢?我们又给他起个新的名字,叫什么叫死循环?什么叫死循环?一直去做一个事情,永远都停不下来, 好吧,这个叫死循环, ok, 那 么有了这个死循环的话,有了循环语句,我们就可以拿循环语句去做很多很多的事情。比方说来,各位,我们想这么一个事啊, 我现在想让你用程序啊,去数数,哎,数数,从一给我数到一百,从一给我数到一百。那么各位,我如果没有循环语句的话,我该怎么做呢?我是不是这样做, print 一, 然后 print 二,然后呢? print, 哎,不对, print print 三,这么以此类推,吧啦吧啦,一直干到一百, 如果你这么干的话,那就有点啊,很痛苦了,对吧?而且呢,我这个只是一百哦,我如果是啵啵再加俩零你就哭喽,对不对?此时我们肯定不能这么去写,对吧?我怎么办呢?我想办法让他循环起来。那循环的是谁?各位,你仔细观察我们这里面是不是都是打印语句啊? 只不过想办法让他打印的内容去发生变化是不就可以了,对不对?所以我几乎就可以断定我的循环体就这地方这里面写这个代码基本上就定死了,他就应该是 print 某一个数,但是这个数呢,得是能变化的,对吧?他从一直到一百,对吧?所以这个时候我们得准备一个变量 i, 他 一开始等于几呢?等于一, 对不对?等于一,然后呢,在这块应该是加上一个循环,对吧?循环然后呢,在这块应该是加上一个谁就打印这个 i 呀,然后你看啊你看啊, 如果是真打印一再来,又打印一再来,打印,打印一永远是一,不行吧?我是不是打印完一之后得让 i 发生一个变化,所以此时应该是 i 等于 i 加一, 对吧?来,你这个时候再看 i, 一 开始等于一好了,打印一,然后呢,一加一等于二,重新复制给这个 i 变成了二,然后上去条件成立,再打印二,然后再加一就变成了三,然后再打印三,这么一次就可以,对吧?这个循环就可以跑下去了,但是呢,循环是写完了来跑一二,你会发现这个程序啊, 哎,我好停停停啊,一瞬间七十二万次了,对吧?你你你,这个东西虽然能数了,但是没有边界呀,我就要一百的呀,你给我七十二万个,是不是有点过分了?所以此时我的这个条件是不得给他控制一下,什么情况下让这个循环停下来呢?是到一百就给我停了,对吧?到一百就给我停,所以当,哎, 小于等于一百的时候,我是不是应该去执行这个循环,对吧?当它等于一百的时候,我应该这样打印呢?然后一百再加个一,等于一百零一,一百零一怎么办?是不是不小于它?不小于它是不是结束这个循环了,对不对?所以此时走你 来从一数到一百,看懂了吧?哎,这就是我们说用 will 循环去数数,哎,程序就这么写啊,这个逻辑呢,也很简单,为啥要有变量?因为我们这个打印里面需要用的这个变量,这个变量必须得能发生改变的,对不对?所以我们得需要一个变量,然后这里面我们的变量得能改变呢?怎么改变?通过这句话去改变, 然后怎么能让循环停下来?就是这个条件来控制他,能让他停下来,知道吧?这就是一个 will 循环数数的这么一个作用啊,这么一个作用。然后各位可以去思考一个问题啊,可以去思考自己,可以尝试一下,你现在是从一数到一百了,那么各位,如果我现在让你帮我去计算一下,从一 加到一百,一加二、加三、加四、加五、加六,啪啪啪啪加起来,我想问你一直给我加哒哒哒哒哒哒,加到 一百等于多少,对吧?这个加起来应该等于多少?各位,你这个东西如果说单纯的敲出来能不能敲呢?能敲对吧?还是那个问题,如果我改成这个,你就傻了,对吧?你就没法算了。所以这个时候我们肯定是想办法用程序帮我们预算,也肯定得用循环,对吧?肯定得循环,那么怎么去循环?各位想想 这个东西从一到一百,那我首先是不是得先考虑怎么把一到一百的这些个数都给它表示出来,对不对?对,一开始的时候肯定是 i 等于几,一开始等于一吧,然后, well, well, 什么?当 i 小 于等于一百的时候,开始执行这个循环吧,然后里面我先打印 i, 然后这地方 i 等于 i 加一, 对吧?这个时候 i 的 范围是不是就从一到一百了,对不对?所以此时我们其实相当于拿到了从从一到一百的每一个数,对吧?一到一百的每一个数,那么接下来 我是不是需要把这几个数的就这个,这个,每一个数是不是都得保留下来,对吧?每一个数的都得保留下来。那么想想, i 等于一的时候,我是不是应该把它保留下来? i 等于二的时候,是不是把上一次加的结果再跟那个三加起来, 对吧? i 等于四的时候,是不是应该把一加二加三的结果再跟四加起来,对不对? i 等于五的时候,应该有一加二加三加四的结果跟五再加起来,对不对?所以此时 此时我是不是 i 已经走了?但是我缺的是不是 i 前面的这个数的和,对吧? i 前面这个数的和?所以此时我可以在外面准备一个变量, s, 他 一开始等于零,他一开始等于零,然后我做这么一个事情,看着啊, s 等于 i 加 s, 哎,我的反过来, s 加 i 都一样啊,谁在前谁在后都一样。我写这样一句话,这样一句话在这,各位啊,你再去思考一下, i 是 什么?是不是一二三四五六七八九十数下去,对吧?好,那么 s 是 多少?一开始是零吧?好,我们一步一步的往下去跟一遍,这个程序跑出来,看看是个什么效果啊各位。 嗯,我用这个,我用这个,哎,用这个给它,给我转,看着啊,当 i 的 值,一个 i 的 值,还有一个 s 的 值,你就看这几个值就可以了。 i 的 值很简单,一二对吧?三, 然后呢?四五六七八,对吧?这是 i 的 变化范围。好了,接下来 i 等于一的时候,一小于一百乘以,然后这个 s 一 开始是几是零吧,对不对?零加一 对吧, i 等于一嘛,所以此时 s 的 值应该是零加一的一个效果,对吧?好,接下来 i 变成了几,变成了二,就到这了, i 变成了二,再去循环好了,接下来 s 的 几? s 是 不是变成零加一的状态,对不对?所以 s 的 值应该过来零加一,然后再加上,是不还得加个 i 呢? 得加点 i 呢? i 是 几? i 是 二,对吧? i 是 二, i 是 二,之后再往下走, i 变成几了, i 变成三了,所以这个地方 i 等于三, i 等于三的时候,干了个什么事来这地方 i 等于三,是不是这个地方是 i? 前面是不是 s 啊?把那 s 再超过来, s 刚才算了,零加一加二,这是刚才那 s 的 值,这时候再加个几,加个三,后面是不用我写了, 往下挪吧,挪吧挪吧挪吧,挪,到最后,最后 i 等于一百的时候,你琢磨琢磨,是不是这个就是零加二加三加一直哒哒哒哒哒哒,加九十九, 对不对?加九九,这是 s 的 值,然后再加上谁呢?我这个 i 的 值一百,是不是就我最后定的结果,对吧?所以此时我们可以说 s 就是 我们最终想要的一个结果,来,我们把它跑一下,看看效果。 走啊,有苦算的应该能知道,就是五千零五十啊,五千零五十,也就是说我们可以在这里面做很多很多的循环上的计算,包括这种式子都可以做啊,都可以做,然后各位可以回去尝试一下做这么一个式子啊,这个是可以当做一个小作业题,就是一减二加三减四 啊,加五减六加七啊,一直减到这点,对吧?然后减一百等于多少?哎,你可以去尝试一下,还有很多啊,类似的这个题,什么一除二,然后呢?加上什么什么什么三除四啊,就这种都可以算, 好吧,都可以算,你可以去尝试尝试往后挪下去,知道吗?那我就给你留这么一个作业,你可以尝试一下做一做。好吧,可以尝试一下做这个就是我用 will 循环你必须要掌握的东西,然后这里面有一个点,我要跟你说一下啊, 把 s 的 值跟 i 的 值加一起,再重新的复制给 s, 这种操作我们在编程里面有一个固定的一个词叫累加 啊,叫累加,就把 i 的 值累加到 s 里面去,你看我们最终运算的结果不也是吗?这不就是 i 的 值, i 的 值, i 的 值吗?把 i 的 值累加到 s 里面去,那这就叫累加运算啊,这个慢慢熟悉,慢慢熟悉,听不懂没关系,慢慢熟悉,先能看懂这个程序 啊,先能看懂这个程序,然后慢慢去掌握它。好,那这个是关于 will 循环你必须要掌握的东西啊, will 循环很好理解啊,因为 if 如果你能听懂的话,就是把 if 换成了 will, 对 吧? if 就 判断一次, will 呢?就是一直判断什么时候条件结束啊?条件为假,什么时候结束。 ok, 那 就是 will 循环要跟各位聊的东西。 好,那接下来咱们来讲一下另外一个循环语句啊,叫负循环。呃,这个负循环呢?在啊, python 里面,它主要是用来呃循环咱们这个可迭代对象啊,它的目标是可迭代对象,那么首先我就是在这块我不会给你深入的去讲什么是可迭代对象,我就告诉你,四副串是可迭代的 啊,你记这么个事,记住就可以了。四副串既然是可迭代的,那么四副串就可以被应用到负循环身上,那么负循环它的语法呢?是负来负循环 它的语法是这样的, f, 然后呢?空格跟上一个变量,然后呢映,映什么呢?一个可迭代的东西, 至于是啥他不管,你就现在知道字母串是可迭代的就够了啊,就够了。然后这里边呢是你循环的代码循环体,那么它的作用是什么呢?是把 可迭代的东西中的每一项内容,那么每一个变量, 每一次复制都要执行一次啊,这个循环体就咱们那个什么那个代码,哎,都会执行这个代码,就好比说我们在这块啊,给各位简单的先演示一下,比如说 s 字母串,哎,等于你好啊,我叫赛利亚 啊, ok, 那 么接下来我就可以复来个 a 啊, a 啊 c 吧,印这个 s, 印这个 s, 什么是字母串?我说了字母串是可叠代的,那么字母串里面的每一项是不是就是每一个文字啊? 你好啊,逗号空格,我叫赛利亚,是吧?每一个文字,每一个文字都可以复制给这个强变量的 c 啊,强变量 c, 那 么每一次把这个字母串里面的每一项拿出来,每一次进行复制的时候,他都要执行一遍里面的代码,比如说我们可以在这里面打印一下,是吧?来这一次循环 得到的是是什么呢?是这个 c, 哎,是这个 c, 好 了,这个时候我们就可以来玩一下嘛,右键走 看,第一次得到的是你,第二次是好,第三次是啊,然后是逗号空格,我叫塞里呀,对不对?哎,这个负循环就很有意思,他可以把字母串里面的每一项给他数 出来啊,每一项给他数出来,那么这个东西就比较有意思了啊,就比较有意思。那么负循环它不仅仅是作用于字母串,还要作用于我们后面要讲的,比如说列表啊,字典啊,圆组啊,这些东西,他们都适用于负循环,都适用于负循环,那么负循环咱们看到的这个玩意,那么我想问负循环能不能数数呢? 对吧?能不能数出什么像外循环一样从一给我数到一百呢?哎,答案是可以的,那么负循环想数数的话,记住必须借助于这个东西来。负循环想要计数啊,必须借助于谁呢?这个叫 range 的 东西, 哎,借助一个叫 range 的 东西,那么 range 是 个什么玩意,对吧? range 它可以跟上一个参数,两个参数,甚至三个参数来,比方说我们有一个参数,来个 n 吧,来个 n, 它的含义是从零数到 n 啊,但注意这里面不包含 n, 不 包含 n, 就 比方说,我简单写一下啊,一瞬间你就明白了, 注,十六啊,这地方否来个 i in range, 比方说来个十,那么这个时候它的含义就是从零到十,但是不包含十,那就是从零到九,所以它的范围是从零到九。来,我们打印一下啊, print i, print i, 来走 零一二三四五六七八九,对吧?那这个就是用负循环来去数数,但是呢,我不希望你就每次都从零开始数, 我希望你从三开始数,三四五六七八九,对吧?那这个时候怎么办呢?来,这就需要两个参数了, range 可以 给上两个参数,比如说来个 m, 来个 n, 哎,留两参数,这个时候它的含义是从 m 数到 n, 但是依然是不包含 n, 依然不包含 n 啊。来,我们试验一下啊,比方说,我看复制就是来一下走 从三数到十啊,从三数到十,那么这时候三四五六七八九十不等啊,取不到十,所以这块三四五六七八九,对不对?来运行一下,走 三四五六七八九,对吧?所以我们发现 range 是 吧,也可以这样按区间的来取啊,区间的来进行一个数数,那他还可以干嘛呢啊?还可以干嘛呢?比方说我们说 while 循环还可以这么干啊,注意,我给你演示一下,比如 i 等于一, while i 怎么呢?小于十, 嗯,就这样,然后呢?这地方 print, 哎,然后别忘了看着,哎,等于,哎。加一,咱之前是不是这么来写的?那此时他的范围是一二三四五六七八九,对吧?来走,来,一二三四五六七八九,那么我还可以干嘛呢? 哎,哎,这么一改的话,一,然后呢?三五七九对不对?走,那一三五七九对吧?你说外循环我可以通过改变变量的这个,这个,这个范围,对吧?改变这个数值来来切换他的这个,呃,每一次的数据的这个间隔对不对?那么负循环这个睿值可不可以呢?一样的 range m n 还可以来个 q 啊,叫 s 吧,叫 s, 它的范围是从 m 数到 n, 依然是不包含 n, 记着啊,依然是不包含 n, 但,哎,对,从 m 数到 n 不 包含 n, 但是 每次的间隔是多少呢?是这 s 啊,每次的间隔是这个 s, 那 比方说我们可以在这看呐,就拿这个图形而立为例啊,我还要,还要实现这样的一个效果,那我就可以 for 来否 i 耶。 range 从哪呢?从一数到十,对不对?然后呢?是不是二啊,对不对?每次间隔是二吗?所以这个时候我们再打一遍来随机走, 对不对?一三五七九跟上面这个是一模一样,那么他的执行过程是怎么玩的呢?就是一,然后一加二等于三,三加二得几得五,五加二得七,七二得九,九加二十一就出去了,对不对?所以就不去了,所以直接就一三五七九结束 啊,那这个是 range 的 效果,所以我们发现用这个 for 循环配合 range 来数数,它好像比那个 well 循环还要方便,还要舒服, 对吧?还要方便,你想我们用 well 循环哎,同样的程序,这个要写四行,这个两行就搞定了,而且呢,没有任何歧义,对不对?很简单,所以我们平时用的多的,所以平时用的多的是谁?是 for 循环知道吧? well, 循环 用的多的是什么?是死循环,因为拿 will 写个死循环特别的容易,直接 will 出就可以了, 哎,一二一啊,直接 will 出就可以了,对不对?它写死循环特别容易啊,所以这个时候我们就知道了,还有一种循环叫负循环,它不但可以说把某一个,对吧可叠带的东西里边的每一项,一个一个给你摘出来,哎,一个一个摘出来,那么还可以进行数数,并且它数数呢,很简单, 所以这就是腹部循环和 while 循环啊,给各位去介绍一下。那么当然各位也可以干嘛呢?拿这个腹部循环去做一做我们在 while 循环讲的时候的那个作业啊,那个练习题,哎,你都可以去尝试一下啊,也很简单,也都都都不难,都不难啊。 ok, 那 关于这个循环语句,咱们暂时呢,就说到这啊,暂时说到这,那么经过咱们这么长时间的一个学习啊,不长是吧?没没没,多长啊,这么点时间的学习,学习完了之后,我们基本上可以说是把 python 的 最最最最最最基本的一些 语法算是掌握啊,而且呢,这些东西基本上是所有的编程语言你要学的时候都要面对的一些东西,知道吧,那么这一章咱们大概就说这么多,下一章咱们开始去啊,就深入的去学习一下 python 的 数据结构啊,他的这个数据类型啊,把这些东西给各位鞑视掌握啊。 ok, 那 这一章呢,就说到这,谢谢各位。 咱们第一章呢,给各位补充一个知识点啊,叫 pass, 嗯,这关键字 pass, pass 呢,这个我们斗地主的时候总用,对吧?这个东西叫过,对吧?下一个,那么在 pass 里面,它主要起到的是什么?是代码占位的一个一个作用。比方说啊,我们写一个程序,比如说,呃,就是就是 a 吧,等于十 啊, a 等于十,然后呢,我们可以做个判断,如果 a 大 于一百,我大码大码,对不对?但是现在我还没想好这个 a 大 于一百的时候,我到底要做什么事,对吧?完全没想好,那我就可以先怼上一 pass 啊,比如说 pass, 先过啊,先过。那么当我后面想想起来了,或者是我想就是 a 大 于等于十的时候,我到底应该干什么事?我再回过来再补这个代码, 对吧?为了防止他报错的,防止他报错,比如说你不写,不写就报错,对吧?就是就是,一个代码完整性啊,在这块补上一个 pass 啊,暂时先过掉它。所以这个 pass 呢,就是代码占位的这么一个作用啊,它是拍成一个关键字啊,一个关键字。所以呢,还是在这块给各位讲一下啊,而且呢,用的,呃, 如果你真敲代码的时候用的多,但真的跑起来把这个代码都写完了,这运行起来的时候,这个 pass 一 般是很少很少能见到的啊。 ok, 那 就补充这一个小知识点啊。 好,那接下来咱们就正式的进入到了第二章的学习阶段。第二章咱们主要是针对 python 的 基础数据类型做一个系统的讲解,因为,呃, python 基础数据类型在以后的写代码的过程中, 基本上是每天每时每刻都要使用到的东西,他基本上可以认为是 python 的 一个根基啊,所以我们要把基础给他打得很牢,后面学习的时候呢,才会费劲啊。那我们这张主要内容呢,第一块就是关于数字啊,还有布尔值他们的一个讲解,为啥把它放一起呢?因为这俩玩意都很简单, 实在没啥可说的,所以我就把它放在一起啊,把它说完了就完事了是吧?然后重点来了,就滋补串,滋补串非常的重要啊,各位,这个东西我们要重点的去学习它,而且呢,呃,你我会给你给你挪出来哪些东西是必须要掌握的,哪些东西呢?简单了解一下是吧?这个东西呢,又多又长, 难呢,倒是不难,主要是记的东西呢特别多,所以呢,很多小伙伴在学到滋补串的时候就容易被劝退啊,所以这块提前给你来一个预防针啊,它的重要程度不核心 啊,重要程度,五颗星,这个东西很重要啊,然后是列表,列表也是我们未来要用的非常的多,而且非常勤的一个东西,它的重要程度呢,也是五颗星,也是五颗星。那列表呢,咱们到那个节点上再跟各位去细聊啊,列表,其实, 呃,就它的数据范围,或者说能存的东西会比字母串啊要大得多得多啊。这列表,然后 top 呢,这东西叫圆组,这个圆组啊,我们简单了解一下就行了, 简单了解一下就可以了,知道有这么个玩意,知道他的一些特性就足够了,没必要把它搞的特别的深刻好吧。然后是赛的几何,赛的几何更是那了解那了解,知道有这么个玩意,知道他的特性就可以了啊,知道他在什么场合什么场景下能用到就 ok 了,知道吧,字典又来了,这个东西就好吧,这个东西就没得说啊,又是一个,多了一个啊。 字典是我们未来使用的频率啊,就是跟字串跟列表基本上同级的,所以咱们这一张最最最最重要的几个点就是字串啊,列表啊,字典的这个东西知道吗?所以他也特别特别的重要,而且他的这种存储格式,这种存储方式啊,你去学习其他的语言也必须要去掌握,那这个东西 没办法,基本上现在是业内一个公认的一种一套,一套一套。呃,就是数据存储格式了啊,然后是 bios, bios 这块呢,它就是咋说呢?重要程度呢?很重要,但是呢它又很容易,因为 只需要记住它的表示是怎么表示的呀?啊?怎么能够产生 bios, bios 能干嘛呀?对吧?懂,这个就够了,所以它的重要程度呢,还蛮高。但是呢又比较容易啊,就四颗星啊,四颗星。运算符这玩意啊,我跟你说 基本上呢你你学完之后呢,都很容易的去掌握它,但是运算符,呃,就就咋说呢?也是记的东西会多一点啊记的东西会多一点,我给他三颗星。好吧,我给他三颗星,不能再多了啊,就很简单啊,很简单,然后操啊,文件操作,文件操作这块呢也是基本上是个固定的格式 基本上都是固定的格式啊,基本上我给他三颗星或者四颗星,因为文件操作一上来的话,我们的综合练习啊,综合的代码的处理能力基本上就上来了,知道吧,所以这个东西 他是把前面所所学的所有东西都串联起来的一个知识点啊,那我们通过这些东西其实就能够发现一些端倪啊。各位,咱们这一张本章内容大多数都是要干嘛?要记得,懂吗?要记得理解的东西不多, 懂吗?理解东西不多,他不像说我们写个算法,你要去理解他,你去感受他,你用爱去呵护他,不是这个玩意就是记啊,没有什么就是太好的办法啊,而很多小伙伴都不愿意去记,所以呢,这就是个矛盾题,很多人其实看到这些东西就已经够了,是吧,全都是要记的东西是吧,但是没办法,这些东西 多记一记,而且呢,在以后的在后面的学习中会干嘛呢?经常的使用到本章内容,那么经常能用就意味着你很容易去理解和记,知道吧,所以这玩意咋说呢,熟能生巧,懂嘛?哎,就这么个意思啊, ok, 那 这就是咱们要聊的这一章大概呢要讲的一些东西。 好,接下来咱们来看这 int, float 和 bar 这三种数类型啊,那第一个要聊的呢是 int, int 呢,它表示的是整数 啊,整数它只能表示整数啊,你你,你不能说把一往 in 里面放放些其他的,当然 python 里面其实无所谓,你弄个 a 等于十,这就是整数对吧?你往 a 里面放个十点五 也没问题,那它就变成了小数,对吧?所以这就是一个整数,整数能干嘛?这个不多说了,能做加减乘除,加减乘除还能做什么?做这个大小比较,对吧?还能做这个事情,其他的你说一个数字能干嘛?没啥事干, 一直是 int 类型。那么第二个叫什么?叫 float, float 呢?叫叫小数啊,又叫浮点数,翻译过来其实叫浮点数啊。那这个东西呢,我要去跟你们去简单的去聊一聊啊,这个浮点数它有什么特点呢?各位请看啊。比如说 a, 它等于十点五来 print 这个 a, 这个其实没什么可可聊的, 很简单,十点五,但是呢,我要聊的是这么个东西,我们就十除以三。来,各位,十除以三其实很容易算,就三点三三三三三,后面无数个三,对吧?哎,无数个三,那么我真的搞出了一个,对吧?无限循环小数到底是什么样呢?来,走,看着三点三,三三三三一对三,然后最后来个五, 这个五怎么出来?这个五出来就很蛋疼,对吧?哪怕说你最后三点三三三个四, 对吧?你来个三啊,就什么呃,二舍三入我都能接受,对吧?三三四我都能接受,但是来个三五我就很难理解,对吧?为什么会这样来?各位一定要记得一个事情,就是说我们的小数,注意啊,他的数据范围 是无限的,所以小数的数据范围是无限的,而整数虽然也是无限的,但是在某一个特定的区间内 是可以表示的很清楚的。比方说我这么讲,比方说从一到一亿之间有多少个整数这个数,这个,这个是是是确定的,对吧?是很清楚的,大概有多少个,对不对?是是很 ok 的, 但是我问你,一到二或者零到一吧,零到一之间有多少个小数, 你是表示不清楚的,对吧?它还有无数个,它的范围是无限的,对不对?也就是说人类都无法非常完美的表示出来每一个小数,那你能计算机它能表示吗?它表示不了,因为计算机注意, 计算机是什么呢?是一个二 g 制的产品,它里面只认识零和一,它只认识零和一,那么只认识零和一,就意味着你这个计算机 他里面能表示的一定是整数。各位,就是你不管是小数还是什么玩意,到了计算机里面肯定是零一零一零一零一,对吧?没小数点吧?各位,对吧?没有小数点,所以他想表示出来一个小数是很困难的,他本身就很困难,他本身很困难,这个时候你又你又想让他表示出来一个,对吧?无限的可能的这么一个小数 是不可能的,所以他一定有什么呢?各位计算机,哎,计算机表示一个小数是会有误差的,是会有误差的,只不过这个误差你能不能接受,你能接受就 ok, 接受不了你还得想办法用其他的方案来去解决。比方说我可以把这个数放大, 对吧?放大,比方说啊,就是零点零零零一,对吧?你说这个这个,这这这这个误差最多能精确到这,对吧?好,既然能精确到这,我怎么能让它减小误差?很简单呢?我把它乘以一万倍, 对吧?乘以一万倍,它这个误差是不是就更小,对不对?把它放大啊,把它放大再去处理就可以了。所以这里面一定记得一个事情,就是计算机表示一个小数是有困难的,而且呢是有误差的,记着这么个事,所以这个五怎么出来的?是那个误差, 好吧,你可以认为就是个误差,所以这个地方不要对 python 这种啊,表示小数或者 float 类型,你对它非常非常严苛啊,没有必要,你只需要知道这个数 ok, 那 么无限接近于三点三三三就 ok 了,对吧?我们未来还会见到一些,比方说会表示出来一个小数啊,比如说二点零零零零零零零零零零零零零 一或者二或者三,那会表示说这样一个数,这个数是不是无限接近于二,对吧?我们就可以认为它就是二,知道吧,这个地方是由于这个计算机的误差产生的。这个东西不仅仅是 python 有 这个问题, java 也有这个问题, c 有 这个问题,所有的计算机语言都有这个问题,因为计算机本身这个地方它就是有误差的啊,所以我要接受一个事情啊, 说的有点多,但是呢,希望你能理解,好吧,就是一个一个,一个一个小的一个小玩意啊。跟各位聊聊,然后接下来我们聊聊这个布尔值。布尔布尔之前咱们聊过了,他是用来做条件判断的,那么他做条件判断的话,他的取值只有两个,注意他的取值范围, 范围只有处和 fos, 对 吧?只有这两个,那么他能得到一个啊。布尔值的话,这个方案是有很多的,比方说他大于啊,小于啊,是不是等于啊?哎,这种都可以得到一个布尔值,那么我们要聊的其实不是这种,因为之前都讲过了,对吧?那这个布尔值放在这,我要讲些什么东西呢?我们要讲 那基础数据类型之间的转化啊,我们主要要想讲一下这个事情,比方说我们之前聊过,比如说 a, 他 等于,比方说十,哎,我们拿引号给他引起来是什么类型?各位,字母串之前聊过,这字母串,对吧?我们可以看一眼这个数据类型,通过 type 能看他的数据类型吗?来走 啊,很简单,它是字母串啊,没问题,它是字母串,那我现在需要用它去做个加减乘除啊,你是不是把它做个数据类型转化呀?所以我们来个 b 等于来 int, a, 是 吧?这个是把字母串转化成 int, 没问题吧?来,这个时候我们再看这个 b 的 数据类型啊,看这个 b 的 数据类型 走,那他就是 in 的 类型,对不对?那么接下来我想做一个尝试,我想做个尝试,我想把一个数字,哎,把它转化成布尔值,哎,我想看看长什么样,对吧?来,这个时候注意看了啊,我把这个注示掉 啊,注示掉这地方多加一个,多加一个。好,随便准备个数字, a 等于 a 等于十。好了,接下来我想把这个 a 呀,变成一个布尔值, 对吧? b 等于,是不是应该把布尔把它括起来,对不对?按照之前的规则,不是你想把这个这个某个数转化成什么类型,就用什么把它括起来吗?一样的逻辑,我想转化成布尔,就布尔把它括起来好了,这个时候我们应该能知道什么,这个这个 b 的 数据类型应该是布尔,对吧?走 b 的 数据类型确实是布尔,那这个布尔到底是啥,对吧?到底是啥?我把一个数字转化成布尔,他现在是处,对不对?那十是处九, 哎,也是数,来这地方我们来个负九,走也是数,对不对?那谁会是 false 呢?零是 false, 喂,零是 false。 所以 记住一个事情,在拍数中啊,所有的数字 非零的数字都是真,而零是什么?是零是 false? ok, 那 么有这个特性,我是不是就可以在我的循环那块,是不是 在我这个循环的那一块,是不是就可以做一些文章啊?比方说我之前讲过,我说我们想写一个死循环,是不是 will, 对 吧? print 还我钱,是不是这个时候走,哎,一个死循环啊,还我钱,还我钱。那么我现在想把这个程序进一步简化,谁能表示出来是不是非零就可以表示是处啊?谁是非零?一,是不是非零?所以走 是不是也是死循环,对不对?哎,所以我们的真正的在就是就是大脑在写死循环的时候,基本上都是这么去写,所以这个是啊,死循环啊,永 为横吗?横为真,永远是真啊。这个是我们对布尔值的,就是数字可以作为这个布尔值来进行使用,那数字能这么改,似乎是二行不行啊,对吧?你好啊,来,我们推一下布尔,别转化啊,转化 走你就,对吧。哎,空格来处好了,把它删掉,走 false, 发现什么规则没有?就是在 python 中所有 非空字复串都是,哎,都,都是真,对吧?都是处,而空字复串是 false, 对 吧?空字复串是 false, 哎,我好像找到一个规规律,对吧?你看啊,零 对吧,表示的是 false, 空表示的是 false。 零和空,它们都有一个含义,是不是就没有东西,对不对?没有东西就好比说你兜里边转零块钱,是不是没钱, 对不对?哎,你的兜是空的,就是也是没钱,对不对?所以也就是说在 python 里面基本上可以断定一个事情,就是啊,就综上我们得到一个结论就是在 python 中什么呢?表示空的东西都是 false, 不 空的东西都是主。 哎,我们来做一个测试啊,比方说我们未来要学习的一个数据类型叫什么?叫列表,列表啊,这个拍子里面这玩意叫列表啊,现在这列表里面中括号里面是不是啥都没有,啥都没有是不是就空了?空的话来走,固尔来 list 走,你是不 first, 往里面加个东西 走,数变成了数。那有人问我说我家零呢,零不也是空吗?哎,但是你零虽然是空,但是你要知道你这个列表是不是装东西了,虽然装那个那个东西它是零,但是列表里也也有东西,对吧?有东西就是真 啊,有东西就是这。所以这里面我们基本上这个事情在 python 的 基本数据类型当中啊,在 python 的 基本数据类型中,表示空的东西都是 false, 其他的东西都是 true, 知道吧?所以这个结论希望你能记得住。各位啊,这个结论希望你能记得住。这个我们未来会,呃,经常的能用到啊,经常能用到。比方说我们可以做这样一个事情,看到, well, well, 一, 好吧, well, 一, 哎, well, 一, input。 请输入你要喷的内容,还记这个事吧。哎。 content 等于来,我们接下来打印你要发给打野的内容,对不对?你要发给打野?什么东西啊? content, 好 吧,这个,这个很简单啊,之前咱们写过一次,然后我喷内容,别来下路啊,来了就送,对吧?哎,你还可以这样这样一直挥手,那我现在想干嘛呢? 你如果什么都不输入,就让这个程序给我停,哎,你什么都不输入就让这个程序给我停,那我可以怎么改呢?哎,如果你输的这个康腾腾有东西好干这个事情,你要是没东西我是不是直接不理他就可以了,对吧?有东西我就干嘛,没东西我就干这个事情,来,走吧。 啊,小叔,你要喷的内容还我钱,走你。哎,我一回车这程序结束了,所以此时我们就发现啊,这个东西还可以这么用,对吧?还可以,这么未来我们会遇见大量的类似这样的代码啊,如果他有东西干嘛干嘛干嘛,包括列表,老师,如果列表里有东西,我干嘛干嘛没东西,那这样的事情啊,这个就是我们未来能够 遇见的或者是能够用到的一个小知识点。 ok, 那 至此我们把 python 的 三个基础,基础数据类型啊,一个 int, 还有一个 float 啊,还有一个布尔,那跟各位就讲清楚了。 ok, 那 本期呢?就说这么多,谢谢各位。

pason 从入门到精通第二阶段第一章二点二,管理系统二、学 python 我 只看糯米哦 在上一期视频中,我们搭建了学生信息管理系统的股价,定义了局域列表、 students list 和几个空函数,就是菜单添加、查找、修改、删除这五个空函数。当时我们说先搭骨架,再填血肉, 那么今天我们就正式开始往这个骨架里填充。核心功能就是菜单显示和添加学生的信息这两个核心功能为什么要从这两个功能入手?因为他们决定了用户能不能顺利使用系统,以及学生的信息数据能不能正确的存进来。 如果用户连菜单都看不清,那么用户就肯定不知道怎么操作了。如果用户在添加学生信息的时候不检查学生的学号是否重复,那么用户在后面查询学生信息或者修改学生信息的时候就会乱套。所以这一期我们就来解决这两个关键问题。 第一个问题就是菜单显示,我们需要做的是用户每次启动程序的时候,用户都能看到一个清晰的操作指南。第二个问题是添加学生信息, 让用户可以输入学生的信息,同时保证用户输入的学号是唯一性的,避免学号重复录入。这两个功能实现后,系统就不再是哑巴,而是能跟用户对话,能存数据的小工具了。 第一步,让菜单真正显示出来。菜单函数其实很简单,他不需要参数,也不需要返回值,只负责把界面打印给用户看,我们给他加点修饰,让他更美观。这里我们在昨天原有的代码上加了一个换行, 这样可以让菜单在视觉上看起来更加清楚。接下来我们解决第二个问题,就是实现添加学生的信息。添加学生的信息需要让用户输入学生的学号、姓名、年龄、性别、电话、班级这六个信息, 这里我们就使用 input 函数提示用户输入学生的信息,然后把这些学号、姓名、年龄、电话、班级分别复制给另外一个变量就可以了。 至于小数点加 strip 加括号,这个是为了防止用户输入学号的时候可能会敲到空格, 比如用户在输入学号的时候不小心点击了一下空格,然后再输入学号二零二六零一,那么这样就会导致本来相同的学号被判断为不同的学号, 所以我们用这个 strip 加括号的方式去除掉用户在输入学号的时候点击到的空格, 这样才能保证用户输入的学号是唯一性的。至于第二步,我们就是要检查用户输入的学号是否已经在 studentlist 列表中存在。 如果输入的学号在 studentlist 列表中存在,那么 python 就 会提示学号重复,会直接执行 return, 函数就会直接结束函数,不再执行后面的代码。 如果输入的学号在 student list 列表中不存在,那么 python 就 会把新学生的信息包装成字典,追加到列表里,并且提示学生信息添加成功。最后一步就是让咱们的 main 函数来做这个总指挥了, 用 main 函数把这三件事串联起来,其中 main 函数需要一个主循环,就是反复循环地做三件事,第一件事显示菜单, 第二件是获取用户选择,第三件是执行对应功能,这三件事就是 main 函数的任务,这里我们用一个 welcome 来实现无限循环,保证程序的运行, 说明你又是调用我们上面之前定义好的菜单,函数就在这里,菜单的函数名就是 show menu, 因为我们要把这一个个函数名做代码操作, 这里再用 input 函数提示用户选择哪个菜单,下面是条件语句了,就是假如用户输入数字一, python 就 调用 add student 函数, 就是进入到添加学生信息的功能,如果输入数字二, python 就 会打印提示说查找功能正在开发中,敬请期待。 这里的提示语其实就是一个占位,在我们后面的课程当中,我们会换成真正的查找函数, 这里程序会等待用户输入数字零,这样 python 就 会直接执行 break 句,就会跳出循环。这里的 else 是 提醒用户输入零到四的数字,如果用户输入的数字超出了这个范围,程序就会提醒用户输入错误, 最终我们再调用一下这个函数,这样我们就把菜单显示,添加学生的信息,主函数 main 这三大板块的功能给写好了,我们来运行一下代码看看效果,可以看到运行的结果就是显示出了菜单,并且等待我们输入数字, 这里我们就输入数字一来添加一下学生的信息,然后我们接着依次输入一下学生的信息,比如学号就是二零二六零一,姓名是小赵,年龄是十八岁,性别是男生, 电话是幺五零,班级是计算机一班。我们再回车一下,这里就可以看到程序已经提示我们学生信息添加成功了。比如我们再添加一个学生信息,输入学号和小赵的学号是一样的,就是二零二六零一, 姓名的话是小钱,年龄也是十八,性别也是男生,电话是幺五幺,班级也是计算机一班。这里我们再回车一下, 这里可以看到系统会提示我们学号已存在添加失败。做到这一步,其实我们的系统已经可以正确接收数据,并且防止数据的重复了。糯米这里总结一下今天的知识点,第一,我们完成了菜单的显示,就是让用户知道系统能做什么。 第二,实现数据的录入,并且引入的数据是唯一性的,保证数据干净。第三,用 main 函数让整个系统能跑起来。虽然现在还只有添加学生信息的功能,但是整个系统的交互流程已经跑通。 至于后面的查找信息、修改信息、删除信息,这些都将基于当前的结构逐步添加代码,并且不会破坏现在已有的代码。那么今天的课程到这也就结束了。 下一期我们将实现按学号查找学生信息和删除学生信息的功能,让系统能查能删,变得越来越实用。关注糯米,持续带你掌握 python!

盲目自学只会毁了你!这才是抖音最系统的拍算教程,存下吧,全两百级纯干货版,真的很难找全了!警告,本视频耗十三个月制作,制作时长三百分钟,陪你系统的学习拍算!这应该是抖音目前最良心的 入门到进阶的拍算教程了,哪怕你是零基础也能学会。之后呢,会给大家一个小福利,有搭建开发环境资料包,拍算从零到一的学习计划表,只需上百集素材,书籍、课件等等,只要你能想到的素材我这里几乎都有。 评论留言六六六即可全部免费打包带走!相信我,这套拍照既可塑墙,将会是全网最齐全最一等的小白专用课。如果看到这对你有所帮助的话,请给老师一个免费的一键双联吧,让更多想学习拍照的小伙伴看到这个视频。下一站,上岸上岸站位于门头沟区,是地铁一线的一座车站,因上岸村而得名。希望看到视频的你们心想事成, 上岸,下一站,上岸! 顶峰剑,我们终会上岸!好,那接下来咱们对字典呢做一个简单的补充啊,那字典呢,在进行循环删除的时候呢?它是有一个问题的啊,比方说,我现在随便准备一个字典啊,为了节约时间,我就随便拿一个了啊。比方说,嗯, 你还是你来过来好。哎,好,那此时呢,我想做这么个事啊,我想把姓大的全干掉 啊,我想把姓大的都干掉,那么此时肯定要循环是吧?这里边的 key 了对吧?所以直接我就循环报 key in 我 的字典对不对?那我就可以判断,如果我的 key 点 star space 是 吧?如果是姓大 哎,姓大姓大的话呢?我就想把你删掉嘛,那字点点对吧? pop 或者说是呃 delete 都可以啊。那 pop 这个 key 把它删掉,一切看似都是那么的水到渠成,对吧?最后打印一下字典,哎,走,你会发现我就给你报错了,它会报这么个错。 那这个咱们之前讲那个呃列表的时候,其实有一个类似的操作列表,那个是删不干净啊。这个呢是更严重,他最近报错了,他说 dictionary 是 字典啊。 change the size, during iteration iteration 呢?就迭代循环好吧,循环 during 在 循环的时候,那合起来的话,就是字典 在你进行迭代和循环的时候改变了大小,那你改变大小,他给你报错了,意味着什么?意味着你在循环这个字典的时候,然后你又改变这个字典的长度,改变字典里边的数据的这个这个多少?不行 不行,说白了不能删。好吧,不能删。那不能删的话怎么办啊?跟那个那个列表其实是一样的,我们可以准备一个,对吧?临时的一个列表 哎。准备个临时列表,这个临时列表负责干嘛呢?存放即将要删除的 key, 把所有要删除的 key 全放在列表里,比如说 t m b 点,对吧? append。 哎,把这个 key 存起来,存起来之后呢?当我循环之后,那我就知道我要删的是哪些东西了吗?那我去循环来 for 呀。 for 这个这个这个 t 吧。 in d m p 对 吧?我此时循环我的这个呃列表呢?列表里面放的是要删的 t 啊,所以直接就是字点点泡泡,哎, t 是 不是可以了,对不对?所以这个时候是循环列表 然后删除字典中的内容对吧来我们再实验一下啊走 看就把那两个没用的啊就给删掉了所以此时你会发现这个呃字典也好列表也好他们在被循环的时候你直接去删除 对吧。都是有些问题的啊都是有些问题的 ok 那 这是我们要嗯跟各位去补充的一个小知识点啊那么关于字典咱们大概呢就说这么多简单的总结一下字典记着啊它的存储方式是以 key y 六进行存储的并且它有一个要求硬性要求啊就是它的 key 必须是可哈希的数据类型就不可变的数据类型 在这再说一下啊就不可变啊不可变的数据类型这个呢就是可变 sorry 呃 对可哈西是是不可变啊这这这这个不可哈西的话就可变那么 y 六的话呢没有要求啊没要求想放啥都可以啊想放啥都行那么字典分成给啥。我想往字典里面新增一个东西直接给它 key 啊往里放东西就完了知道吧。直接赋值直接赋值它的操作也非常的简单。那还可以通过什么?通过三 d filter 也可以进行新增但是三 d filter 有 个特点就是它的 key 如果原来已经有了啊已经有了那么它就不起作用了知道吧这是它的一个特点那 如果你通过上面这种方式进行新增的话还得确定一个事就是你的 key 啊之前不能存在如果你之前存在了就给你修改了啊所以这俩玩意正好是相当于一个对界面好吧那再往下删除的话呢用 pos 啊把 key 给他他就帮你删了啊。查询的话呢,直接通过 key 去查询就完了,所以字典的基本操作你细品, 对吧?主要说的就是那个 key, 你 把 key 研究明白了,这个字典你就基本上就通了啊。然后接下来咱们又聊了一下字典如何进行循环和嵌套啊。嵌套就甭说了,嵌套太简单了,那循环的话可以直接循环出来 key, 对 吧?也可以直接拿到所有的, 对吧?所有的 key, 直接拿到所有的 y 六,以及直接通过循环就可以拿到他们的 key 和 y 六。那用到的那个操作呢?叫 items, 所以 这个操作必须要记住啊,必须要记住,咱们后面会经常能用到这个东西, 然后再往下就是就没啥玩意了,对吧?就是这节课上聊的字典在循环的时候啊,不可以直接进行删除,他会报错的,他会报错的,所以我们需要,对吧?准备一个,就是就是 临时的一个列表来存放你要删除的东西,再循环他,然后呢,再从字典里面进行删除啊,但是这个点你你你不要不要担心啊,不要担心说字典一循环就不让,就是在循环里就不让删删删东西了,并不是,你得是循环这个字典,又要从这个字典里面删东西,这种情况不行,你循环别的东西去删字典没问题。 好吧,那这这这这个你要搞清楚啊,别混了啊,别混了。好,那这是关于字典咱们要聊的所有的内容啊。 ok, 字典就说到这儿,谢谢各位。 好,那接下来咱们来说一下这个 bios 啊,那说 bios 之前呢,我们得先去了解一个全新的知识点啊,叫字母集和编码,这个东西呢必须得给它弄明白,因为后面我们讲爬虫也好,或者说做遇见文件操作, 或者说是数据的导入导出,都会跟这个字赋级和编码啊息息相关,你要是字赋级编码没弄明白,到那个地方你会很痛苦啊。首先我们先去思考一个问题啊,就是我们现在用到的电子产品啊,包括这个电脑啊,手机啊,甚至说一些个终端设备,智能手表这些东西,他们呢,终归到底他是个电子产品, 对吧?耗电的,对吧?那也就说,呃,我们的电脑他是个电子产品的话,他是怎么来表示成这个数字的,对吧?他先思考这个问题怎么表示数字的?那对于一个电子电路而言,他有一个很神奇的东西叫二极管, 二极管,二极管呢,他有两个状态,一个呢叫通电,一个叫做不通电。那么在电子电路里面,我们就可以把把他表示成两张状态,一个叫高电瓶和一个低电瓶。那么聪明的科学家呢,就把这个高电瓶和低电瓶啊,给他做了一个抽象,给它抽象成了零和一 啊,抽象成了这样的一个概念,那么有了这样的一个概念之后,看呐,有了零和一,那我们通过数学上的一个转换,对不对?就可以把这些个,呃,这个这个电子电路,比方说啊,很多个二极管哎,放到一起就可以给他一起组织成一个很长的一个数字,对吧?当然肯定是零一,零一,零一这样的东西,但是呢,通过数学家的一个转换,我们就可以通过一个二进制的转化, 二进制转化,哎,就可以变成什么呢?变成我们的熟悉的这这个东西,对吧?就就就是把这个很多二极管组织成一起,变成这个东西,变成这个东西之后,哎, sorry, 就 这个通过二进制的转化,对吧?二进制转十进制, 对不对?就可以变成我们生活当中的,比方说九十九啊,八十八呀?这些个数字,对不对?同样道理,这个这个过程是可逆的,可逆的,我想往计算机里面存个八十八,那很简单呢,把八十八变成什么呢?啊?通过这个,当然当然不是这个二进转转十进制了,是十进制转二进制了,然后变成这个东西,然后再给它存到我们的电电路里面, 对吧?或者存到我们的硬盘里面,那这个时候我们其实计算机就可以通过啊这个电子电路来表示成数字了,对吧?这个这个过程是很通顺的啊,很通顺的。那接下来问题来,你的计算机只是用来做计算吗? 并不是啊,有的时候我们的计算机还要承担一些文字上的操作,对吧?比方说我们看一部小说,对吧?我们想去做自传操作,之前讲的自传操作,对不对?这些东西都会涉及到文字上的一个处理,所以接下来的问题就是你的这个电脑, 哎,如何进行存储什么文字信息?这个是个文件,对吧?那电脑怎么来存储文字信息呢?对吧?聪明的科学家就想到了一个, 呃,一一一种方案啊,一种方案。但是这种方案呢?其实具体灵感来自于哪呢?不得而知,但是我可以给你举个例子啊,比方说各位,我们平时看的那个抗日神剧啊,或者说是这个战争电影里面,总会出现一个人坐在一个工作台前面,然后在那摁的那个那个那个那个 小啾啾啊,给他摁哒哒哒哒哒哒,就那个东西,对吧?那个东西呢?我们知道它叫什么,摩斯码,对吧?但是呢,这个摩斯码它又是怎么来传递信号的呢?它其实很简单,就是用什么点啊?还有这个杠啊,对吧?通过这些东西来进行传递信息的,比方说它会有一个密码本,哎,三个点来,三个杠, 哎,三个点,三个杠,这个合起来,你如果出就是输入了这么一段东西,好了,我认为它是什么呢?它是字母 a 啊,以此类推,我就可以叭叭叭排出很多个排的组合来,最终能够表示出我们的一句话,对吧?所有的字母啊,文字信息都可以表示出来,那么计算机也是用类似这样的操作来完成的,那么只不过他怎么办呢?他在前面这个地方啊,摩丝码里面是点啊、杠啊这些玩意,到了咱们的这个计算机里面,他只有零和一,那一样的,我就排呗。 嗯,就这个假设啊,这我就输入到计算机的时候,我就输入这一串 数字,是不是也可以啊?对吧?以此类推,就形成一个什么呢?互换的一个关系,哎,形成一个互换的一个关系。那么这个时候就涉及到一个问题,我需要对我所有可能出现在电脑上的文字做一个从头到尾的编排, 对吧?从头到尾的编排,那么最早的这个计算机的这个啊,就电脑上面这个这个编排啊,各家有各家的编排方式,就是我我我加上我是做做做,就是电脑制造商,我呢用我家的这个编编码方式,然后呢?你家用你家的编码方式,但是一家一个样,这个时候问题就来了,如果在我这个计算机上 写下的这个文字信息扔到你那台计算机上,是不是就不认识了,对吧?两套密码本吧,对不对?两套摩斯密码,那这个时候就不行了,那怎么办呢?美国他就提出了这样的一个方案,说你们别,别闹了啊,别扯淡了,一家一个。我靠,这东西没法用了,怎么办?统一一个标准,统一一个标准,这个标准叫阿斯哥玛 啊,阿斯哥玛,在阿斯哥玛里面,美国人直接规定了,直接规定了我们用到的每一个文字符号对应的二进制编码 啊,每一个文字符号对应了二级编码。那以后我再想去写信也好啊,写东西也好啊,对不对?就直接参照阿斯特码就可以了。那阿斯特码一共排了多少个东西,你心里要了解啊,一共编排了一百二十八个 文字符号啊,这一百二十八个文字符号呢,里面包含了我们用到的英文字母啊,大写字母,小写字母,还有这个数字,还有我们常用的一些个标点符号,比方说你摁住 shift, 一二三四五六七八,这些个是不是文字符号啊?还有一些个特殊的操作符,比方说回车呀,比方说一些个删除啊,对不对?等等等等,这些东西它都属于操作符,那么阿斯个码把这些个操作符也都编排进去了,一共编了一百二十八个, 那一百二十八个换算到计算机里面需要多少个零一才能表示呢?注意,只需要七个零和一就足够表示这么多东西了。来只需要 七个零和一就可以表示了,但是这七个零和一他全都用了,那比方说最后二十码的最后一位,就这玩意, 一二三四五六七啊,就全都用了一百二十七个,对吧?就一百二十八个,全都用了。那这时候问题就来了,各位,问题来了,你这些东西全都用了,万一某一天哪个大佬说,哎,我现在又多了个符号 对吧?你都弄完了,我这多这个符号怎么办,对不对?所以他必须得预留出来什么呢?准备用来扩展的一位,所以阿斯克马在前面嘣又怼了一位, 那就怼强行怼了一位,那么这一位怼上去之后,他的长度正好契合于当时大家比较认可的一个数字交换的这么一个统一的单位,叫字母,叫字母符号啊,在阿斯克马里面占用的是一个字母,一共是几位呢?各位, 八位,记住这个单位啊,是八位,然后这个阿字码一直延续到今天,我们今天在我这个电脑上看我输的所有的这个英文的符号也好啊,英文的这个字母也好啊,全都用的是阿字码啊,阿字码。那给各位去看一下啊,这是我之前讲课的时候写的 一个课件啊,里面我把这个所有的这个阿字码的东西全都排列出来了,你看这里面有什么空字符啊,标题开始正文字是吧?一大堆东西啊,换行, 换行,还有什么?换页回车,对不对?然后还有什么控制设备啊?控制设备,然后底下呢?往下走,往下走看这些就是特殊符号了,对吧?一些特殊符号,然后再往下还有什么呢?这个 a、 b、 c、 d 字母了,对不对?然后底下小写字母啊,还有一些特殊的标点符号啊,最后 这个不能动啊?最后一个是这个删除,对吧?一共是排满了啊?一共全都排满了。那么全都排满了之后,各位,问题又来了啊?问题又来,我们来想一下啊,这里面各位你仔细去看啊,回去你可以去看看这里面有没有中文的标点符号。 那很明显没有,对吧?还有有没有中文也没有,对不对?为什么没有呢?因为当年各位,这个玩意是什么时候产生的?是一九六几年的时候产生的, 对吧?毫不毫毫,就是毫不掩饰的讲,那个时候我们其实还相对来说有点落后,对吧?甚至说在全世界能认可计算机,认可这个东西存在的只有美国,老美用这个东西,对不对?所以那个时候老美他只考虑自己的,没考虑别人,但是计算机终归有一天他 突破了美国的,反正就是从美国出来了,对吧?我们也要用,非洲人民也要用,对不对?那这个时候问题来了,你这套编码是不是就不够用了, 对吧?不会用了,不会用了之后,那就往里面扩呗。我不是给你留位置了吗?前面还有一位呢吗?对不对?那这一位能编排多少东西呢?还能再编一百二十八个东西, 还能再加一百二十八个东西,但是远远不够啊,各位,我们中文各位,我,我毫不吝啬的讲,你随便上中国的书店买一本超过十页的书,你回来去数一数,肯定超过一百二十八个字 啊,肯定超过一百二十八个字,还有标点符号呢,对不对?还有一些个特殊的文字符号,怎么办?哎,这个时候啊,就这个老美呢,想了,这个玩意早早晚有天要要要放出去吗?对不对?那这个时候他就提供了一套标准,这套标准叫 a n s i 啊,叫 a n s i, 对, 他是一套标准 啊,这套标准是怎么玩的呢?很有意思啊,很有意思,这套标准它规定每个符号啊,字符吧,每个文字符号,每个字符它占是十啊,是这个十六位, 十六位,几个字节呢?两个字节。哎,两个字节,两个字节的话,注意,我们二十个码,二十个码它是不是就就是后面这几个?这几个用了,前面是还空着呢,对不对?那二十个码拿过来,二十个码该有还是有,对吧?后面是二十个码,那前面 来,前面这还空着呢,因为他原来原来原来只有只有,原来只有这么长吗?现在被强行的又扩充了一倍啊,不是一倍啊,就扩充了一大堆出来,那扩充出来一大堆, 接下来问题就来了,二十个码,原来还是二十个码在用,那么他提供完这套标准之后怎么办呢?他把这一套标准放出去,放出去,比如说我放给中国,放给这个,这个日本,放给韩国啊,放给三个国家,那么剩下的这些个位置,其余的这些位置你们自己国家自己往里面去添。 那我只提供一套标准,剩下的你们自己去添,反正我这个二字码的位置不能动。好吧,二字码位置不能动,其他地方你自己往里添就可以了。那么这个时候到了中国,对,这个东西到了中国,由中国的,我忘了是哪家公司了。然后呢?联合政府一起往里面添了一些文字,那么形成了最早的叫 g d 二三六二密码 啊, 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 这样的一个编码机,它呢被称为叫万国码,你听名字对吧?万国码还有统一码, 对吧?就跟那个秦始皇统一这个度量衡是一个道理,对吧?你们,你们之前用的那个都不行啊,用我这个,我这个就全统一了啊,都按我这个标准走,制定了一个全球统一的一套标准啊, unicolor 的, 但是 unicolor 的 他想把全世界所有国家的文字全放进去,能不能放?能放, 但是你既然要全都放进去,你就要付出一些代价,比方说,比方说我们中国的汉字保守估计也得有九万来个, 对吧?保守估计得有九万来个。那这个时候你要想上面的 n s i 的 这套标准里面,每个文字符号占十六位两个字节的时候最多,最多他有六万五千五百三十六个位置能供你去编排。 到了万国码,这中文如果全想进去,各位,你要知道至少九万个文字放不进去吧,各位,对吧?那这个时候问题来了,那万国码就必须进行补充,但是早期啊,各位,早期,早期用内扣的, 没有意识到这个问题,没有遇到这个问题。早期的内扣子叫 u u c s 还是 u s c 了,是这个 two 的 标准,这个 two 表示的就是两个字节,早期它就是两个字节, 早期它是两个字节,但是呢,最多就六万五千五百三十六个位置存不下,然后它就进行了扩充, 是吧?它防止说再出现类似中国这么多的。呃,这个,这个文字信息怎么办呢?又扩充了一倍,那叫 u u c, 是 usc 还是 ucs 来着?我天,不管了,反正又扩充了一倍,变成了四个字节, 又变成了四个字节。好了,你又变成了四个字节。接下来,那这个时候问题又又又又来了, 第一,二十个码已经深入人心,你不可能动二十个码的位置,对吧?那你依然不能动那二十个码到了 unico 的 里面,照抄照搬过来,但是你扩充到了四个子节,就意味着你原来你原来是这玩意,对吧?扩充成四个,这是一个吗?来两个,三个,四个,你扩成这个鬼样子, 对吧?你困成这个鬼样子,那问题又来了,你,原来啊,假设你写了一封一封电子邮件,你这封电子邮件里面呢?全是英文字母啊,全是英文字母。那这个,这个时候,呃,你你你,原来啊,用二十个码在进行存储的时候,各位,用二十个码进行存储的时候,你可能假设是,呃, 就就就就就一兆吧,就吧,一兆。但是你到了这个,这个,这个 unico 的 里面,我的天,是不是一下就翻了四倍了,变成了四兆空间,是不是很浪费, 对吧?你浪费空间,这个,这个,你要知道,当年的我们的这个电脑还是用软盘的时候,对吧?那个一套是很贵的好吗?还有你在发送 email 的 时候要进行网络传输啊,各位,网络传输,当年那个那个流量费,对吧?当年我记得上网还得拿电话线呢。 对,那个时候就很贵,那这个时候为了节约这个资源,这是第一点啊,节约资源。第二个点就是 uniqlo 的 这个码,他只是一个编码,就像那个,呃,就这么说吧, uniqlo 的 码就是好比说是中文,哎,就是中文,我就告诉你他是中文 对不对?但是具体执行下去,你真的把这个中文写出来,你是不是得用什么行书、草书、立书? 你说你说得把它写出来,各位对吧?你得用各种各样的实现的方案把它写出来才可以。因为所以 unico 你 可以认为是一个什么呢?是一个概念性的东西,这个编码就是这样的一个概念性的东西。那么 接下来就是怎么把这个概念性东西给他落地,让他能够实现,能够使用,对不对?那就可以涉及到我们把它真正的写出来,真正用起来,用到这种东西,那么这个时候你就发现如果纯内扣的存储也好,传输也好,都不行,这玩意太浪费空间了。而且你要想我在内存里面,比方说我就存这么个东西,我就这么存一个东西, 看着啊,我把这盖盖,我就这么存一个东西,那么接下来我问你,这个东西这一段是文字啊?还是操作符 对不对?计算机很有可能会把它识别成操作符啊,因为操作符二十个码里面只有八位,对不对?所以这个时候你这个 u n c 的 根本没法落地,你虽然把所有国家的文字信息全都罗到一起了,但是你没法落地,懂吗?那落地怎么办?这时候科大又想了一个办法,就是什么呢?叫 utf, 这套明白吗? utf 它是 可变长度的 u n c 的, 它可以进行数据的传输 和存储,它可以进行数据的传输和存储。说白了上面这个就是中文的概念,下面这个才是真的行书、草书、立书,真的把它实践起来,用的时候用的是 ufo, 感受用的是 u t f, u t f 呢?又分成两个,呃,不是两个月,是三个啊,咱们常用的是 u t f 八,有的时候也能遇见什么呢? u t f 十六啊,但这个很少见啊,很少见。这个八和十六表示的是最少最短的这个这个,这个,呃,字节长度 来最短的字节长度,这个是八,这个是十六,那么就是 u t l 八最短的时候,一个这个,这个英文字母,它就由八位来表示就可以了,跟阿拉伯一样,跟阿拉伯一样。 而如果遇到了,就是比较复杂的文字信息,它会进行一个可变吗?它会进行增加,进行增加,那么增加的标准基本上是这样的,就是英文就是八个贝特啊,八位, 那么对应的是一个字节,那么对应一些个欧洲的文字,他是十六位,然后是两个字节 啊,两个字节对应咱们的中文,我们最关心的一些中文,那么他是二十四位,是三个字节 啊,是三个字节,那么这个时候各位应该就能猜到了,你这个中文呢,对吧?他是这个三个字节,三个字节。二十四位能表示出来多少个文字呢?对不对?我们算一下来,二十四,我记得是好长好长的, 呃,个十百千万,十万、百万、千万,一千六百万的位置,一千六百万的位置,足够你用,对吧?足够你用了,所以啊,没有任何问题。那这个时候 u t f 八其实就可以作为什么呢?进行传输啊,作为存储啊,就可以进行使用了。不管怎么说, u t f 八肯定比 u m c 的 短, 对吧? u m c 的 这么老长,巴拉巴拉这么老长,但是到了 u t f 八里面,一个英文对不对?就会短很多。但是如果你是一封纯中文编辑的,一个英文对不对?就会短很多,但是如果你是一封纯中文编辑的, 有文本信息,那么它的呃存储的这空间也要比 g b k 要大,这也是为什么 g b k 依然今天还在用的一个根本原因,它还是能节省一些个数据的,知道吧?那么这里面为啥我们 平时用的操作系统 windows 里面默认是 g b k? 那 像我这个电脑,我这个破电脑是苹果,苹果的默认是 u t f 八啊,苹果的默认是 u t f 八。所以这里面各位啊,这里面你要记住的一些个东西,接下来就是一个总结了,最早的编码叫阿萨克码, 那就阿特码,它呢是八位,然后呢一个字节啊,一个字节。第二个,呃,第一个就是阿特码,里面存的主要就是英,就是美国佬那个东西啊。第二个就 g b k, 那 这个 g b k 它是十六位 两个字节啊。然后第三个就是咱们的这个 utf 杠杠八, m u 扣的 u 扣的时候呢,三十二位四个字节啊,但这个东西呢没法用,好吧,它只是一个标准, 只是一个标准。那么第四个我们就是 u t f 杠八, u t f 杠八这个东西是,呃,对于英文 它是八倍啊,这个,这个,这个一个字节,欧洲一些文字,它是十六倍, 然后呢是两个字节,第三个就中文啊,是二十四位,然后是三个字节啊,三个字节,那这是我们要记住的一个结论。那么还有一个点就是 gdk 听好了,这个是什么呢? windows 默认是这个玩意啊,然后咱们这个 uki 默认是这个东西 啊, mac 默认是这个东西,然后这里面各位啊各位,你要记住的就是 g b、 k 是 怎么怎么回事?它其实源自于阿斯特码啊,是叫 a n s i 这样一个标准,源自于它,那 utf 八源自于哪呢?源自于 u n c 的 源自于就从 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, 那 关于字这个,这个字体和编码的事,咱们暂时先说到这啊,如果说,呃,各位不是很理解,我们在抽时间 这专门做一个专题,因为讲的比较糙,时间有限,讲比较糙,如果说有需要的话,我可能会花费大概一到两个小时给你们把这个里面的具体的道道是怎么回事给你们去说清楚,因为这里面还涉及到马位啊,马区啊,这个一个概念就很复杂的,因为扣子很复杂的,而且 就是转化起来就是 u n c 的 和 g d k 之间转化啊,还有就是反正转化来转化去的这个过程,它有很多的细节我没有讲啊,大家先记一下结论就可以啊,最起码知道它是怎么回事就成了。后面如果说有需要的话,我再出一个专题,我也去聊聊到底这些个编码是怎么回事。好,那这节呢,咱们暂时说到这啊,时间长了, 好,那接下来咱们正式的来聊聊这个 bios 啊。那说 bios 之前还得再说一个事,就是我们上一节所讲的所有的编码,我们能发现一个规律,就是所有的文字符号最终都可以变成自己, 对吧?无论是二次码, 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 p k 中文一个字仨,自己人仨字不就九个吗?对不对?所以这个地方啊, u t f 八跟 g、 p、 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 港八,那 utf 港八,所以这个时候你要切记,等后期啊,后期我们在做网络爬虫的时候你就会发现, 哎,从网站上抓取到的数据,我存到这个文件里面,有的时候会出乱码,为什么会出乱码?就是因为这个原因啊,你,你拿敌军的密码本来翻译我军的文字不行, 对吧?你拿拿拼音上面翻译,我觉得文字不行,所以呢,你必须得找对那个编码给他设置进去才可以 啊,找对那个编码给他设置进去才可以啊。 ok, 那 这是关于啊 bug 各位要去了解的一些东西,还有一些东西呢,就是这是文字上的啊,还有一些个视频上的,图片上的,那个我们后面讲的文件操作的时候,再跟各位去去聊啊,再跟各位去聊,然后还有最后一个事,还有最后一个事,这个事呢? 不是很重要吧?就是简单了解一下。知道有这么个东西,我把这个注示一下啊,还有这么一个东西,比方说我现在准备一个 b s 啊 s 吧,等于你好 abc, 呵呵哒,好了,接下来注意看了 print, 我 直接打印了啊, print s, 点 in code 来走看看啊,你好,两个字来,你好, 看到吧这是?你好,两个字,六个字节,然后 a b、 c, 看到没有? a b、 c 正常输出了,为什么 a、 b、 c 可以 正常输出呢?因为之前我说了 utf 八,各位, utf 八,它对于英文 对吧?英文咱上头说了,英文几个几个字节,一个字节,一个字节是不?二十个,二十个码,二十个码是不可以正常显示,对不对?二十个码是可以正常显示,所以这个就是一个字节,这个就是一个字节,一个字母,对吧?然后这又开始到中文了,中文又是仨了, 懂我意思吧?所以这里面会有这样的一个现象啊,你数的时候不要不要迷啊,不要迷,就有这样一个现象,记住就可以了。就英文原来是什么还是什么。好吧,比方说,走 还是这玩意,因为英文一个一个一个字到这面就是一个,一个 b 就是 一个, c 就是 一个。好吧,那如果是 g、 b、 k 呢?我跟你说 g、 b、 k 也是这样。来,又给你解释下,为什么,为什么 g、 b k, g b k, 你 不说是两位吗?那不两个字节吗?哪去了? 这这呢这呢这呢?这 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, 余剩啊,余剩 d, 那 这个时候就算 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 的 值扔给 a, 把 b 的 值扔给 a, 对 吧?因为 a 的 值有备份嘛,对不对?这有备份呐, 对吧?有桌子有备份呐,放起来,对吧?所以把 b 的 值扔给 a, a, 这里面虽然被清掉了,但是我有备份。那接下来干嘛呢?从桌子上把那个备份好的 a a, 这里面虽然被清掉了,但是我有备份嘛。那接下来干嘛呢?从桌子上把那个备份好了, a a a a, 这里面 p, 对 吧?好,再走 看四十三十是不是就完成了一个互换了?所以这里面做互换。注意啊,我说的是其他编程语言里面只能这么玩,这是一个标准的互换操作 啊。标准的互换操作,其他语言在拍子里面可以怎么办?也可以不这么,拍子里面有一个简单的操作,你不 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 加等于 n, 对 吧?下面这个一样的,没有任何问题 啊,你可以回去试一试啊。可以去试一试。 ok, 那 这是负值预算,再往下呢,叫逻辑预算啊,逻辑预算,那么逻辑预算呢?咱们下一小节再说吧,已经十来分钟了,下一小节再说。这个呢,比较重要,也比较好玩。

type n 既然这么简单,第四天,数据类型在 type n 中有非常多的数据,有数字、小数,英文、中文。它们主要有三大类,一、整数用 inch 表示,十十八幺零八幺零零等等,主要以整数为主。 二、小数用 float 表示,带有小数点数字,如一点八,三点一,四五点二,以小数为主。 三、制服串,用 starf 表示,如 python, 校长,校长叫 python 等等。只要用引号包裹的都是制服串。最后一个就是不二字,用不二表示,通过获取的数据来判断真假。重点来了,我们看这两行代码, print 流,虽然打印出来的都是流,但是这个是不带引号的,打印出来的是数字的流,而带了引号的打印出来的是支付串的流,因为后面这个加上了引号。接着我们看这个代码,前面的流是数字,后面带了引号的流,这流是支付串, 运行的话就会出现错误。系统显示整数和支付串不能进行相加,因为它们不是相通的类型,如果要相加的话,需要进行数据转化,把它们变成相通的数据类型,在六前面加上 street 进行转化即可。所以这就是为什么要对数据进行分类。 对数据分类是编程的基础,它决定了数据可以执行哪些操作以及其他数据交互。这些数据的类型 一定要记好,因为后续很多数据匀算都需要用到这些知识。收藏好,接下来我们开始实操,今天的目标是用变量分别定义四种数据类型,并且打印出来,以及用 type 进行数据类型的查询。 好,首先我们命名 a 等于八十八,并加上指数,接着命名 b 等于三点一四小数伏洛特, c 等于学 python 制复串, d 等于两数相加,是否正确?命名好以后我们用 print 来打印一下,就能看到结果。 首先打印 a, 得到的结果就是八十八是整数 in, 再把 print 里面改成 c, 得到的就是学 python 是 制复串。然后就是的不二之判断,七十八大于六十八运行得到的判断结果就是 two。 接着我们写第二个,用 type 进行数据类型的查找,同样的我们随便进行变量的命名,命名 a、 b、 d 四个变量。然后我们输入 print type 进行查询数据类型,我们要查询 a 的 数据类型的话, 在里面输入 a 就 行。运行的到底结果就是克拉斯 float, 表明它是 float 就是 小数类型,换成 c, 运行的到底就是克拉斯斯锥就是制服串类型。 切记这张视频很重要,记不住数据的类型就会导致你后续学习数据的运算和数据的联动,学习非常困难。如果说还有什么没听懂,这里一起交流。

今天给大家带来一个关于 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 它的一个安装以及使用。

大家好,今天给大家带来的是这个拍摄的和拍摄的一个这个安装和激活的一个教程。那么首先呢,我们先去这个,呃,打开浏览器啊,搜索这个拍摄 啊,这边搜索一下,然后呢再进入它的一个官网页面,然后找到这个登录的啊, 然后这下面呢就是他的一个这个版本号,下面这个版本号呢有三点一六的,三点一五、三点一四和三点一三的,然后呢我们点这个随便找一个三点一三的,然后当 load 啊, 他会进入到他的一个这个下载页面,然后呢我们可以看到啊,他这里面有很多版本有 windows 这个 install 六十四的啊,我们我我的电脑就是这个六十四位的,然后如果大家电脑三十二位的话,选下面这个,然后呢点点击这个之后他会自动下载, 然后呢我这边是下载好了之后,我放到这个百度网盘里面去了,然后大家有需要的可以私信我去拿啊,还有就是这个 playtime c h a r m 啊,这个拍腔啊,也是这个。 然后我们找到它的官网之后,点击进入啊,点击进入,然后呢这边是它的一个官网啊, 接受啊,然后我们这边点击下载也是下载啊,我这边就已经全部放到这个下载到这个文件夹里面去了啊,也全部在这里了啊,我们我们这里点击先安装这个 python, python 三点一三的这个版本啊, 到这里有个这个一个默认的一个这上面的,点击之后呢,它是一个上面是一个默认的一个安装位置啊,下面是我们自定义的啊,然后我们一定要勾选上下面这个 i do pass, 这个 pass 就是 增加我们的这个环境变量,然后去点击我们自定义啊,自定义, 然后点击下一步,然后勾选第一个啊,勾选第一个,一定要勾选第一个,然后呢?然后我们去自己创一个啊,去自己创一个这个拍摄文件夹,那我自己的拍摄文件夹是在记盘啊,记盘, 哎,还有个在这里,在这里,在这里啊,在这里拍摄,然后点击确定啊,然后点击安装安装,然后呢在这里呢还有这个拍照啊,在这里安装的时候,我们这边也在同时安装这个拍照啊,拍照 它这样,然后我们双击它啊,双击它,然后点击 nest, nest, 然后这有个啊,这是它的一个安装位置,我们把它安装到我们电脑的地盘更好啊,安装到地盘,我这呢是选择安装在机盘啊,大家有需要的可以安装在地盘 啊,然后勾写上这几个按钮啊,勾写上,然后点击 next, 然后点击安装,然后这边就稍等一下啊,稍等一下,等它安装完毕中,再等它,等这个拍摄安装好之后,我们还需要进行下进一步的一个操作啊, 这个安装好了是吧?在安装好之后呢,我们这边点击关闭啊,关闭,然后 finish, 然后我们先检查一下,首先输入 win 键啊,打开 c n b 窗口,然后这边输入拍摄, 看一下它的版本啊,是三点一三的啊,三点一三的啊,没错,说明我们已经成功安装成功了。然后呢这边呢我们打开这个安装包,然后去激活一下我们这个拍 照,激活点 vps 啊,双击一下它,然后出现这个 success 之后呢,它就表示我们这个成功了啊,我们点击确定,点击确定,然后我们这边就可以正常启动我们这个拍劵了啊,对啊, ok 啊,我们这边呢是已经打开了啊,打开之后呢是这个页面啊,是这个页面,那么我们要先创立一个这个文件夹啊,先创立一个这个文件夹 啊,在桌面上创建一个这个 python 的 一个文件夹啊,我这边给大家演示一遍,它是在首先要我们先创立一个这个 python 的 一个这个小文件夹,然后呢我们点击确定啊,然后呢它这个会自动提取我们这个 python 的 一个版本,是三点一三的啊,没问题,然后我们点击 create, 然后 these windows 啊,呃,我们在啊, ok 啊,这边就是我们创建的一个这个 python 文件夹啊,然后呢这边呢我们可以看到它全是英文的啊,我们看着不舒服。这边呢我们可以把它设置一下,找到设置,点击左上角,然后找到设置 setting 啊, 然后呢这边我们找一个这个插件啊,插件插件,找到这个,把它找到这个传地址啊,传地址,我们装一下,装一下,让它去给我们把它全部搞成这个中文的一个界面。 ok, 我 们稍作等待一下啊, ok 啊,重启啊,它要我们重启一下, ok, 我 们这边再点击一下啊,再点击一下, ok 啊,这边呢就现在我们的现在就是中文的页面了啊,那么我们怎么去写代码呢?我们就右键啊,右键在这里点击一个右键,然后我们去新建一个这个拍摄文件啊,拍摄文件这里有个拍摄文件,我们点击一下, 然后输入名称啊,一点 py, 一定要后缀啊,加上一个后缀点 py 文件啊,说明它是一个 python 文件,然后呢这边呢我们试一下啊,输入一个 print 啊 print, 然后呢引号, hello 啊,我们运行一下啊,右键运行一下,运行。 呃,这个解释器啊,解释器要装一下啊,这解释器就是我们刚刚装的一个下载的一个这个 python 版本啊,三点一三,然后运行一下 啊,这边就成功运行了一个 hello 啊,说明我们的这个是装成功的,还有呢就是我们同学看这个字体啊,字体也是有点小,我们这边可以设置一下啊,在这里同样是在设置这里啊,在这个外观与行为啊,呃,往下, 然后找到字体啊,我们找一下 好字体,然后这边可以调大一点啊,那这边就是在编辑器这里啊,这里有个字体,我们可以设置大小是十六啊啊,十六,然后我们确定应用啊,点击确定啊,这边就变大了啊,是吧,就变得更好看一点啊, 呃呃,我们我们一定要先检查一下啊,先检查一下这边,就是一定要,就是我们我们这个配好解释器啊,就是下载拍 tom 之后要要解释一下,要要,一定要这个配置一下这个解释器啊,配置一下这个解释器,呃,检查一下啊, 啊,我们检查一下,在这里检查也是在设置这里啊,然后这有个呃项目,然后 python 解释器啊,在这里,我们去这里找啊,找到我们刚刚下的这个 python 啊, ok, 那 我们点击应用,点击确定, ok, 这样他就不会报那个错啊,这样,这样更明,这样更好一点,我们一定要检查,一定要仔细检查,就在设置这里啊,在解释这里,一定要确保他是我们下载的一个这个拍摄版本是三点一三版本的 啊,然后呢在视频的结尾啊,呃,如果大家有需要的话去联系我啊,把这个拍摄的一个这个这个 版本啊一起发给大家。以上就是我视频的一个全部内容啊,感谢大家的一个收看。

pason 基础语法匿名函数 linda, 哈喽,大家好,我是晨曦木木。今天的话我想教大家 python 基础语法里面的这一个 num 的 函数在里面,那这个 num 的 函数是怎么去用的?它其实用起来的话是挺方便的,因为在数据分析里面做数据处理用的比较多。我这里的话给大家写一个案例在里面,比如说这里呢准备一个 word, 这里面是一个列表,我想对这个列表里面的数据去进行一个排序,比如说第一个是 python, 后面这里呢有一个 e 字,下面这里呢再写一个,呃, hello, word, 好, 这里的话我是准备了三个这个英语单词在里面,反正也不是英语单词呢,就是一个字母串的数据吧,它是属于列表里面的,接下来我要给它去排序的话,如果用那个代码去写的话,要写很多种,但是我通过那么大的话,一行代码就可以解决的。 有个 s, 我 要给它去进行一个排序,那这里排序的话,这里面有个 sort, 后面这里有一个,把这个 word 写到里面,后面这里有写上一个 k, 这个 k 呢是你们的一个参数,那这里我就拿到你们那个 number, 下面这里是一个 x, 后面这里我要,嗯, 拿到你们的这个数据里面的一个长度,或者说它的一个多大码,我就直接这样子去写,写完之后呢,接下来我们直接是 print 打印一下这个 s, 鼠标右键点一下运行,运行完之后呢,这里就会直接帮我们去进行一个排序,从小到大,那么这个是最小的,这个是第二,这个是第三,它都会帮我们去进行一个排序,那 我们就可以不用去写负循环在里面呢,直接是一行代码,呃,就可以解决,那么这个那么的逆变函数你学会了吗?