08 2019 档案

摘要:with关键字 在程序中,有很多连接需要关闭和打开,如文件的读写、数据库连接、socket,频繁的手动关闭比较麻烦,就出现的with。 例如对文件的操作正常情况下我们是这样的: 使用with关键字以后: 这是一种更加简洁的语法。 上下文管理器 任何实现了 __ enter __ () 和 __ ex 阅读全文
posted @ 2019-08-30 08:53 三国小梦 阅读(456) 评论(0) 推荐(0) 编辑
摘要:增 增加一条数据 如果数据是字符型,必须使用单引号或者双引号,如:"value"。 删 删除一条数据 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。 改 更新一条数据 查 查询关键字的定义顺序 阅读全文
posted @ 2019-08-29 21:49 三国小梦 阅读(140) 评论(0) 推荐(0) 编辑
摘要:现在有如下几个模块: A.py 功能:定义全局变量,供其他模块使用 B.py 功能:打印A.py中的变量 main.py 运行后我们发现: A模块中的name被修改了,但在B模块中打印的还是原来的值。 A模块中的lists添加了新的元素,显示正常。 原因: 使用from A import name 阅读全文
posted @ 2019-08-29 10:31 三国小梦 阅读(1398) 评论(0) 推荐(1) 编辑
摘要:xx:共有变量。 _xx:私有化的属性或方法,from xxx import 时无法导入,子类的对象和子类可以访问。 __xx:避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)。 __ xx __ :双前后下划线,用户名字空间的魔法对象或属性。例如: __ init __ , 阅读全文
posted @ 2019-08-28 20:27 三国小梦 阅读(574) 评论(0) 推荐(0) 编辑
摘要:Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回。 使用property修饰的实例方法被调用时,可以把它当做实例属性一样 property的用法1——装饰器方式 在类的实例方法上应用@property装饰器 property属性的定义和调用 阅读全文
posted @ 2019-08-28 15:12 三国小梦 阅读(722) 评论(0) 推荐(0) 编辑
摘要:了解http协议 http请求头 最主要的头两行分析如下: GET表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,URL总是以/开头,/就表示首页,最后的HTTP/1.1指示采用的HTTP协议版本是1.1。 目前HTTP协议的版本就是1.1,但是大部分服务器也支持1.0版本,主要区别在 阅读全文
posted @ 2019-08-28 10:41 三国小梦 阅读(2276) 评论(0) 推荐(1) 编辑
摘要:区别 进程是系统进行资源费配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位。它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 阅读全文
posted @ 2019-08-27 16:26 三国小梦 阅读(526) 评论(0) 推荐(1) 编辑
摘要:分析 分析网站寻找需要的网址 用谷歌浏览器摁F12打开开发者工具,然后打开斗鱼颜值分类的页面,如图: 在里面的请求中,最后发现它是以ajax加载的数据,数据格式为json,如图: 圈住的部分是我们需要的数据,然后复制它的网址为https://www.douyu.com/gapi/rknc/direc 阅读全文
posted @ 2019-08-26 17:52 三国小梦 阅读(732) 评论(0) 推荐(0) 编辑
摘要:使用yield完成多任务 使用greenlet完成多任务 如果没有安装,则 pip install greenlet 使用gevent完成多任务 首先使用 pip install gevent 进行安装 gevent是对greenlet的再次封装,使用起来更加简便,当有耗时操作时会自动切换到其他协程 阅读全文
posted @ 2019-08-26 16:32 三国小梦 阅读(426) 评论(0) 推荐(0) 编辑
摘要:分析 我们都知道一个可迭代对象可以通过iter()可以返回一个迭代器。 如果想要一个对象称为可迭代对象,即可以使用for,那么必须实现__iter __()方法。 在一个类的实例对象想要变成迭代器,就必须实现__iter__()和__next__()方法。 调用iter()时,在对象内部默认调用__ 阅读全文
posted @ 2019-08-26 10:25 三国小梦 阅读(700) 评论(0) 推荐(0) 编辑
摘要:UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。 UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。 udp通信模型中,在通信开 阅读全文
posted @ 2019-08-25 16:11 三国小梦 阅读(777) 评论(0) 推荐(0) 编辑
摘要:re模块的使用 re.match 从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None。 或者这样写 表示字符 |字符| 功能 | | | | | . | 匹配任意一个字符(除了\n) | | [ ] |匹配[ ]中列举的字符| | \d |匹配数字,即0 阅读全文
posted @ 2019-08-25 10:41 三国小梦 阅读(352) 评论(0) 推荐(1) 编辑
摘要:多线程开发可能遇到的问题 假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况: 运行结果可能不一样,但是结果往往不是2000000。问题产生的原因就是没有控制多个线程对同一资 阅读全文
posted @ 2019-08-24 16:49 三国小梦 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:Python3 线程中常用的两个模块为: _thread threading(推荐使用) 使用Thread类创建 说明:主线程会等待所有的子线程结束后才结束 使用Thread子类创建 为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threa 阅读全文
posted @ 2019-08-24 09:17 三国小梦 阅读(1731) 评论(0) 推荐(0) 编辑
摘要:我们知道进程之间的数据是互不影响的,但有时我们需要在进程之间通信,那怎么办呢? 认识Queue 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: put: get: 说明: get (s 阅读全文
posted @ 2019-08-23 14:56 三国小梦 阅读(846) 评论(0) 推荐(0) 编辑
摘要:在新创建的子进程中,会把父进程的所有信息复制一份,它们之间的数据互不影响。 使用os.fork()创建 该方式只能用于Unix/Linux操作系统中,在windows不能用。 使用Process类类创建 multiprocessing模块提供了一个Process类来代表一个进程对象,下面的例子演示了 阅读全文
posted @ 2019-08-23 10:21 三国小梦 阅读(974) 评论(0) 推荐(0) 编辑
摘要:迭代器 迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 可迭代对象 以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list 、 tuple 、 dict 、 s 阅读全文
posted @ 2019-08-22 15:19 三国小梦 阅读(348) 评论(0) 推荐(0) 编辑
摘要:String String类对象一旦创建就不可更改 。 String对象表示不可修改的Unicode编码字符串。 Java中双引号括起来的字符串也被当做String对象。 例如: StringBuffer StringBuffer对象的内容是可以改变的 。 如果经常对字符串内容进行修改,则使用Str 阅读全文
posted @ 2019-08-22 08:53 三国小梦 阅读(467) 评论(0) 推荐(0) 编辑
摘要:类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段,在python中也是成立的。 但是,python的类不止于此,类同样也是一种对象。 上面的代码段将在内存中创建一个对象,名字就叫做ObjectCreator。这个对象(类对象ObjectCreator)拥有创建对象(实例对象 阅读全文
posted @ 2019-08-21 16:05 三国小梦 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:所谓的列表推导式,就是指的轻量级循环创建列表。 基本使用方式 上面的列表推导式等价于下面,只是代码非常简化。 在循环的过程中使用if 等价于 2个for循环 等价于 练习 生成一个[[1,2,3],[4,5,6]....]的列表最大值在100以内 首先考虑一下正常情况我们应该怎么写 然后再把它转换成 阅读全文
posted @ 2019-08-20 22:43 三国小梦 阅读(887) 评论(0) 推荐(0) 编辑
摘要:类属性 就像如下代码: 在类中直接定义的属性就是类属性, 它被所有的实例对象所共有 。 对于共有类属性,在类外可通过类对象和实例对象访问 。 例如: 私有的类属性在类外不能被访问,否则会报异常。 实例属性 在类中通过self.xxx或者实例对象.xxx定义的属性就是实例属性。 每个实例属性仅在当前实 阅读全文
posted @ 2019-08-20 15:54 三国小梦 阅读(834) 评论(0) 推荐(1) 编辑
摘要:封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口。我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以执行方法中的代码,也就是说我们只需要知道方法的名字和传入的参数(方法的外部视图),而不需要知道方法内 阅读全文
posted @ 2019-08-19 20:41 三国小梦 阅读(751) 评论(2) 推荐(0) 编辑
摘要:首先,什么是魔法方法呢?在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法。 __ init__()方法 当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。 __ init __()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参 阅读全文
posted @ 2019-08-19 10:44 三国小梦 阅读(1524) 评论(0) 推荐(2) 编辑
摘要:文件操作 文件的打开与关闭 打开文件 使用 open (文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件。 示例如下: encoding默认时使用与操作系统一样的编码方式,window为gbk,linux为utf 8。在window中有的ide编码为utf 8,则在操作文件时需 阅读全文
posted @ 2019-08-18 15:24 三国小梦 阅读(393) 评论(0) 推荐(0) 编辑
摘要:匿名函数 用lambda能够创建一个匿名函数,这种函数得名于省略了用def声明函数的标准步骤。 语法 如何使用 1. 我们正常定义一个函数时是这样的 2. 使用lambda定义匿名函数是这样的 按正常的调用方式即可。lambda表达式能够接收任何数量的参数但只能返回一个表达式的值。 用途 1.就像上 阅读全文
posted @ 2019-08-17 23:19 三国小梦 阅读(2684) 评论(0) 推荐(2) 编辑
摘要:本案例使用了自定义函数以及对字符串的常见操作、判断语句和循环语句等知识。 要求 1. 必须使用自定义函数,完成对程序的模块化。 2. 名片信息至少包括:姓名、电话、住址。 3. 必须完成的功能:增、删、改、查、退出。 分析 1. 首先呢,我们应该先定义一个全局变量,用于存储所有的名片信息。 2. 完 阅读全文
posted @ 2019-08-17 17:42 三国小梦 阅读(1720) 评论(1) 推荐(0) 编辑
摘要:局部变量 什么是局部变量 通俗定义:函数内部定义的变量就叫局部变量。 话不多说,代码如下: 结论: 局部变量就是在函数内部定义的变量。 不同的函数内部可以定义名字相同的变量,但它们不会产生影响。 局部变量的作用,为了临时保存数据需要在需要在函数中定义变量来进行存储。 全局变量 什么是全局变量 定义: 阅读全文
posted @ 2019-08-15 09:35 三国小梦 阅读(2068) 评论(4) 推荐(1) 编辑
摘要:本文将通过for ... in ...的语法结构,遍历字符串、列表、元组、字典等数据结构。 字符串遍历 列表遍历 元组遍历 字典遍历 1. 遍历字典的key(键) 2. 遍历字典的value(值) 3. 遍历字典的项(元素) 重点:带下标索引的遍历 正常情况我们是这样的 升级版使用 enumerat 阅读全文
posted @ 2019-08-12 23:05 三国小梦 阅读(2638) 评论(0) 推荐(0) 编辑
摘要:下标 所谓下标就是编号,就好比超市中存储柜的编号,通过这个编号就能找到相应的存储空间。 Python中字符串,列表,元祖均支持下标索引。 例如: 切片 切片是指对操作的对象截取一部分的操作,字符串,列表,元组均支持切片操作。 切片的语法:[起始:结束:步长] 注意:选取的区间属于左闭右开型,即从"起 阅读全文
posted @ 2019-08-08 22:27 三国小梦 阅读(3335) 评论(0) 推荐(1) 编辑
摘要:任务要求: 在控制台中提示输入石头、剪刀、布,按回车键,然后给出游戏结果。 分析: 我们知道在游戏规则中,石头克剪刀,剪刀克布,布克石头。但是这在计算机中并不是很好直接的表示,因此我们分别用0、1、2分别代表游戏中的石头剪刀布。 那么电脑该如何出拳呢?那就该用到python中的一个模块random中 阅读全文
posted @ 2019-08-02 21:51 三国小梦 阅读(2586) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示