粉丝379获赞2509

picasa 从零开始学小知识篇 tickingterloo 的 使用,这是别人写的代码运行起来是这个样子的,而你学习了一个月的 python, 写不出小程序和网站,每天都是对着黑乎乎的控制窗口。那么我们怎么让代码从文字变成我们经常在网站中 看到的格式化界面呢?使用 python 中自带的库 tk 映客让你轻松学会做这个登录界面。想要得到一个图形化界面,我们只要学会在 python 文件中写这三个步骤。 在使用 tkinter 做图形化界面之前,我们一定要记得先导入库。在这里我们给这个库取了别名 tk, 让我们在后面反复使用 tkinter 库的时候更方便。第一步,我们来创建一个窗口,并且给这个窗口取一个名字。我的窗口叫做 root, 并且使用 map 方法让窗口显示出来。使用 tkinter, 我 们还可以给窗口设置标题和窗口的大小。写完这些,恭喜你,你就拥有了第一个图形化界面了。 如果你想要在窗口中添加上文字输入框和按钮,那么我们就可以添加组建。 使用 tkinter 中的 number 方法, 在 number 方法的括号内写上属性 test, 在 后面的值写上我们想要在窗口中写录的字,并且使用 pack 方法告诉 python 这个文字组建怎么放。告诉了 python 这个组建的布局方式,这个组建才能够在窗口中显示出来。 如果使用 t k 点音讯方法,就会在窗口中获得到输入框组建添加按钮就使用 t k 点 button 方法, 并且在 test 内还可以写上需要显示在按钮上的字。如果有多个组键需要组合出现在窗口中,我们一般会将这些组键按照布局格式放入到容器里面,让我们的界面变得更清晰。例如在这里我们有一个组键,是一个文字组键, 写的是用户名,还有一个输入框组键,我们需要将它们两个放在一起,那么就使用 t k 点 free 方法创建一个容器 free, 这两个组键都放到容器 free 中,让这个页面变得更加干净清晰。学会了组键之后,我们还会调整每个组键之间的布局方式, 使用刚刚的 pack 方法,组键之间会从上至下一个接一个的排列。除了使用 pack 方法之外,我们还可以使用 grid 方法,也就是网格布局。 像 excel 表格一样,组键之间按横和列排列。记得我们需要给每个组键都写上行列号。 第三个方式是精确位置,这种方法可以指定组键在窗口中的位置。 x 属性后面的值表示横向的位置,距离窗口的左边一百个像素。 y 的 值表示横向的位置,距离窗口上边五十个像素。 学习到这里,你就可以使用 tkinner 做一个简单的图形化界面。例如在这里我们可以创建一个简易的用户登录界面,既可以在输入框中输入文字,也可以点击它。那么练习时间,让我们把这些知识运用起来,创建一个完整的 qq 登录界面。 在 pdf 文件中,我们导入这个 tiktok 库,用来创建图形化界面,然后再导入这个 messagebox 方法,用于提示用户是否登录成功。在这个 user 变量内存放的就是用户的用户名以及用户的密码, 然后我们创建了 login 函数, login 函数里面就会判断用户名是否存在和用户的密码是否正确,如果验证成功就会显示欢迎回来,如果验证失败就会显示密码错误。做完这些之后,我们再来正式创建一个图形化界面。 首先我们创建了一个窗口叫做 root, 然后给窗口设置了标题以及窗口的大小,并且使用 root 点 configure 方法设置了窗口的背景颜色。 创建了窗口之后,我们来做一个 qq 标题,使用文字主线显示 qq 这两个字,然后给它设置了字体的样式以及字体的颜色, 再给这个文字组件添加了背景颜色和布局方式,这个 pin y 就是 设置上下组件之间间隔多少。然后我们创建了一个登录框, 同样给它设置了背景颜色和间隔距离,而这个 fill 属性则是表示让这个登录框横向填满。在登录框中我们又需要写上输入框, 首先我们需要获得到用户里就是用户名,然后创建一个输入框组建还是让下面的主键与这个主键之间存在五个像素的距离, 如法炮制。我们又做了一个 qq 密码的输入框组建,再次创建一个选项框架,在这个选项框架中,我们写入了记住密码和自动登录的复选框,并且让它们一个向左显示,一个向右显示。 最后我们来创建这个登录按钮,给它添加上背景颜色和文字的颜色以及文字样式。 最重要的是我们需要写上这样一个属性, common 等于 login, 这个 login 就是 我们上面创建的这个函数表示用户点击了这个登录按钮之后,就会调用这个 login 函数来判断用户输入的用户名和密码是否正确。 最后我们一定要让这个窗口一直保持显示状态,使用 root 点 my root 方法。现在我们来运行一下这段代码,可以看到我们已经得到了一个 qq 登录界面,能否验证密码成功呢?首先我们来看一共有两个用户,一个是 admin, 一个是 user, 我们写上这个耳麦,一二三四五六,点击登录提示,我们欢迎回来,说明我们已经成功的创建了一个登录界面,并且能够让它验证用户的密码是否正确, 这样我们写上几十行代码就可以搞定一个程序的登录界面。编辑独行话程序是不是也没有想象中的难呢?

