摘要: 使用Python操作MySQL数据库 一、数据库的安装和连接 1.1 PyMySQL的安装 1.2 python连接数据库 1.2.1 更多参数版 二、创建表操作 三、操作数据 3.1 插入操作 3.2 查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据,使用 :方法获 阅读全文
posted @ 2019-11-13 22:19 つつつつつつ 阅读(454) 评论(0) 推荐(0)
摘要: MySQL性能分析之Explain Explain基础 关于explain命令相信大家并不陌生,具体用法和字段含义可以 "参考官网" ,这里需要强调rows是核心指标,绝大部分rows小的语句执行一定很快(有例外,下面会讲到)。所以优化语句基本上都是在优化rows。 5、possible_keys: 阅读全文
posted @ 2019-11-13 22:15 つつつつつつ 阅读(188) 评论(0) 推荐(0)
摘要: MySQL索引的数据结构 B+树介绍 一、树 树状图是一种数据结构 ,它是由n(n =1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只 阅读全文
posted @ 2019-11-13 22:10 つつつつつつ 阅读(604) 评论(0) 推荐(0)
摘要: MySQL索引原理 一、初识索引 1.1 为什么要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 1.2 阅读全文
posted @ 2019-11-13 22:02 つつつつつつ 阅读(487) 评论(0) 推荐(0)
摘要: 一、综合练习 1.1 init.sql文件内容 sql / 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 S 阅读全文
posted @ 2019-11-13 21:44 つつつつつつ 阅读(775) 评论(0) 推荐(0)
摘要: MySQL多表查询 一、准备 建表与数据准备: 二、多表连接查询 重点: 外链接语法 2.1 交叉连接 不适用任何匹配条件。生成笛卡尔积 2.2 内连接 只连接匹配的行 2.3 外链接之左连接 优先显示左表全部记录 2.4 外链接之右连接 优先显示右表全部记录 2.5 全外连接 显示左右两个表全部记 阅读全文
posted @ 2019-11-13 21:42 つつつつつつ 阅读(242) 评论(0) 推荐(0)
摘要: MySQL单表查询 一、单表查询的语法及关键字执行的优先级 1.1 单表查询语法 1.2 关键字执行的优先级 from:找到表 where:拿着where指定的约束条件,去文件/表中取出一条条记录 group by:将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 阅读全文
posted @ 2019-11-13 21:38 つつつつつつ 阅读(253) 评论(0) 推荐(0)
摘要: MySQL记录操作 一、概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括: 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。 二、插入数据(insert) 三、 阅读全文
posted @ 2019-11-13 21:28 つつつつつつ 阅读(292) 评论(0) 推荐(0)
摘要: MySQL表的完整性约束 一、概览 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: 阅读全文
posted @ 2019-11-13 21:27 つつつつつつ 阅读(177) 评论(0) 推荐(0)
摘要: MySQL支持的数据类型 一、数值类型 MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词, 阅读全文
posted @ 2019-11-13 21:21 つつつつつつ 阅读(232) 评论(0) 推荐(0)
摘要: MySQL表操作 一、表介绍 表就相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 还记得我们之前写过的‘员工信息表作业’么?存储这员工信息的文件是这样的: 如果把上面这个文件改成一张表,应该是下面这个样子 | id | name | age | 阅读全文
posted @ 2019-11-13 21:12 つつつつつつ 阅读(254) 评论(0) 推荐(0)
摘要: MySQL存储引擎概述 一、mysql存储引擎概述 1.1 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应 阅读全文
posted @ 2019-11-13 21:02 つつつつつつ 阅读(362) 评论(0) 推荐(0)
摘要: 数据库基础 一、楔子 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应该是多台机器一起分担用户的购票请求。 那么问题就来了,票务信息的数据存在哪里?存在文件里么? 阅读全文
posted @ 2019-11-13 20:36 つつつつつつ 阅读(321) 评论(0) 推荐(0)
摘要: 大白话五种IO模型 一、I/O模型介绍 为了更好地了解I/O模型,我们需要事先回顾下: "同步、异步、阻塞、非阻塞" 同步(synchronous) I/O和异步(asynchronous) I/O,阻塞(blocking) I/O和非阻塞(non blocking)I/O分别是什么,到底有什么区别 阅读全文
posted @ 2019-11-13 20:30 つつつつつつ 阅读(486) 评论(0) 推荐(0)
摘要: Python程序中的协程操作 gevent模块 一、安装 安装:pip3 install gevent 二、Gevent模块介绍 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet,它是以C扩展模块形式接入Python的轻量 阅读全文
posted @ 2019-11-13 20:19 つつつつつつ 阅读(144) 评论(0) 推荐(0)
摘要: Python程序中的协程操作 greenlet模块 一、安装模块 安装: 二、greenlet实现状态切换 单纯的切换(在没有io的情况下或者没有重复开辟内存空间的操作),反而会降低程序的执行速度。 三、效率对比 greenlet只是提供了一种比generator更加便捷的切换方式,当切到一个任务执 阅读全文
posted @ 2019-11-13 20:16 つつつつつつ 阅读(166) 评论(0) 推荐(0)
摘要: 协程基础 一、引言 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我 阅读全文
posted @ 2019-11-13 20:15 つつつつつつ 阅读(174) 评论(0) 推荐(0)
摘要: Python程序中的线程操作 concurrent模块 一、Python标准模块——concurrent.futures 官方文档:https://docs.python.org/dev/library/concurrent.futures.html 二、介绍 concurrent.futures模 阅读全文
posted @ 2019-11-13 20:11 つつつつつつ 阅读(319) 评论(0) 推荐(0)
摘要: Python程序中的线程操作 线程队列 一、线程队列 queue队列:使用 ,用法与进程Queue一样 queue is especially useful in threaded programming when information must be exchanged safely betwe 阅读全文
posted @ 2019-11-13 20:09 つつつつつつ 阅读(167) 评论(0) 推荐(0)
摘要: Python程序中的线程操作 锁 一、同步锁 1.1 多个线程抢占资源的情况 1.1.1 对公共数据的操作 1.2 同步锁的引用 1.3 互斥锁与join的区别 二、死锁与递归锁 进程也有死锁与递归锁,在进程那里忘记说了,放到这里一起说了。 所谓死锁:是指两个或两个以上的进程或线程在执行过程中,因争 阅读全文
posted @ 2019-11-13 20:05 つつつつつつ 阅读(123) 评论(0) 推荐(0)
摘要: Python程序中的线程操作 守护线程 一、守护线程 无论是进程还是线程,都遵循:守护xx会等待主xx运行完毕后被销毁。需要强调的是:运行完毕并非终止运行。 对主进程来说,运行完毕指的是主进程代码运行完毕 对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕 阅读全文
posted @ 2019-11-13 20:03 つつつつつつ 阅读(356) 评论(0) 推荐(0)
摘要: Python程序中的线程操作 创建多线程 一、python线程模块的选择 Python提供了几个用于多线程编程的模块,包括thread、threading和Queue等。thread和threading模块允许程序员创建和管理线程。thread模块提供了基本的线程和锁的支持,threading提供了 阅读全文
posted @ 2019-11-13 20:00 つつつつつつ 阅读(469) 评论(0) 推荐(0)
摘要: GIL全局解释器锁 一、GIL全局解释器锁 Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行。虽然 Python 解释器中可以“运行”多个线程,但在任意时刻只有一个线程在解释器中运行。对Python虚拟机的访问由 阅读全文
posted @ 2019-11-13 19:58 つつつつつつ 阅读(134) 评论(0) 推荐(0)
摘要: 内存中的线程 一、内存中的线程 多个线程共享同一个进程的地址空间中的资源,是对一台计算机上多个进程的模拟,有时也称线程为轻量级的进程。 而对一台计算机上多个进程,则共享物理内存、磁盘、打印机等其他物理资源。多线程的运行也多进程的运行类似,是CPU在多个线程之间的快速切换。 不同的进程之间是充满敌意的 阅读全文
posted @ 2019-11-13 19:57 つつつつつつ 阅读(465) 评论(0) 推荐(0)
摘要: 使用线程的场景 一、使用线程的实际场景 开启一个字处理软件进程,该进程肯定需要办不止一件事情,比如监听键盘输入,处理文字,定时自动将文字保存到硬盘,这三个任务操作的都是同一块数据,因而不能用多进程。只能在一个进程里并发地开启三个线程,如果是单线程,那就只能是,键盘输入时,不能处理文字和自动保存,自动 阅读全文
posted @ 2019-11-13 19:53 つつつつつつ 阅读(119) 评论(0) 推荐(0)
摘要: 进程和线程的区别 一、进程和线程的关系 线程与进程的区别可以归纳为以下4点: 地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保 阅读全文
posted @ 2019-11-13 19:52 つつつつつつ 阅读(363) 评论(0) 推荐(0)
摘要: 线程基础 一、线程概念的引入背景 1.1 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在 阅读全文
posted @ 2019-11-13 19:47 つつつつつつ 阅读(126) 评论(0) 推荐(0)
摘要: Python程序中的进程操作 进程池(multiprocess.Pool) 一、进程池 为什么要有进程池?进程池的概念。 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时 阅读全文
posted @ 2019-11-13 19:33 つつつつつつ 阅读(339) 评论(0) 推荐(0)
摘要: Python程序中的进程操作 进程间数据共享(multiprocess.Manager) 一、进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分 阅读全文
posted @ 2019-11-13 19:27 つつつつつつ 阅读(457) 评论(0) 推荐(0)
摘要: Python程序中的进程操作 进程间通信(multiprocess.Queue) 一、进程间通信 IPC(Inter Process Communication) 二、队列 2.1 概念介绍——multiprocess.Queue 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue 阅读全文
posted @ 2019-11-13 19:24 つつつつつつ 阅读(156) 评论(0) 推荐(0)
摘要: Python程序中的进程操作 进程同步(multiprocess.Lock) 通过刚刚的学习,我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理,他们之间的运行没有顺序,一旦开启也不受我们控制。尽管并发编程让我们能更加充分的利用IO资源,但是也给我们带来了新的问题:当多个进程使用同 阅读全文
posted @ 2019-11-13 19:19 つつつつつつ 阅读(250) 评论(0) 推荐(0)
摘要: Python程序中的进程操作 开启多进程(multiprocess.process) 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可 阅读全文
posted @ 2019-11-13 19:16 つつつつつつ 阅读(400) 评论(0) 推荐(0)
摘要: 进程的创建和结束 一、进程的创建 但凡是硬件,都需要有操作系统去管理,只要有操作系统,就有进程的概念,就需要有创建进程的方式,一些操作系统只为一个应用程序设计,比如微波炉中的控制器,一旦启动微波炉,所有的进程都已经存在。 而对于通用系统(跑很多应用程序),需要有系统运行过程中创建或撤销进程的能力,主 阅读全文
posted @ 2019-11-13 18:50 つつつつつつ 阅读(246) 评论(0) 推荐(0)
摘要: 同步异步阻塞非阻塞 一、状态介绍 在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 阅读全文
posted @ 2019-11-13 18:49 つつつつつつ 阅读(240) 评论(0) 推荐(0)
摘要: 进程的并行和并发 一、进程的并行和并发 并行: 并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU ) 并发:并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A ,交替使用,目的 阅读全文
posted @ 2019-11-13 18:46 つつつつつつ 阅读(224) 评论(0) 推荐(0)
摘要: 进程调度 要想多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随即进行的,而是需要遵循一定的法则,由此就有了进程的调度算法。 一、先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。FCFS算法比较有利于长作业(进程), 阅读全文
posted @ 2019-11-13 18:44 つつつつつつ 阅读(288) 评论(0) 推荐(0)
摘要: 进程基础 一、操作系统背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统,点击 阅读全文
posted @ 2019-11-13 18:41 つつつつつつ 阅读(264) 评论(0) 推荐(0)
摘要: 操作系统的发展史 一、手工操作——穿孔卡片 1946年第一台计算机诞生 20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算 阅读全文
posted @ 2019-11-13 18:35 つつつつつつ 阅读(1348) 评论(0) 推荐(0)
摘要: 元类(metaclass) 一、引言 元类属于python面向对象编程的深层魔法,99%的人都不得要领,一些自以为搞明白元类的人其实也只是自圆其说、点到为止,从对元类的控制上来看就破绽百出、逻辑混乱,今天我就来带大家来深度了解python元类的来龙去脉。 笔者深入浅出的背后是对技术一日复一日的执念, 阅读全文
posted @ 2019-11-13 18:23 つつつつつつ 阅读(119) 评论(0) 推荐(0)
摘要: 实现文件上下文管理(\_\_enter\_\_和\_\_exit\_\_) 我们知道在操作文件对象的时候可以这么写 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明\_\_enter\_\_和\_\_exit\_\_方法 一、上下文管理协议 \_\_e 阅读全文
posted @ 2019-11-13 18:09 つつつつつつ 阅读(115) 评论(0) 推荐(0)
摘要: \_\_module\_\_和\_\_class\_\_ 一、\_\_module\_\_ \_\_module\_\_ 表示当前操作的对象在那个模块 二、\_\_class\_\_ \_\_class\_\_表示当前操作的对象的类是什么 阅读全文
posted @ 2019-11-13 18:06 つつつつつつ 阅读(169) 评论(0) 推荐(0)
摘要: 实现迭代器(__next__和__iter__) 一、简单示例 死循环 二、StopIteration异常版 加上StopIteration异常 三、模拟range 四、斐波那契数列 阅读全文
posted @ 2019-11-13 18:02 つつつつつつ 阅读(359) 评论(0) 推荐(0)
摘要: 和`__repr__` 一、 打印时触发 obj和dic都是实例化的对象,但是obj打印的是内存地址,而dic打印的是有用的信息,很明显dic的打印是非常好的 二、 str函数或者print函数 repr或者交互式解释器 如果 没有被定义,那么就会使用 来代替输出 注意:这俩方法的返回值必须是字符串 阅读全文
posted @ 2019-11-13 18:00 つつつつつつ 阅读(104) 评论(0) 推荐(0)
摘要: 曾经我幼稚的以为认识了python的 方法就相当于认识了类构造器,结果, 方法突然出现在我眼前,让我突然认识到原来 才是老大。为什么这么说呢? 我们首先得从 的参数说说起, 方法的第一个参数是这个类,而其余的参数会在调用成功后全部传递给 方法初始化,这一下子就看出了谁是老子谁是小子的关系。 所以, 阅读全文
posted @ 2019-11-13 17:52 つつつつつつ 阅读(129) 评论(0) 推荐(0)
摘要: 一、 对象后面加括号时,触发执行。 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() 阅读全文
posted @ 2019-11-13 17:49 つつつつつつ 阅读(94) 评论(0) 推荐(0)
摘要: \_\_doc\_\_ 一、\_\_doc\_\_ 返回类的注释信息 该属性无法被继承 阅读全文
posted @ 2019-11-13 17:48 つつつつつつ 阅读(101) 评论(0) 推荐(0)
摘要: \_\_slots\_\_ 一、什么是\_\_slots\_\_ \_\_slots\_\_是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 使用点来访问属性本质就是在访问类或者对象的\_\_dict\_\_属性字典(类的字典是共享的,而每个 阅读全文
posted @ 2019-11-13 17:46 つつつつつつ 阅读(180) 评论(0) 推荐(0)
摘要: \_\_del\_\_ 一、\_\_del\_\_ \_\_del\_\_也称之为析构方法 \_\_del\_\_会在对象被删除之前自动触发 阅读全文
posted @ 2019-11-13 17:42 つつつつつつ 阅读(149) 评论(0) 推荐(0)
摘要: \_\_format\_\_ 一、\_\_format\_\_ 自定制格式化字符串 阅读全文
posted @ 2019-11-13 17:40 つつつつつつ 阅读(218) 评论(0) 推荐(0)
摘要: \_\_setitem\_\_和\_\_getitem\_\_和\_\_delitem\_\_ 一、\_\_setitem\_\_ 中括号赋值时触发 二、\_\_getitem\_\_ 中括号取值时触发 三、\_\_delitem\_\_与\_\_delattr\_\_ \_\_delitem\_\ 阅读全文
posted @ 2019-11-13 17:38 つつつつつつ 阅读(182) 评论(0) 推荐(0)
摘要: 描述符(__get__和__set__和__delete__) 一、描述符 描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了\_\_get\_\_(),\_\_set\_\_(),\_\_delete\_\_()中的一个,这也被称为描述符协议 \_\_get\_\_():调用一个属 阅读全文
posted @ 2019-11-13 17:33 つつつつつつ 阅读(131) 评论(0) 推荐(0)
摘要: __getattribute__ 一、__getattr__ 不存在的属性访问,触发__getattr__ 二、__getattribute__ 查找属性无论是否存在,都会执行 你可真霸道呀!!! 三、__getattr__与__getattribute__ 当__getattribute__与__ 阅读全文
posted @ 2019-11-13 17:19 つつつつつつ 阅读(191) 评论(0) 推荐(1)
摘要: __setattr__和__delattr__和__getattr__ 一、__setattr__ 添加/修改属性会触发它的执行 二、__delattr__ 删除属性的时候会触发 三、 __getattr__ 只有在使用点调用属性且属性不存在的时候才会触发 阅读全文
posted @ 2019-11-13 17:17 つつつつつつ 阅读(121) 评论(0) 推荐(0)
摘要: 反射(hasattr和getattr和setattr和delattr) 一、反射在类中的使用 反射就是通过字符串来操作类或者对象的属性 反射本质就是在使用内置函数,其中反射有以下四个内置函数: 1.1 应用 需求:通过用户输入命令启动功能 二、反射在模块中的使用 2.1 前言 我们要导入另外一个模块 阅读全文
posted @ 2019-11-13 17:14 つつつつつつ 阅读(155) 评论(0) 推荐(0)
摘要: isinstance和issubclass 一、isinstance与type 在游戏项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。 这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。验证类型用type函 阅读全文
posted @ 2019-11-13 17:06 つつつつつつ 阅读(122) 评论(0) 推荐(0)
摘要: 类和对象的绑定方法及非绑定方法 类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。 一、绑定方法 1.1 对象的绑定方法 在类中没有被任何装饰器修饰的方法就是 绑定到对象的方法,这类方法专门为对象定制。 speak即为绑定到对象的方法,这个 阅读全文
posted @ 2019-11-13 17:04 つつつつつつ 阅读(397) 评论(0) 推荐(0)
摘要: 类的property特性 一、什么是 property特性 property装饰器用于将被装饰的方法伪装成一个数据属性,在使用时可以不用加括号而直接使用 如下的例子用于说明如何定一个简单的property属性: property属性的定义和调用要注意一下几点: 1.定义时,在实例方法的基础上添加 @ 阅读全文
posted @ 2019-11-13 12:08 つつつつつつ 阅读(153) 评论(0) 推荐(0)
摘要: 类的多态和多态性 很多人喜欢将多态与多态性二者混为一谈,然后百思不得其解,其实只要分开看,就会很明朗。 一、多态 多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承) 序列数据类型有多种形态:字符串,列表,元组 动物有多种形态:人,狗,猪 1.1 动物的多种形态 1.2 阅读全文
posted @ 2019-11-13 12:03 つつつつつつ 阅读(2959) 评论(0) 推荐(1)
摘要: super()方法详解 一、单独调用父类的方法 需求:编写一个类,然后再写一个子类进行继承,使用子类去调用父类的方法1。 使用方法1打印: 胖子老板,来包槟榔。 那么先写一个胖子老板的父类,执行一下: 运行一下这个胖子老板父类的构造方法__init__ 如下: 好了,那么下面来写一个子类,也就是胖子 阅读全文
posted @ 2019-11-13 12:00 つつつつつつ 阅读(324) 评论(0) 推荐(0)
摘要: 菱形继承问题 一、类的分类 1.1 新式类 继承了object的类以及该类的子类,都是新式类 Python3中所有的类都是新式类 1.2 经典类 没有继承object的类以及该类的子类,都是经典类 只有Python2中才有经典类 二、菱形继承问题 在Java和C 中子类只能继承一个父类,而Pytho 阅读全文
posted @ 2019-11-13 11:54 つつつつつつ 阅读(531) 评论(0) 推荐(0)
摘要: 类的组合 一、什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外外一个类的对象 二、为什么用组合 组合是用来解决类与类之间代码冗余的问题 首先我们先写一个简单版的选课系统 如上设计了一个选课系统,但是这个选课系统在未来一定是要修改、扩展的,因此我们需要修改上述的代码 三、如何用组合 阅读全文
posted @ 2019-11-13 11:50 つつつつつつ 阅读(473) 评论(0) 推荐(0)
摘要: 一、派生 派生:子类中新定义的属性的这个过程叫做派生,并且需要记住子类在使用派生的属性时始终以自己的为准 1.1 派生方法一(类调用) 指名道姓访问某一个类的函数:该方式与继承无关 1.2 派生方法二(super) 严格以来继承属性查找关系 super()会得到一个特殊的对象,该对象就是专门用来访问 阅读全文
posted @ 2019-11-13 11:46 つつつつつつ 阅读(452) 评论(0) 推荐(0)
摘要: 类的继承 一、什么是继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父类的属性 继承是类与类之间的关系 二、为什么用继承 使用继承可以减少代码的冗余 三、对象的继承 Python中支持一个类同时继承多个父类 使用__bases__方法可以获取对象继承的类 阅读全文
posted @ 2019-11-13 11:43 つつつつつつ 阅读(188) 评论(0) 推荐(0)
摘要: 一、subprocess模块 subprocess模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。更多查看官网: 阅读全文
posted @ 2019-11-13 11:11 つつつつつつ 阅读(119) 评论(0) 推荐(0)
摘要: 一、shutil模块 高级的文件、文件夹、压缩包处理模块。 1.1 zipfile压缩解压缩 1.2 tarfile压缩解压缩 阅读全文
posted @ 2019-11-13 11:07 つつつつつつ 阅读(147) 评论(0) 推荐(0)
摘要: pathlib模块 一、pathlib库官方定义 pathlib 是Python内置库,Python 文档给它的定义是 Object oriented filesystem paths(面向对象的文件系统路径)。pathlib 提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类在纯路径之间 阅读全文
posted @ 2019-11-13 11:02 つつつつつつ 阅读(330) 评论(0) 推荐(0)
摘要: collections模块 collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。 定义一个class又小题 阅读全文
posted @ 2019-11-13 10:57 つつつつつつ 阅读(132) 评论(0) 推荐(0)
摘要: typing模块 一、引言 前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,加上Python本身就是一门弱类型的语言,这种现象就变得更加的严重,而typing这个模块很好的解决了这个问题。 系列 阅读全文
posted @ 2019-11-13 10:55 つつつつつつ 阅读(161) 评论(0) 推荐(0)
摘要: re模块 一、正则表达式 正则表达式本身是一种小型的、高度专业化的编程语言,它并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样 阅读全文
posted @ 2019-11-13 10:54 つつつつつつ 阅读(140) 评论(0) 推荐(0)
摘要: matplotlib模块 "matplotlib官方文档" matplotlib是一个绘图库,它可以创建常用的统计图,包括条形图、箱型图、折线图、散点图、饼图和直方图。 一、条形图 二、直方图 三、折线图 四、散点图+直线图 五、饼图 六、箱型图 箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种 阅读全文
posted @ 2019-11-13 10:41 つつつつつつ 阅读(294) 评论(0) 推荐(0)
摘要: pandas模块 "pandas官方文档" pandas基于Numpy,可以看成是处理文本或者表格数据。pandas中有两个主要的数据结构,其中Series数据结构类似于Numpy中的一维数组,DataFrame类似于多维表格数据结构。 pandas是python数据分析的核心模块。它主要提供了五大 阅读全文
posted @ 2019-11-13 10:12 つつつつつつ 阅读(135) 评论(0) 推荐(0)
摘要: numpy模块 一、numpy简介 "numpy官方文档" numpy是Python的一种开源的数值计算扩展库。这种库可用来存储和处理大型numpy数组,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: 区别于list列表,提供了数组操作、 阅读全文
posted @ 2019-11-13 09:42 つつつつつつ 阅读(182) 评论(0) 推荐(0)
摘要: logging模块 一、低配logging 日志总共分为以下五个级别,这个五个级别自下而上进行匹配 debug info warning error critical,默认最低级别为warning级别。 1.1 v1 v1版本无法指定日志的级别;无法指定日志的格式;只能往屏幕打印,无法写入文件。因此 阅读全文
posted @ 2019-11-13 09:30 つつつつつつ 阅读(199) 评论(0) 推荐(0)
摘要: 一、hashlib模块 1.1 hash是什么 hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。 hash算法其 阅读全文
posted @ 2019-11-13 09:22 つつつつつつ 阅读(244) 评论(0) 推荐(0)