11 2019 档案
类的单例模式
摘要:单例模式 在确定“类中的属性与方法”不变时,需要反复调用该类 产生不同的对象,会产生不同的内存地址,造成资源浪费 让所有类在实例化时,指向同一个内存地址,称之为单例模式 (无论产生多少个对象,都会指向单个 实例) 优点:节省空间 \__new__方法实现单例 要知道,虽然__new__方法接受的参数 阅读全文
posted @ 2019-11-29 17:41 Rannie` 阅读(301) 评论(0) 推荐(0)
类的内置方法(魔法方法)
摘要:类的内置方法(魔法方法) 什么是魔法方法? 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,也称之为魔法方法 类的内置方法,会在某种条件满足下自动触发。 __new__:在__init__出发前,自动触发,调用该类时,内部会通过__new__产生一个新的对象。 __init__:在调用 阅读全文
posted @ 2019-11-29 17:25 Rannie` 阅读(263) 评论(1) 推荐(0)
classmethode,staticmethode
摘要:[TOC] 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用 与`staticmethod`都是python解释器内置的装饰器 类中定义的函数分为两大类:绑定方法和非绑定方法 在类 阅读全文
posted @ 2019-11-28 18:06 Rannie` 阅读(227) 评论(0) 推荐(0)
多态,鸭子模型
摘要:[TOC] 多态 多态指的是同一种类型的事物,不同的形态 多态的目的: 多态也称之为‘多态性’, 目的是为了 在不知道对象具体类型的情况下,统一对象调用的方法规范 (比如:名字) 多态的表现“形式之一”就是继承 ​ 先抽象,再继承 Python的多态性是指: 在不考虑实例类型的情况下使用实例,也就是 阅读全文
posted @ 2019-11-28 18:03 Rannie` 阅读(246) 评论(0) 推荐(0)
面向对象之 组合 封装
摘要:[TOC] 组合 组合指的是一个对象中,包含另一个或多个对象。( 一个对象拥有另一个对象中的属性/方法 ) 减少代码的冗余 继承: 继承是类与类的关系,子类继承父类的属性/方法,子类与父类是一种 “从属” 关系。 组合: 组合是对象与对象的关系, 一个对象拥有另一个对象中的属性/方法 ,是一种什么有 阅读全文
posted @ 2019-11-27 15:26 Rannie` 阅读(310) 评论(0) 推荐(0)
面向对象之继承
摘要:1、什么是继承 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父类称之为基类或超类 在python中,一个子类可以继承多个父类 其他语言中,一个子类只能继承一个父类 2、继承的作用 减少代码的冗余 3、如何实现继承 先确定谁是子类,谁是父类 class ParentClass1: # 定 阅读全文
posted @ 2019-11-26 15:28 Rannie` 阅读(161) 评论(0) 推荐(0)
高效爬虫
摘要:[TOC] Gevent gevent基础之阻塞,非阻塞 1.gevent中一个很大的改进就是将阻塞IO改为非阻塞IO; 阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回 非阻塞指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回 同步,异步概念 1.同步就是 阅读全文
posted @ 2019-11-25 18:55 Rannie` 阅读(202) 评论(0) 推荐(0)
UUID
摘要:UUID 1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit 阅读全文
posted @ 2019-11-25 18:45 Rannie` 阅读(224) 评论(0) 推荐(0)
认识 面向对象 之 上帝思想
摘要:[TOC] 1、上帝的思想 ,什么是面向对象? 面向对象是一门编程思想 面向过程编程思想: 面向过程编程思想: 核心是 “过程” 二字,过程指的是解决问题的步骤,即先干什么再干什么! 基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式。 优点: 将复杂的问题流程化,进而简单化 阅读全文
posted @ 2019-11-25 16:04 Rannie` 阅读(242) 评论(0) 推荐(0)
gevent.queue
摘要:[TOC] Gevent gevent基础之阻塞,非阻塞 1.gevent中一个很大的改进就是将阻塞IO改为非阻塞IO; 阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回 非阻塞指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回 同步,异步概念 1.同步就是 阅读全文
posted @ 2019-11-23 17:31 Rannie` 阅读(929) 评论(0) 推荐(0)
subprocess
摘要:subprocess subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值 subprocess 模块首先推荐使用的是它的 run 方法,更高级的用法可以直接使用 Popen 接口 run subprocess.run(args, *, stdin=N 阅读全文
posted @ 2019-11-19 14:34 Rannie` 阅读(175) 评论(0) 推荐(0)
collections
摘要:collections高级数据类型 这个模块实现专门的容器数据类型提供替代Python的通用内置容器 dict,list, set,和tuple。 | | | | | | | | 用于创建具有命名字段的元组子类的工厂函数 | | | 类似列表的容器,两端都有快速追加和弹出 | | | 类似于dict 阅读全文
posted @ 2019-11-18 16:09 Rannie` 阅读(182) 评论(0) 推荐(0)
Json、Pickle
摘要:[TOC] Json JSON是一个序列化模块,一种用于存储和交换数据的语法。 JSON是用JavaScript对象表示法(JavaScript object notation)格式编写的文本。 可以将python数据类型 — json数据类型 — 字符串 — 文件中 其他语言要想用python的数 阅读全文
posted @ 2019-11-18 15:03 Rannie` 阅读(149) 评论(0) 推荐(0)
MongonDB
摘要:[TOC] 1、下载MongoDB "MongoDB的官网" "简单下载方法" "win32/mongodb win32 x86_64 2008plus ssl v4.0 latest signed.msi" 2、启动MongoDB 启动服务:打开命令行输入命令 解析:mongod –dbpath 阅读全文
posted @ 2019-11-16 20:55 Rannie` 阅读(160) 评论(0) 推荐(0)
hashlib
摘要:hashlib hashlib是一个加密模块,提供了常见的 摘要算法 ,如MD5,SHA1 MD5算法加密 , 检验数据完整性 所谓摘要算法,也可以称为:哈希算法,离散算法。即通过一个函数,将任意长度的数据转化为一个长度固定的数据串(通常16进制) 摘要算法: ​ 摘要一样,内容就一定一样:保证唯一 阅读全文
posted @ 2019-11-16 20:47 Rannie` 阅读(151) 评论(0) 推荐(0)
os,sys
摘要:os 与操作系统交互的模块 获取当前项目根目录,项目的根目录,路劲相关的值都用”常量” print(os.path.dirname(\__file__)) 获取当前根目录 print(os.getcwd()) 查看当前所在路劲 print(os.path.join(BASE_PATH,file_na 阅读全文
posted @ 2019-11-16 16:27 Rannie` 阅读(132) 评论(0) 推荐(0)
random
摘要:一、random库基本介绍 random库是使用随机数的Python标准库 伪随机数:采用梅森旋转法生产的(伪)随机序列中元素 random库主要用于生产随机数 使用random库: 二、随机数函数 | 函数 | 描述 | | | | | | 默认获取0 –1之间的任意小数 | | | 随机生产一个 阅读全文
posted @ 2019-11-16 15:33 Rannie` 阅读(280) 评论(0) 推荐(0)
time、datetime
摘要:time() python的时间模块 时间戳: 给电脑看的、1970-01-01 00:00:00到当前时间,按秒计算 格式化时间(Format String): 给人看的、返回的是时间的字符串 '2019-11-16 14:20:42' 格式化时间对象(struct_time): 返回的是一个元组 阅读全文
posted @ 2019-11-16 15:10 Rannie` 阅读(135) 评论(0) 推荐(1)
py 包和模块,软件开发目录规范
摘要:py 包和模块,软件开发目录规范 [TOC] 什么是包? 包指的是内部包\__init__.py的文件夹 包的作用: 存放模块,包可以更好的管理模块 什么是模块? 一些列功能的结合体 相当于模块包着一堆函数与代码 模块本质上是一个.py文件 模块的三种来源: 1. python内置的模块:(pyth 阅读全文
posted @ 2019-11-15 18:14 Rannie` 阅读(276) 评论(1) 推荐(2)
递归函数
摘要:[TOC] 递归的定义 什么是递归:函数递归是指“直接调用或间接调用”函数本身 直接调用:指的是在函数内置,直接调用函数本身 间接调用:两个函数之间相互调用间接造成递归 代码特点: 1 函数内部的代码是相同的,只是针对参数不同,处理的结果不同 2 当参数满足一个条件是,函数不在执行 这个通常被称为递 阅读全文
posted @ 2019-11-15 17:27 Rannie` 阅读(381) 评论(0) 推荐(0)
匿名函数,内置函数
摘要:lambda lambda 函数也叫匿名函数,也就是没有名字的函数 lambda匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。其实lambda返回值是一个函数的地址,也就是函数对象。 通常和内置函数一起使用 lambda函数的特点和使用场景 特点 ''' 从函数命名的角度 阅读全文
posted @ 2019-11-15 15:04 Rannie` 阅读(337) 评论(0) 推荐(0)
三元表达式,列表生成式,生成器生成式
摘要:[TOC] 三元表达式 可以将if...else..…分支变成一行 语法: 列表生成式 列表推导式可以利用 range 区间、列表、元组、集合和字典等数据类型,快速生成一个满足指定需求的列表。 语法: [表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ] 此格式中,[if 条件表达 阅读全文
posted @ 2019-11-14 17:13 Rannie` 阅读(276) 评论(0) 推荐(0)
迭代器,生成器
摘要:迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式 迭代提供了一种通用的不依赖索引的迭代取值方式(next) 什么是迭代器? 迭代器是访问可迭代对象的工具 (是指用可迭代对象的 __iter__ 方法返回迭代器对象,用迭代器对象的 __next__方法取值 ) 迭代器有两个基本的方 阅读全文
posted @ 2019-11-13 16:04 Rannie` 阅读(167) 评论(0) 推荐(0)
XPath
摘要:1、什么是XPath XPath在Python的爬虫学习中,起着举足轻重的地位,对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但XPath明显比re具有优势,在网页分析上使re退居二线。 XPath是什么? 全称为XML Path Language 一种小型的查询语言说道XPath 阅读全文
posted @ 2019-11-12 22:18 Rannie` 阅读(173) 评论(0) 推荐(0)
闭包,装饰器
摘要:[TOC] 1、什么是闭包: 在嵌套函数中,内部函数用到了外部函数的变量,则称内部函数为闭包 python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure). 形成闭包的条件: 通俗来说:就是定义 阅读全文
posted @ 2019-11-12 15:38 Rannie` 阅读(146) 评论(0) 推荐(0)
函数对象,命名空间,作用域
摘要:[TOC] 函数对象 一、函数名是可以被引用的 秉承着一切皆对象的理念,我们再次回头来看函数(function)。 函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者作为参数传递。 二、函数名可以被当做函数的返回值 三、函数名可以被当做作容器类型的参数 函 阅读全文
posted @ 2019-11-11 15:25 Rannie` 阅读(768) 评论(0) 推荐(0)
函数的定义
摘要::dagger: 函数 一、函数的基本使用 1. 函数的定义 什么是函数: 函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 函数的作用,为什么要用函数: 使用函数可以加强代码的复用性,提高程序编写的效率 防止代码冗余,提高代码可读性 函数的使用: 函数必须先创建才可以使用,该 阅读全文
posted @ 2019-11-09 16:54 Rannie` 阅读(851) 评论(0) 推荐(0)
函数的使用
摘要::dagger: 函数 一、函数的基本使用 1. 函数的定义 什么是函数: 函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 函数的作用,为什么要用函数: 使用函数可以加强代码的复用性,提高程序编写的效率 防止代码冗余,提高代码可读性 函数的使用: 函数必须先创建才可以使用,该 阅读全文
posted @ 2019-11-09 16:47 Rannie` 阅读(278) 评论(0) 推荐(0)
re正则
摘要:常用语法: 字符 . 匹配任意除换行符“\n”外的字符 \ 转义字符,使用后一个字符改变原来的意思 [..] 字符集 预定义字符集: \d 数字:[0-9] \D 非数字:[^\d】 \s 空白字符:[<空格>\t\r\n\f\v] \S 非空白字符:[^\s】 \w 单词字符:[A-Za-z0-9 阅读全文
posted @ 2019-11-08 15:58 Rannie` 阅读(220) 评论(0) 推荐(0)
文件操作
摘要:文件操作 1、介绍 计算机系统分为,计算机硬件,操作系统,应用程序 三部分 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户 阅读全文
posted @ 2019-11-07 22:24 Rannie` 阅读(159) 评论(0) 推荐(0)
python常用模块
摘要:time、datetime --时间模块 random --随机模块 csv与openpyxl --Excel相关模块 jieba,wordcloud --中文结巴分词 re --正则模块 os --操作系统、sys --解释器 hashlib --加密模块 collections --高级数据类型 阅读全文
posted @ 2019-11-07 19:56 Rannie` 阅读(263) 评论(0) 推荐(0)
字符编码
摘要:[TOC] 前言:三大核心硬件 所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘,我们需要明确三点 python解释器执行文件的流程 以python test.py为例,执行流程如下 什么是字符编码? 计算机是以二进制的形式来存储数据的,即它只认识 0 和 1 两个数字。 阅读全文
posted @ 2019-11-07 19:50 Rannie` 阅读(382) 评论(0) 推荐(0)
爬虫从入门到放弃!!!
摘要:写爬虫,是一个非常考验综合实力的活儿。 有时候,你轻而易举地就抓取到了想要的数据; 有时候,你费尽心思却毫无所获。 好多Python爬虫的入门教程都是一行代码就把你骗上了**“贼船”**,等上了贼船才发现,水好深~ 比如爬取一个网页可以是很简单的一行代码: requests.get('https:/ 阅读全文
posted @ 2019-11-06 19:00 Rannie` 阅读(520) 评论(0) 推荐(0)
Requests
摘要:Requests 基本使用 python发送请求时,可以用requests模块,这个模块不是内置模块 需要安装 pip install requests Requests库的七个主要方法: 方法 描述 requests.request() 构造一个请求,支撑一下各方法的基础方法 requests.g 阅读全文
posted @ 2019-11-06 18:55 Rannie` 阅读(233) 评论(0) 推荐(0)
初识爬虫
摘要:1、初识爬虫 明晰路径 一般来说,传统的拿数据的做法是:通过浏览器上网,手动下载所需要的数据。其实在这背后,浏览器做了很多我们看不见的工作,而只有了解浏览器的工作原理后,才能真正理解爬虫在帮我们做什么。 浏览器的工作原理 实不相瞒,在这个过程中,浏览器的交流对象不只有你,还有【服务器】。我们可以把服 阅读全文
posted @ 2019-11-06 18:53 Rannie` 阅读(148) 评论(0) 推荐(0)
基本数据类型及内置方法
摘要:基本数据类型及内置方法 引子:序列 所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们 在python中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相 阅读全文
posted @ 2019-11-05 18:45 Rannie` 阅读(270) 评论(0) 推荐(0)
Selenium XPath
摘要:1、selenium是什么呢? selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法执行javaScript代码的问题。 它可以做什么呢?它可以用几行代码,控制浏览器,做出自动打开、输入、点击等操作,就像是有一个真正的用户在操作一样。 selenium允许让人去 阅读全文
posted @ 2019-11-05 17:35 Rannie` 阅读(287) 评论(0) 推荐(0)
Beautiful Soup
摘要:Beautiful Soup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库 Beautiful Soup简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 阅读全文
posted @ 2019-11-03 18:53 Rannie` 阅读(330) 评论(0) 推荐(0)
PEPE规范 和 垃圾回收
摘要:[TOC] 1.python解释器的种类及特点 ,由C语言开发的,使用最广的解释器(最具广泛兼容性方案) ,基于cpython之上的一个交互式计时器,交互方式增强,功能和CPython一样 ,目标是执行效率,对python代码进行动态编译,提高执行效率 ,运行在java上的解释器,直接把python 阅读全文
posted @ 2019-11-02 20:29 Rannie` 阅读(252) 评论(0) 推荐(0)
编程语言的发展史及变量
摘要:[TOC] python介绍 编程语言的发展史 机器语言 汇编语言 高级语言 特点是开发速度越来越快,难度越来越低,但是执行速度越来越美慢 变量是什么? 变量是可改变的量 变量的命名规范 变量只能包含字母,数字,下划线 不能以数字开头 变量名不能和关键字,模块名相同 变量名应简短,既有描述性 变量的 阅读全文
posted @ 2019-11-01 21:05 Rannie` 阅读(184) 评论(0) 推荐(0)
cookies
摘要:[TOC] Cookie简介 HTTP协议 是无状态的协议,用户浏览服务器上的内容,只需要发送页面请求,服务器返回内容。 对于服务器来说,并不关心,也并不知道是哪个用户的请求。 对于一般浏览性的网页来说,没有任何问题。 但是,现在很多的网站,是需要用户登录的。以淘宝为例:比如说某个用户想购买一个产品 阅读全文
posted @ 2019-11-01 20:12 Rannie` 阅读(219) 评论(0) 推荐(0)

去除动画
找回动画