今天啊,带大家来看一个案例啊,我们六步搞定 python 的 一个数据爬取,那我们来看一下啊,爬虫到底有多简单。好吧,那首先第一个,嗯,在我们去进行这个对应的一个数据的网 网站,或者说数据的一个采集的时候,首先第一步我们要导入我们所需要的一个库啊,比如说我要进行一个请求的发送,对吧?我要进行一些数据的采集啊,那就要导入它对应的一个 模块啊,也就是第三方库,那这里呢,我们导入了对应的请求,还有这个参数要解析的,以及一个数据存储的一个模块,对吧?啊,这里呢是用 pandas 来进行 excel 的 一个存储。那好,那搞定这些内容之后呢,第二步就是说去 输入我们对应要采集数据的一个目标网址啊,那这些目标网址是非常重要的,如果说你去采集一个数据,你连地址都不知道的话,那你这个活你就算干到头了。 那同时呢,在做这步操作的时候呢,我们要进行抓包处理,去查看网页上面它会有哪些对应的一些请求参数啊,比如说 u a 啊,对吧? usaid 等等,还有些奇奇怪怪的参数,那如果是网站里面有的,你都必须要有, 当然啊,那有些参数他可能不会叫验,你说老师不不叫验的参数我可以不带吗?可以啊,可以啊,然后呢,第三步呢,就是我们获得对应的一个显应,对吧?那在这里呢,我们用 request 进行请求,请求之后呢,我们获得对应的 response 这个请求的响应,那我们可以在这里先把我们的响应打印出来,进行一个查看, 查看他对应的一个响应内容是否和网页上的响应是一致的,如果不一致的话,那说明什么?说明你前面的这个步骤是有问题的,如果一致的话呢,就是说明什么?也说明此时此刻网页已经把我们的数据返回了,那这个时候我们要做的就是对这些数据进行解析, 而所谓的网页解析就是把你所需要的数据进行一个提取,对吧?那可能说在一个网页里面,其实它是有非常多的内容的,比如说它有图片,它有标题,它有对应的一些字段啊,它可能说有作者, 有名字,有对应的主演等等等等,对不对?不是所有东西都是我们需要的,也不是所有东西都是有价值的东西啊。那这一步呢,就是说,哎,我们把有需要的或者说有价值的内容进行一个提取 啊,进行一个提取,那提取之后呢?哎,我们要进行什么进行对应的一些操作?你看在这里呢,我们提取了很多内容啊,比如说哎,车的类型数据,车的信息,车的价格,然后呢把这些信息全部提取添加到一个列表里面 啊。最后,哎,添加完成之后啊,我们要做什么操作?我们要做保存数据,那这里呢是利用这个对应的 python 来进行了一个 excel 和 csv 的 一个数据格式的一个保存, 当然我们也可以直接存入 csv, 或者说使用数据库进行一个保存都是可以的。那好,那经此六步之后,我们一个简单的爬虫就这样搞定了。你看其实本身来说的话呢,这个代码量其实是非常少的,对不对? 但是就是这么短短几行代码,他就是可以把网页上面的数据做一个自动化的采集啊,非常的方便啊,这也是为什么大家普遍主流使用 python 来做这个数据采集的开发的原因,就是因为生态完全以及什么,以及他的对应的第三方模块 非常的简变和简单。好,那今天的分享呢就到这里结束了,希望大家喜欢配套学习文档,学习资料,直播公开课主页粉丝群。

