![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《零基础入门学习Python》笔记
文章平均质量分 85
来自江南的你
这个作者很懒,什么都没留下…
展开
-
《零基础入门学习Python》第046讲:魔法方法:描述符(Property的原理)
目录 0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题(笔试,不能上机哦~)0. 请尽量用自己的语言来解释什么是描述符(不要搜索来的答案,用自己的话解释)?1. 描述符类中,分别通过哪些魔法方法来实现对属性的 get、set 和 delete 操作的?2. 请问以下代码,分别调用 test.a 和 test.x,哪个会打印“getting…...原创 2018-12-05 21:24:58 · 2051 阅读 · 0 评论 -
《零基础入门学习Python》第059讲:论一只爬虫的自我修养7:正则表达式3
今天我们先接着上节课的内容,把 Python3 正则表达式特殊符号及用法(详细列表)这个表格讲完:上节课我们介绍了正则表达式的特殊字符中的 元字符,正则表达式的特殊字符除了 元字符之外呢,还有 一种就是通过反斜杠加上一个普通字符组成的特殊符号。我们接下来谈谈它们的含义。\序号,这个我们上节课已经讲过了,序号就是数字:①引用序号对应的子组所匹配的字符串,此时序号的范围是 1~99,子组的...原创 2018-12-15 22:19:34 · 716 阅读 · 0 评论 -
《零基础入门学习Python》第060讲:论一只爬虫的自我修养8:正则表达式4
有了前面几节课的准备,我们这一次终于可以真刀真枪的干一场大的了,但是呢,在进行实战之前,我们还要讲讲正则表达式的实用方法和扩展语法,然后再来实战,大家多把持一会啊。我们先来翻一下文档:首先,我们要举的例子是讲得最多的 search() 方法,search() 方法 既有模块级别的,就是直接调用 re.search() 来实现,另外,编译后的正则表达式模式对象也同样拥有 search() 方...原创 2018-12-16 09:22:17 · 943 阅读 · 1 评论 -
《零基础入门学习Python》第061讲:论一只爬虫的自我修养9:异常处理
高级语言的一个有些特性就是它可以从容不迫的处理每一个遇到的错误,不至于说遇到一个小错误就导致整个程序崩溃了,大部分高级语言处理错误的方法都是通过检测异常、处理异常来实现的,Python也是一样。用程序用代码进行互联网访问的时候,会出现异常是再正常不过的了,例如之前实现了一个代理程序,通过十几个、几十个代理 ip 来实现爬虫访问,如果说其中一个代理 ip 突然不响应了,那就会报错,这种错误的触发...原创 2018-12-16 11:01:42 · 641 阅读 · 0 评论 -
《零基础入门学习Python》第074讲:GUI的终极选择:Tkinter11
今天我们来讲讲 事件绑定。正如我们此前所提到的,一个 tkinter 的应用程序大部分时间是花费在事件循环中的,也就是通过 mainloop() 方法进入时间循环了,事件可以有各种各样的来源,比如说 用户移动、点击一下鼠标,会产生对应的鼠标事件,在键盘上一个敲击,会产生对应的按键事件,拖动或者改变应用程序的大小,窗口管理器也会触发相应的重绘事件啦。tkinter 提供一个非常强大的机制可以让你...原创 2018-12-26 22:18:58 · 943 阅读 · 0 评论 -
《零基础入门学习Python》第062讲:论一只爬虫的自我修养10:安装Scrapy
这节课我们来谈谈 Scrapy说到Python爬虫,大牛们都会不约而同地提起Scrapy。因为Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。Scrapy最初是为了页面抓取(更确切来说, 网络抓取)所设计的,也可以应用在获取API所返回的数据(例如Amazon Associates Web Services...原创 2018-12-16 15:04:50 · 656 阅读 · 0 评论 -
《零基础入门学习Python》第063讲:论一只爬虫的自我修养11:Scrapy框架之初窥门径
上一节课我们好不容易装好了 Scrapy,今天我们就来学习如何用好它,有些同学可能会有些疑惑,既然我们懂得了Python编写爬虫的技巧,那要这个所谓的爬虫框架又有什么用呢?其实啊,你懂得Python写爬虫的代码,好比你懂武功,会打架,但行军打仗你不行,毕竟敌人是千军万马,纵使你再强,也只能是百人敌,完成为千人敌,甚至是万人敌,你要学会的就是排兵布阵,运筹帷幄于千里之外,所以,Scrapy 就是Py...原创 2018-12-17 21:03:31 · 3490 阅读 · 3 评论 -
《零基础入门学习Python》第064讲:GUI的终极选择:Tkinter
大家回顾一下,到目前为止,几乎我们所有的Python代码都是基于文字交互的界面。Python 的 GUI 工具包有很多,之前我们学过的 EasyGui 就是其中最简单的一个,不过呢,EasyGui 实在是太简单了,因此,它只适合大家接受 GUI 编程的敲门砖,这一次,我们要讲的可不是什么二流货色,这一次我们来讲讲 Tkinter,Tkinter 是什么呢?它有那么 niubi 吗?Tkinte...原创 2018-12-18 19:43:08 · 1571 阅读 · 0 评论 -
《零基础入门学习Python》第065讲:GUI的终极选择:Tkinter2
今天我们通过两个例子来给大家讲讲 tkinter 的两大常用组件:Label 和 Button。第一个例子前面我们说过,Label 组件是用于在界面上输出描述性的标签,例如:提示用户“你所下载的影片含有未成年人限制的内容,请满18周岁后再点击观看!”。我们可以使用 Label 的文本输出功能来简单的实现,但是呢,现在大家基本上都拥有了自动过滤掉不和谐字眼的能力了,所以我们有必要在旁边加一个...原创 2018-12-19 08:22:06 · 1440 阅读 · 0 评论 -
《零基础入门学习Python》第066讲:GUI的终极选择:Tkinter3
今天我们一起来学习三个组件:Checkbutton、Radiobutton 和 LabelFrame。同样,我们还是通过案例来讲解。一、CheckbuttonCheckbutton(多选框)。大家都知道什么叫做“翻牌子”,今天的第一个例子就是来写一个翻牌子的程序。Checkbutton 就是我们常见的多选框按钮,而 下面要讲的 Radiobutton 就是单选框按钮。那大家觉得 翻...原创 2018-12-19 10:23:06 · 1123 阅读 · 1 评论 -
《零基础入门学习Python》第054讲:论一只爬虫的自我修养2:实战
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题0. urlopen() 方法的 timeout 参数用于设置什么?1. 如何从 urlopen() 返回的对象中获取 HTTP 状态码?2. 在客户端和服务器之间进行请求-响应时,最常用的是哪两种方法?3. HTTP 是基于请求-响应的模式,那是客户端发出请求,服务端做出响应;还是服务端...原创 2018-12-11 18:24:55 · 3252 阅读 · 1 评论 -
《零基础入门学习Python》第053讲:论一只爬虫的自我修养
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题0. 请问 URL 是“统一资源标识符”还是“统一资源定位符”?1. 什么是爬虫?2. 设想一下,如果你是负责开发百度蜘蛛的攻城狮,你在设计爬虫时应该特别注意什么问题?3. 设想一下,如果你是网站的开发者,你应该如何禁止百度爬虫访问你网站中的敏感内容?4. urllib.request...原创 2018-12-10 10:41:28 · 2939 阅读 · 1 评论 -
《零基础入门学习Python》第073讲:GUI的终极选择:Tkinter10
我们不难发现,几乎每一个应用程序都有一些相同的地方,比如说:标题栏、状态栏、边框、滚动条、工作区。还有的就是 菜单。传统的菜单有大家熟悉的 File,Edit,Help等,点开之后,是下拉菜单,今天我们就来学习使用 tkinter 如何制作这样子的菜单。tkinter 提供了一个叫做 Menu 的组件,主要是用于实现顶级菜单、下拉菜单和弹出菜单。由于该组件是由底层代码来实现的,并且已经优化...原创 2018-12-26 16:34:19 · 848 阅读 · 0 评论 -
《零基础入门学习Python》第067讲:GUI的终极选择:Tkinter4
今天我们来学习 Entry 组件,也就是我们平时所说的 输入框。输入框是跟程序打交道的途径,比如 程序要求你输入 账号 和 密码。那么它就要提供两个输入框,并且接收密码的输入框还会用 星号 * 将实际的内容给隐藏起来。我们学了还几个 tkinter 的组件之后,你自然就会发现,其实,很多方法和选项,它们之间都是通用的,这些选项对于不同的组件来说,名字一样,内容也一样。比如说,在输入框中,用...原创 2018-12-19 14:05:10 · 1482 阅读 · 3 评论 -
《零基础入门学习Python》第068讲:GUI的终极选择:Tkinter5
这节课的主要内容为 Listbox 组件、Scrollbar 组件 和 Scale 组件在之前的学习中,我们已经知道了,如果说提供选项给客户选择,那么有两种情况,单选的话,我们用 Radiobutton,多选的话,用Checkbutton,如果说提供的选项非常多,比如说选择你所在的城市,那么全国有好几百个城市,使用 Radiobutton 和 Checkbutton 这些组件直接导致的结果就...原创 2018-12-19 20:04:40 · 944 阅读 · 0 评论 -
《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图
今天我们结合前面学习的知识,进行一个实例,从网络上下载图片,话说我们平时闲来无事会上煎蛋网看看新鲜事,那么,熟悉煎蛋网的朋友一定知道,这里有一个 随手拍 的栏目,我们今天就来写一个爬虫,自动抓取每天更新的 随手拍。要写爬虫,首先要做的第一件事就是踩点,主动发现网页之间的规律,还有图片链接之间有什么规律,例如说,该网站的链接形式为:http://jandan.net/ooxx/page-‘页...原创 2018-12-14 16:05:32 · 1596 阅读 · 0 评论 -
《零基础入门学习Python》第051讲:__name__属性、搜索路径和包
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题(笔试,不能上机哦~)0. __name__ 属性的含义是什么?1. 什么时候 __name__ 属性的值是 "__main__"?2. 如果获得当前 Python 的搜索路径?3. 如果你不想将相关的模块文件放在当前文件夹内,那最好的选择是?4. 如果你见到 import urlli...原创 2018-12-09 14:41:56 · 1749 阅读 · 1 评论 -
《零基础入门学习Python》第047讲:魔法方法:定制序列
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题(笔试,不能上机哦~)0. 你知道 Python 基于序列的三大容器类指的是什么吗?1. Python 允许我们自己定制容器,如果你想要定制一个不可变的容器(像 String),你就不能定义什么方法?2. 如果希望定制的容器支持 reversed() 内置函数,那么你应该定义什么方法?3....原创 2018-12-07 15:33:48 · 1495 阅读 · 0 评论 -
《零基础入门学习Python》第057讲:论一只爬虫的自我修养5:正则表达式
如果你在课后有勤加练习,那么你对于字符串的查找应该是已经深恶痛绝了,你发现下载一个网页是很容易的,但是要在网页中查找到你需要的内容,那就是困难的,你发现字符串查找并没有你想象的那么简单,并不是说直接使用 find 方法找到匹配字符串的位置就可以了。我们来举个例子,学习了前面几节课你应该已经尝试过写一个脚本来自动获取最新的代理 ip 地址,但是呢,你肯定会遇到困难,我现在来重现一下大家会遇到的困...原创 2018-12-14 22:45:10 · 1093 阅读 · 0 评论 -
《零基础入门学习Python》第052讲:像极客一样去思考
0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!大家可能还不知道,在Python的社区里有句俗话:“Python自己带着电池(Batteries included)”,什么意思呢?要从Python的设计哲学说起,Python的设计哲学是:优雅、明确和简单。因此,Python开发者演变出来的哲学就是,用一种方法,最好是只有一种方法来做一件事。虽然我们常常努力大家多思考...原创 2018-12-09 20:00:28 · 2813 阅读 · 0 评论 -
《零基础入门学习Python》第072讲:GUI的终极选择:Tkinter9
这节课我们接着来讲解 Canvas 组件,既然 Cnavas 是画布的意思,那我们能不能让这个组件来设计一个画板呢?像Windows 自带的画图程序,我们的用户可以在上面随心所欲的绘制自己想要的图画,大家仔细想想,其实画图程序的实现原理很简单,就是通过获取用户拖拽鼠标时候的每一个位置(每个坐标),然后每个坐标对应绘制上一个点就可以了。这就提供了用户进行自由的绘制,但是有一点,tkinter 并没有...原创 2018-12-26 14:00:26 · 932 阅读 · 0 评论 -
《零基础入门学习Python》第058讲:论一只爬虫的自我修养6:正则表达式2
上一节课我们通过一个例子(匹配 ip 地址)让大家初步了解到正则表达式的魔力,也让大家充分了解到学习正则表达式是一个相对比较困难的事情。所以这一节课我们将继续学习 正则表达式的语法。我们依稀还记得在Python中,正则表达式是以字符串的形式来描述的,正则表达式的强大之处在于特殊符号的应用,我们上节课举了例子,例如 点号(.),在正则表达式中表示匹配除了 换行符之外的任何字符,它就是一个特殊的字...原创 2018-12-15 15:41:53 · 1625 阅读 · 0 评论 -
《零基础入门学习Python》第081讲:Pygame:提高游戏的颜值1
毋庸置疑,在这个出门看脸的时代,高颜值的界面会给你的游戏带来更多的眼球。这两节课我们就来谈谈如何提高Pygame游戏的颜值。我们一直通过 display模块的 set_mode() 方法来指定界面的大小,这个方法会返回一个 Surface 对象,我们就使用这个 Surface 对象作为界面。今天我们就来仔细讲解 set_mode() 方法。set_mode(resolution = (0...原创 2019-01-04 10:41:26 · 1407 阅读 · 2 评论 -
《零基础入门学习Python》第069讲:GUI的终极选择:Tkinter6
前面我们已经学习了Tkinter 的好几个组件。绘制单行文本我们当然知道要使用 Label 组件,多行选项我们使用 Listbox 组件,输入框用 Entry 组件,Button 就是按钮,Radiobutton 和 Checkbutton 分别对应单选和多选的情况,然后呢,有多个组件,我们还可以使用 Frame 和 LabelFrame 把它们构成一个框架,之后我们还学习了两个会滚的组件:Scr...原创 2018-12-24 22:03:38 · 983 阅读 · 0 评论 -
《零基础入门学习Python》第082讲:Pygame:提高游戏的颜值2
有些同学在上节课学完 transform 模块之后,便跃跃欲试,其中有一个 chop() 方法没有讲,chop 翻译过来就是 砍、剪、裁的意思,有的人就以为这个方法可以实现裁剪工具,但是呢,结果却事与愿违,这是为啥呢?我们这里尝试将小蛇从中间裁剪掉 50*50像素,看看是什么样子。代码如下:import pygameimport sysfrom pygame.locals impor...原创 2019-01-04 15:04:44 · 945 阅读 · 0 评论 -
《零基础入门学习Python》第078讲:Pygame:初见
从这一节课开始,我们就来讲游戏开发,那么在Python中提到游戏开发,那肯定非 Pygame 莫属了,Pygame 是一个利用 SDL 库实现的模块,我们先来安装Pygame。打开 CMD,输入 pip install Pygame,回车即可。C:\Users\Admin>pip install pygameCollecting pygame Using cached htt...原创 2019-01-02 13:51:21 · 1604 阅读 · 0 评论 -
《零基础入门学习Python》第090讲:Pygame:飞机大战1
不知道大家平时有没有玩过飞机大战的游戏,从这节课开始,我们就来实现一个飞机大战的游戏,具体要求如下:游戏的基本设定:敌方共有大中小3款飞机,分为高中低三种速度;子弹的射程并非全屏,而大概是屏幕长度的80%;消灭小飞机需要 1 发子弹,中飞机需要 8 发,大飞机需要 20 发子弹;每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分;每个30秒有一个随机的道具...原创 2019-01-06 19:35:14 · 5529 阅读 · 19 评论 -
《零基础入门学习Python》第091讲:Pygame:飞机大战2
上节课我们实现了游戏的背景和背景音乐,接下来,我们应该让主角闪亮登场了,创建一个名为 myplane 的模块,然后把我方飞机的所有属性和方法定义在里边。#myplane.pyimport pygameclass Myplane(pygame.sprite.Sprite): def __init__(self, bg_size): pyga...原创 2019-01-06 21:25:50 · 26840 阅读 · 7 评论 -
《零基础入门学习Python》第079讲:Pygame:解惑
上节课的代码不知道大家有没有完全理解、完全吃透,因为关于游戏开发,有些理论基础大家要知道,要掌握。所以这一节课我们以问答的形式对上节课大家可能存在的疑惑进行一个总结。Q1:什么是Surface 对象?上节课的例子中,我们说创建两个 Surface 对象,又说将其中一个 Surface 对象移动到另外一个 Surface 对象上,还说 Surface 对象有 fill() 方法和 blit(...原创 2019-01-03 07:53:26 · 855 阅读 · 0 评论 -
《零基础入门学习Python》第080讲:Pygame:事件
这节课我们来谈谈事件,什么是事件呢?事实上,我们可以看到,游戏就是一个死循环,如果我们不去干预它的话,它会自己玩得很开心,像之前我们写的乱跑的小蛇。而事件就是Pygame 提供给我们去干预它的机制,例如我们点 关闭,就会产生 QUIT 事件,我们处理这个 QUIT 事件的方法就是调用 sys.exut() 方法来退出整个程序。事件随时都可能发生,比如你在窗口上面移动鼠标,点击鼠标或者敲击键...原创 2019-01-03 07:55:25 · 1129 阅读 · 0 评论 -
《零基础入门学习Python》第092讲:Pygame:飞机大战3
当敌我两机发生碰撞时,两方应该是玉石俱焚的,现在我为每一个类增加撞击时发生的惨烈画面,比如:enemy1:enemy2:enemy3:me:我们现在就来写代码:首先为每一个类把这些图片加进去:#myplane.py 部分代码import pygameclass Myplane(pygame.sprite.Sprite): def ...原创 2019-01-07 11:37:18 · 2039 阅读 · 1 评论 -
《零基础入门学习Python》第093讲:Pygame:飞机大战4
现在处于敌强我弱的局面:敌人很多,我只要一个,无处可逃。我们就需要武器来反抗:定义子弹:子弹有两种:一种是一次只发射一颗,一种是补给发放的超级子弹,一次可以射2颗子弹。子弹的运动轨迹是直线向上的,速度要略快于飞机的速度,子弹如果超出屏幕范围的话,我们就重新绘制子弹,飞机在哪里,子弹就重新绘制在哪里,击中敌机的时候,子弹也是需要重新绘制的。因此,我们给子弹添加一个 active 属性,来判断...原创 2019-01-07 14:29:15 · 1794 阅读 · 0 评论 -
《零基础入门学习Python》第094讲:Pygame:飞机大战5
我们接下来在游戏界面的左上角设置一个得分显示区域,实时显示玩家得分,我们的规则如下:击落小中大敌机分别可以获得1000,6000,10000分。我们现在main 函数中添加一个 score 变量统计用户的得分,并设置显示分数的字体,我们已经放在素材库的 font 文件夹中了。 # 统计得分 score = 0 score_font = p...原创 2019-01-09 14:31:49 · 1604 阅读 · 2 评论 -
《零基础入门学习Python》第095讲:Pygame:飞机大战6
今天继续飞机大战的开发,游戏每30秒就随机下放一个补给包,可能是超级子弹或者全屏炸弹。补给包有自己的图片(如下图),也有自己的运行轨迹(由上而下)因此,我们可以单独写一个模块来实现:命名为 supply#supply.pyimport pygamefrom random import *class Bullet_Supply(pygame.sprite.Sprite): ...原创 2019-01-09 19:35:45 · 1559 阅读 · 2 评论 -
《零基础入门学习Python》第077讲:GUI的终极选择:Tkinter14
这节课是 Tkinter 的最后一节课,给大家介绍一下 Tkinter 的标准对话框,具体课程内容可以查看 扩展阅读:Tkinter 模块:标准对话框下一节课,我们开始学习 Pygame。...原创 2019-01-02 11:04:27 · 716 阅读 · 0 评论 -
《零基础入门学习Python》第076讲:GUI的终极选择:Tkinter13
这节课我们来学习 Tkinter 的布局管理器,那什么是布局管理器呢?说白了,就是用于管理你的组件如何排列。Tkinter 提供了 3 大布局管理器:pack、grid 和 place。pack 是按添加顺序排列组件 grid 是按行/列形式排列组件 place 则允许程序员指定组件的大小和位置(一)pack 管理器对比 grid 管理器,pack 更适用于少量组件的排列,但它在使用...原创 2019-01-02 10:08:52 · 1735 阅读 · 0 评论 -
《零基础入门学习Python》第089讲:Pygame:游戏胜利
通过摩擦摩擦,可以使得小球变绿色,并不再随机移动:玩家此时可以通过键盘上的 WSAD 按键来上下左右的移动小球,我们现在就来写响应相关按键事件的代码:import pygameimport sysfrom pygame.locals import *from random import *# 球类继承自Spirte类class Ball(pygame.sprite.Spr...原创 2019-01-05 23:53:58 · 1173 阅读 · 1 评论 -
《零基础入门学习Python》第070讲:GUI的终极选择:Tkinter7
上节课我们介绍了Text组件的Indexs 索引和 Marks 标记,它们主要是用于定位,Marks 可以看做是特殊的 Indexs,但是它们又不是完全相同的,比如在默认情况下,你在Marks指定的位置中插入数据,Marks 的位置会自动发生改变, 因为Marks 认它后面的“那个家伙”,当 Marks 前面的数据被删除时,Marks 并不会被删除,它的位置只是相应的向前移动了,只有 mark_u...原创 2018-12-25 15:50:43 · 845 阅读 · 2 评论 -
《零基础入门学习Python》第083讲:Pygame:提高游戏的颜值3
我们说过,图像是特定像素的组合,而Surface 对象是Pygame里面对图像的描述,在Pygame里面到处都是Surface 对象,set_mode() 返回的是一个Surface对象,在界面上打印文字也需要先把文字渲染成 Surface 对象,然后再贴上去,小蛇在上面爬呀爬,其实就是不断调整Surface对象上的一些特定的像素的位置,把小蛇所在位置的像素进行移动,就是小蛇在上面爬,就是调用 b...原创 2019-01-04 18:48:21 · 1067 阅读 · 0 评论 -
《零基础入门学习Python》第084讲:Pygame:基本图形绘制
今天我们开始学习 Pygame 的基本图形绘制。有些人就会疑惑了,你上节课不是说大多数游戏都是由图片构成的吗,不是说颜值高于一切吗,不是说颜值对一个游戏来说很重要吗,我们学习Pygame就是为了游戏开发,那你现在教我们基本图形绘制对游戏开发有什么用呢?其实,绘制基本图形对于游戏开发不是没有用,说来也奇怪,现在有些像素游戏也很火啊,它们就是由一些简单的图形绘制的小游戏,我这里总结了一下,有几个原...原创 2019-01-04 20:06:29 · 956 阅读 · 0 评论