哈喽,大家好,很多人在入门编程的时候碰到的一个最头疼的问题,就是环境的问题,就是装酷的问题, 就是你经常缺库,经常出现 nomodo nem 的,可能很多初学者就被这个问题来劝推了,今天我就要详细的讲一下各种安装的方法,然后我把这四种方法都写的非常的详细,比如有 直接拍参谋里安装就非常的方便直接,但是它里面有的有的库可能不行,不行的就要在命令行,就就要用拍拍音丝刀去装, 然后就是在三亩地里装,但是三亩地里装有时候会碰到一些问题,比如你的他 paper 会有问题啊,或者别的问题,因为康大,因为呢康大这个终端装会更保险一些,这 基本就都可以。然后就是最后一种就是比较流,比较流氓的方法,就是你直接把别人装好的裤拿过来用,再但这种方法他的他的前提是你和别人的拍摄版本差不多,比如你们都是三点七,或者是你是三点七,你是三点六,就是差别不大的话 是问题不大的。就是有些库就可以是可以直接复制过来用的,但有的可能会有问题。接下来我就详细给大家介绍这四种方法吧。首先来讲第一种最直接的方法,直接在拍差么里面安装, 这个前提是当然你用的编译器是拍叉母,因为我一直都用拍叉母,所以别的编译器我我不清楚。拍叉母拍叉母的话就是怎么安装,非常的简单,就是当你缺某个酷的时候,比如我缺,比如我想引, 靠的就是我们上节课讲的 word 的读写需要导入这个库,但你看这个库,他就没有我我我运行的话,他报的错误,就他报的错误,就是这个,这个问这个报错,就是你没有这个库, 那安装这个库,拍差不安装,首先是点费用,然后塞 tes, 然后找到这个 pojet 这个,这个里面会有这个拍层编译器, 点这个之后你可以看到这边会有很多东西,你你这个可能要加载一会他才有,就是你等一会,等他加载出来, 这边就是所有你装过的裤,一般只要你装冷了康大,他就会自带很多裤了。如果你没有装冷的康大,直接是官网下的排损的话,那你这边可能就裤很少很少,你就要自己下很多东西,那康大的话就是这些裤都是有的, 但是比如我刚才用的那个酷就没有,我想我想要下载这个酷,直接右看到右边这个加号,点这个加号,在这里搜搜我想要的这个酷, 可以看到这里就有了,这里就会出现这个库,然后你点这个 install package, 就是下这就是安装这个库了,然后 你可以看这个右下角这一块,他就有这个安装中,正在安装这个这个库,你再你等一会, 现在是安装完了,正在加载了,正在加载这个库,可以看到这是这个时候, 我这我这边这个波浪号就已经消失掉了,就是他已经有这个库了,你看我们运行的话,他就已经 已经没有刚才那个错误了。这就是第一种安装方法。我接下来想要读写 word, 我需要用到另一个库,我需要用到 docx 这个库,明泡的丢 cx 这个库 可以看到这里,就是他有红色的波浪号,他就是没有这个库,可以看到没有这个 docx 这个库,然后我们在这个里面去找呢,在这个里面去找丢 cx, 发现他没有 这个库,他其实应该叫排整杠 docx, 但是不论你是 docs 还是这个他都没有,所以就不能通过这种方式来安装,那么我们就要只能通过电 第二种方法会或第三种方法安装。第一种方法我们讲他方便直观,但他有的库没有,现在就是这种情况,这个时候你就要在那个 cmd 或者这个安达康大的这个面去装。 其实第二种和第三种是差不多的,是,嗯的康大的命令行,这是三亩地,是你电脑的命令行。第二种和第三种都是一样的。第二种就是你直接在这里温家尔三亩地回车,然后你想要装什么, 直接 paper install, 直接输入 paper install 什么什么就可以了,我们要拍 paper install 拍成杠。丢 cx 回车 可以看到他有五点六兆,他有点大,而他速度有点慢,跟大家讲一个提升速度的方法,有时候 速度很慢,他甚至会爆错,所以就是如果你是速度因为速度慢导致的错误,你可以用清华镜像吧 ctrl 加 c 就可以退出,退出当前的这个安装 ctrl 加 c, 然后 这个方法很简单,就是加上清华镜像,加上这个是清华镜像的这个清华镜像园 还是拍不 install, 只是在拍不 install 杠啊。然后后面是这个清华镜像的这个网址,然后再输入你想安装的这个酷的名字就行了。 看到这里在后面输入这个就可以了,然后回车可以看到速度比刚才快了很多, 现在就安装完了,我们再来看一下,看到这里红色的波浪号没有了,运行一下呢,看,没有爆错了,就是这个裤他已经有了, 我用这个三亩地没有问题,但是你可能会,就是每个人情况不一样,他可能会出问题,如果他出问题,你可以在那康大这个里面去安装这个也是一样的。你怎么去找这个呢?你就问时的话,你就在这里搜就可以了, 你所有的康达他就会出现这个呢,康达这个你直接点他点他就可以了,然后一样的在这里,在这里输 paper inside 就可以了, 一样的我,我就不重复了。一样的也是可以用这个清华镜像的,这个也是会更快。 如果你不是温室,你找不到他在哪里。我,我的建议还是你下一个艾瑞森的软件,就是这个放大镜的这个图标的这个软件你给去搜一下就可以了, 这个软件如果你没有的话,强烈建议你装一下,就是非常好用。我,我找文件都是用它。 现在开始讲最后一种方法,最后一种方法非常的流氓,但是也比较好用,就是你直接复制别人装好的库来用,比如这个库,你你你的同学装好了,你把他装好的库直接烤过来,烤到你的对应目录下 就可以了,我来给你讲是考为哪,从哪个目录考到哪个目录,前提是你们两个的啊,那康大里面的拍子的版本相差不大,就是如果是同一个版本,比如都是三点七或都是三点八,这样是最好的,就是你们兼容性会更好一些。如果, 如果,比如一个三点五,一个三点七,可能某些库会有问题,具体能不能用你可以复制试一下。就是前面这几种方法实在都不行了,你再用最后一种。你装完的库在哪里呢?你知道他装完了,但你不知道他装在哪里,对不对?我现在就告诉你,你装的库都跑到哪里去了? 找开你我的康大的这个安装目录,我的安装目录是在这里,我把它都我的整个的康大都在这里。打开你的我的康大安装目录,找到这个力不力不文件夹,然后再找这个撒的派克杰尔斯, 你的所有库都在这里了。比如我们去找我们刚才装的 docx 试一下,看到这里 docx, 这是我们刚才装的 docx, 我们刚才还装了那个 xlwt, 他是 xlwt, 这就是我们装满的库。比如你的同学装了这个 xlwt, 你不想, 你懒得再装了,你直接把他的这两个文件一起复制过去,然后放到你的这个安达康大的内部塞着拍给解释里面就可以了。 但你要注意一下,有的时候他不只是这前面,你想装某一个库的时候,不只是前面有这个文件夹,后面可能这个点 py 文件里面也有对应的那个库的,你就去找那个名字就可以了。就是这个 czcz, 这里有一个文件夹,这里有一个文件夹,只复制这两个还不 够,他下面还有一个 c 认点 py, 这个 c 认点 py, 这三个你都要复制过去才可以, 就是说你要注意你你要复制的东西,他有没有他同名的点 pr 文件,有的话你就一直复制过去,没有的话就复制那两个文件夹就可以了,复制过去一般都是能用的,不能用的话你就只能自己去用这种一二三种方式去安装了。你用这几种方法安装的库也都是在这个文件夹里面的, 所以如果你你装的某一个库出现问题了,你直接把这个,把那个库对应,比如这辆库的文件夹直接删掉,然后再重新下就可以了。是不是非常通俗易懂的几种方法,我们来总结一下。我安装库首选就是直接拍岔门里面 安装,直接在这里按拍插门里面安装,非常的方便。但是如果这个时候这个库没有,或者是这个库不行,版本不对, 那么我就去在三亩地里安装,三亩地里不行的话就去了那康那里面安装,那康那里面安装再不行的话, 我就换一台电脑去装,那台电脑装完之后把它里面的环境烤过来,是不是再也不用怕安装裤了?如果你再碰到这是我能碰到的一些问题,基本都给大家总结了出来, 如果你碰到的问题我这里没有讲到,你可以留评论,希望大家再也不用怕安装酷程序员,再也不用死于配环境。

欢迎来到 pi 城编程,本期我为我们的 pi game 添加了炫酷的陨石下落背景,我们先来看看局内效果。 想要添加陨石下落的效果呢,我们就得先一点点按顺序逐个定义组成陨石的分支模块。 这里我把陨石代码穿插在第五十四行 bot 类按钮定义之后。那么为什么要把陨石类添加在第五十四行呢?原因是 python 解释器是从上到下一行行读代码的。 之所以第五十四行是陨石代码的最完美位置,是因为它在 bot 类后面,在二百一十三行 mateos 点 a 盘的前面。 记住,这张图最科学的顺序就是先定义后使用类放在一起,函数放在一起。 好了,我们理解了代码快,放置顺序后,再来看陨石的代码原理,你们听完就会更好的理解,更快的上手。首先,第五十七行使用了一个叫 mateo pikim 的 核心类陨石用法, 用来封装所有的陨石相关的代码属性和代码行为。第五十八行,对 metal 类初识化,对付 unit 括号类写入参数 self 是 类实力本身的引用,所以必须写在参数的第一个位置。后面的两个参数呢,是传入的变量,用来获取游戏窗口的宽和高。 五十九到六十行,把船入的宽高复制给实利属性。六十一行调用 metal 类里的 reset 方法,用来促策划陨石的位置, 促使完 metal 类代码块后,我们来重置陨石的生成位置,让陨石从游戏窗口的上方不同区域内随机出现。 六十三行,先定义一个列表,六十五行从 random 模块函数 try is 生成一个列表,然后从列表中随机生成一个值,上右上中上左决定陨石重生的横向区域。 六十六到六十八行,如果生成了一些陨石,在右上方的区域内。六十七行,我们使用 random 点 random 的 函数生成右上方画面外的陨石生成位置,通过 random 的 函数生成坐标。 x 生成一,生成负一百五到 game 位置。双斜杠三整数三之间的随机整数。 x 生成坐标,设置完后,再就是 y 坐标值了。 六十八行, random 的 括号里参数添加为负一百五和负五十为 y 坐标的生成范围,却表生存在画面之外。下面的分支 elife elise 用的也是相同方法,分别在屏幕外的正上方和左上方设置了陨石的生成区域。 好了,我们设置完了陨石的生存区域,我们再来设置它的运动参数和视觉效果、生命周期等属性,实现陨石向下缓慢滑动的运动效果。七十七行,设置陨石的运动角度, 生成 radiance 参数。八十五到九十五之间的随机坐标。七十八行生成零点五到一点五之间的随机浮点数。作为陨石的运动率, 作用是避免所有陨石的运动一致,给我们带来一种莫名的机械感。陨石速度设置完了,我们再来设置运动角度。 八十行变量 c f 点 v x 速度分量,它是由 cos 角度乘以速度得到的,八十五到九十五的正弦值为正, 因此微外的值为正,代表向下垂直的运动。八十三行测自陨石向下拖尾的长度,生成一百二到二百二之间的随机整数,让不同的陨石的拖尾长度也随机。 八十四行设置陨石的亮度随机整数,让陨石发生实时的亮度变化。八十五行将陨石的亮度值初十为零,后续可可通过逻辑逐步提升亮度。八十六行设置生命周期, 生成二百五到四百五之间的随机整数,作为陨石的生命周期时长。八十七号初识化年龄,将陨石的年龄初识值为零。好了,陨石的生成区域、运动轨迹、拖尾长度和生命周期设置完毕后,接下来八十九号 使用 updown 的 方法逐帧更新陨石的位置、年龄和亮度。九十到九十二行基础属性更新九十行每帧将陨石的水平坐标加上水平速度 c、 f 点 v、 x, 实现水平向左的移动。 九十一行将陨石的垂直坐标加上垂直分速度 c、 f 点 v、 y, 实现垂直向下的移动。九十二行每针将经过的陨石年龄加一九十五到一百行亮度动态变化 陨石燃烧的视觉效果。这一部分是通过 h 和 live 的 比例实现陨石渐亮、稳定渐灭的亮度变化。第一部分,九十五到九十六行, 九十五行 if 判断陨石年龄小于生命周期的四分之一时,亮度就会随着年龄限行递增,从零逐渐增加到 self 点 max 点 rainis 九十六行,它是一个计算公式。最后一个参数, self 点双斜杠四,意思是 self 点 live 整除四,确保计算比例分母为整数。第二部分,以 live 开启分值判断,当陨石生命周期达到四分之一时,亮度保持为最大。 九十八行 self 点 max 点 brownness, 呈现稳定燃烧的状态。第三部分,逐 渐熄灭 elise 再开分枝。一百行显示。当陨石年龄超过生命周期的四分之三时,亮度就会随着生命限性递减,从 self 点 max brexit 逐渐降到零一百零三到一百零五行陨石的重生条件判断在这里啊,我们设置了四种重生条件, 第一,一百零三行 if 判断 self 点 x 小 于负四百时,也就是陨石超出屏幕左侧四百个单位时陨石重生。第二, self 点 x 大 于 self game which 陨石向右超出屏幕右侧四百单位时,陨石重生。第三, 一百零四行 self 点 y 大 于 self 点 game weight 加四百,也就是陨石向下超出屏幕四百个单位时陨石重生。第四, self 点 h 大 于等于 self 点 life。 当陨石达到生命周期的上限时,陨石重生。 只要满足以上任意一个条件,系统就会调用一百零五行 self 点 recite 方法,让陨石重生循环利用。重生条件定义完毕后,我们再来设置陨石的托位和火光效果。一百零七行使用 draw 定义了一个列表, 里边存储了 self 和 screen 两个用法。一百零八行用 if 做判断,判断陨石亮度小于等于零时,直接返回处表示陨石已熄灭。一百一十一到一百一十三行计算托尾长度,以出实化坐标 变量 tail link 表示。根据当前陨石的亮度与最大亮度的比值,计算陨石托尾的最大汇值长度。 一百一十二行变量 pavos p x 和 pavos p y 表示。记录陨石的初始值坐标转为整数适配窗口的像素位置。一百一十四到一百一十八行设置陨石脱尾的循环与透明度的控制。 一百一十四行 i 表示便利每个拖尾的像素段 i 为当前拖尾的段数,下方变量 r 表示当前段数在拖尾中的比例,用于控制颜色粗细的渐变。一百一十六行 alpha, 一 百一十六行, alpha 表示当前段的透明度,若透明度小于等于十呢,就停止绘制。一百二十一行到 一百二十一到一百二十四行。陨石颜色的渐变,计算陨石颜色从尾部暗红走向头部橙黄的颜色渐变。 一百二十一行 r 是 红色的缩写,一百二十一行 r 是 红色的缩写,它始终保持最大值,贯穿全程。下面两行绿色和蓝色属于 ratio。 陨石头部方向 递增,形成红橙黄的视觉效果。一百二十四号,防止颜色超出拍 game 的 零到二百五十五取值范围。一百二十七到一百二十八号,计算拖尾的位置。复制变量 p x 和 p y。 根据陨石的运动速度 v x, v y 和 和当前段数 i 计算拖尾的前段的像素坐标。一百三十一行,控制陨石绘制的长度。尾部长四像素,头部出一像素。 一百三十四行,要用 pygame 的 圆心函数,在坐标 p x, p y 处用之前计算的 clock 红尘渐变和 which 长度渐变绘制陨石拖尾的核心原型。 一百三十七行,判断当前段数 a。 如果在拖尾的前二次上区域开始执行后续的会制特效。一百三十九行,在头部区域会制一个比核心拖尾宽一像素的亮红色 rgb 值是二百五十五。一百五一百,作为陨石头部的内层火光。一百四十二行会制头部外层的橙黄光晕。一百四十一行。 glowclock 计算橙黄的光晕的颜色。一百四十二行会制一个宽两像素边框为一像素的光晕圆形作为陨石头部的外层发光效果。 一百四十四到一百四十五行在头部绘制一个超亮的白色光眼,白色的 r g b 值是二五五二五五二百。所有效果绘制完成后来到二百零一行。 metos 用来封装所有的陨石对象。二百一十二到二百一十五行, 游戏运行时创建陨石数量。二百一十三行,进入游戏状态时才会创建陨石。二百一十四行一次生成十颗陨石,在游戏窗口内运行, 最后用复映循环在二百三十一到二百三十三行更新位置亮度,判断是否重生和化脱尾和火光。好了,现在所有代码和作用函数已经逐帧完毕了,只要你理解了 python 的 读取顺序 和函数意义,哪怕你的目标是一个史无前例的超大型游戏,也会变得相当轻松的去完成的。我是安川,我们下期见。

一分钟学会拍脏海龟库的填充图形,第一步指定填充颜色, 第二步开始填充,第三步就是我们上周画的闭合图形小房子最后一步结束填充来看效果,让我们来把房子颜色改改。

你还在手动拼接变量和值来调试代码吗?今天分享一个能大幅提升你的开发效率的 f string 小 技巧。首先,我们想看看一加 b 的 合适多少,同时还要向用户清楚地展示我们正在执行的是一加 b 的 操作, 所以我们可以这样写。现在如果我们运行这段代码,输出会是这样的, 这非常清晰明了,准确告诉我们执行了什么操作才得到这个结果。但这样做需要多打不少字符。作为一名专业的开发者,我可不想多敲六个字符。 那么有没有更方便的语法堂能实现完全相同的效果呢?答案是有,而且它真的很酷!你只需要在花括号里在表达式后面加一个等号等于就行了。比如写成 注意等号前后的空格会被保留下来。所以如果我们运行它,就会得到 e 加 b 等于十五 等号,前面的内容会原封不动地显示出来。但真正酷的地方在于,无论你执行什么操作,比如把转换成不二值, f 不 i 等于 它都会完整保留你写的表达式并输出结果,比如不 a 等于 true。 同样的道理也适用于变量,比如我们打印字母串变量 f my 下划线 y 等于, 输出就会是埋下划线 y 等于认真程序员,你手动写成埋下划线 y 等于埋下划线 y。 虽然这也行,但万一哪天你改了变量名,就得把所有硬编码的地方都改一遍,很麻烦。如果你喜欢该视频,请关注我,谢谢!

刷到的知识拍摄新手教程五分钟动画讲解 request 酷模拟登录好,同学们,今天呢,我们来讲这个 request 的 它的另一个常用功能啊,叫做模拟登录。那首先啊,我们要做这个模拟登录,之前呢,要知道模拟登录是做什么的,是干嘛的对吧?以及呢,为什么要做这个模拟登录啊? 模拟登录有什么作用啊?对不对?配套学习文档,学习资料直播公开课主页粉丝群。那我们首先来看第一个问题啊,为什么要模拟登录啊?首先啊,从数据来看啊,数据呢,大家可以简单的把数据分为两类,第一类呢叫做公开数据, 很简单的一类子,你点开就能看,对吧?你打开百度,有新闻,有各种各样的农学,对,每个人都可以看,不需要做任何操作,你可以点进去 一览无余,是吧?那第二个呢,叫私有数据,什么叫私有数据呢?就说你必须要登录才能查看的,比如说你的一个个人关注,你的一个我的喜欢,是不是收藏 等等内容,这些内容你不登录账号你可以看得到内容吗?看不到的是不是什么都看不到?我们举个很简单的例子,你访问知乎首页不登录可不可以?可以,但是你要看你的收藏夹,你要看关注,你要看私信,你可以不登录吗?有东西吗?没有,只有一个登录框 啊,所以说模拟登录的第一个目的就是要拿到需要权限才能访问的数据啊,这个一定要大家一定要理解,为什么要去做这个模拟登录。然后呢,我们继续往下看,我们可以从反爬的角度和另一个角度都来理解一下这个东西啊, 网站呢,会对一些未登录的用户啊,去设置一些这个访问的上面的限制啊,比如说你没有登录对不对?好,我每分钟最多让你访问十次,单量比较少啊,大家可以简单去这么理解一下。 第二个呢,哎,很常见在某些数据接口啊,他只有你登录的时候才会返回完整的数据。什么什么什么意思呢?来,同学们想一下,你打开网页,如果数据出来了,你往下一滑,发现下面写着请登录查看完整内容有没有绝对有啊?请登录查看完整内容 啊,这一类的大部分是什么情况?就是只有你登录之后后面的数据才有,你没有登录,这些数据是不会有的。所以说啊,那这个时候模拟登录是必须的对不对?因为你不登录没有数据啊 啊,所以说从反爬来说这个动作是非常重要的。那我们从业务来说啊,就比如说他有些网站他的逻辑就必须要依赖登录,比如说个性化推荐,你不登录他怎么个性化给你推荐啊?或者说登录前跟登录后是不一样的,登录后才能获取什么什么东西,对吧? 啊?当然这个东西啊,我们不详细去讲,大家有兴趣呢可以自己去了解一下。那说到这个登录啊,就有一个绕不开的东西叫做苦品。 因为我们前面说了嘛,我们说 cookie, 其实就是来判断你登不登录的对不对?判断你是不是登录状态对不对啊?晚夜他想判断你登录肯定也有个判断依据,就比如说你现在要认定我是个坏人,你得讲讲证据吧。 你如果认定我是个好人,也得讲证据吧?我把我的身份证往桌上一拍,你自己去查是不是?你看我是不是好人啊?或者说我把证据往这一拍,我就知道你是个坏人。要有一个依据,那我登录还是未登录是靠什么东西来判断呢?服务器靠什么来看我登不登录啊?靠 cookie? 那 cooking, 简单给大家介绍一下,假设你现在去银行办业务,第一次的时候你要出示身份证,说白了就是账号密码登录对不对?好,那登录之后我知道了啊,你是个好人,你是我们用户,他合用你身份证会给你一个临时业务凭证,晚宴呢,会给你一个 cooking。 那 你接下来再去访问这个业务业务,或者你再接下来访问这个晚宴的时候, 你还需要重新去展示你的身份证吗?不用了,因为你有条子,或者说你有 cookie。 哎,我就知道哦,你是个好人。所以说啊,网络世界里边以这种屏条或者说这种凭证就是相当于 cookie, 服务器呢,它会发送一小段信息给这个浏览器,然后呢标记用户的一个身份和登录状态,或者说你目前的一个状态 啊,那从这个从这个原理上来看啊, cookie 它产生是什么样的一个过程呢?就是当你第一次访问进入网页的时候, 那服务器在返回给你数据的时候,比如说你做了一个登录,它会给你在显隐头里面加上 set cookie, 然后呢浏览器是会自动保存这段信息,然后你再去访问的时候,浏览器会自动在请求头里面加上上次返回给你的 cookie 啊,服务器一看,哎,这个人是对的是吧?是 ok 的,是好人,数据给你了, 当然你们要注意啊,这个东西它是有时效性的。什么意思?有些同学会发现,这个网页我今天登录了,如果我下午再去打开的时候呢?哎,他不用我登录对不对?到了第二天我再打开这个网页的时候,我发现,哎,他又要我重新扫码了,又要我重新输账号密码了, 有没有?有的,因为 cooking 它是有时效性的,不可能说一个 cooking 保永久啊,这种事情不可能的啊,当初铁卷还有失效的那一天呢,你一个 cooking 你 想保一辈子?不可能。所以说呢, cooking 它是有它的时效性的,可能说是一个小时,可能说是十二个小时,可能是二十四个小时,可能是三天都有可能,一般来说不会很长。所以说呢, 这个 cooking 啊,我们去操作的时候啊,有人就说了,老师我能不能复制这个网页的 cooking, 然后在我的请求里面,然后再请求,可以吗?可以, 那你不嫌麻烦的话呢,有些网页他你每请求一次,他的 qq 就 变一次,那你每次就去手动复制一下啊,到时候看看你那个自动化脚本搞的还没你自己去手抄快,那就搞笑了是不是?那搞笑了,没有必要,没有必要自动化了啊,没有必要了 啊,然后呢,那 qq 呢?他其实就是用来做保存登录状态和进入用户评号评号啊,这个有兴趣的同学大家可以详细的去了解一下这一块配套学习文档,学习资料,直播公开课,主页粉丝群。