Python
Python之简
人一定要逼自己一把
展开
-
坦白说查看教程 Python
工具:谷歌浏览器需要用浏览器模拟手机,也可以进行抓包查看 第一步:进入谷歌的开发者工具 按 F12 或者 更多工具开发者工具 然后添加新的模拟信息 模拟信息ozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E5216a...原创 2018-04-08 12:55:22 · 17517 阅读 · 22 评论 -
Python的类和对象
文章目录Python的类和对象1、鸭子类型和多态2、抽象基类(abc模块)3、isinstance的使用4、类变量和实例变量5、类属性和实例属性及查找顺序6、静态方法、类方法、对象方法7、数据封装和私有属性8、Python对象的自省机制9、Python的super函数10、mixin模式特点11、上下文管理器12、contextlib上下文管理器Python的类和对象1、鸭子类型和多态下面三...原创 2018-09-26 00:22:20 · 245 阅读 · 0 评论 -
Python中的协程
Python中的协程文章目录Python中的协程定义一个协程定义第二个协程第一种定义task对象方式第二种定义task对象方式为Task绑定一个回调方法多任务协程使用aiohttp定义一个协程import asyncioasync def execute(x): print(x)coroutine = execute(1)print('coroutine:',coroutine)l...原创 2018-10-13 16:08:22 · 1003 阅读 · 0 评论 -
aiohttp使用教程
aiohttp使用教程aiohttp分为服务器端和客户端,本文只介绍客户端。前面有一章文章介绍了协程文章目录aiohttp使用教程1.1、请求用法1.2 在URL中传递参数1.3、相应内容1.3、特殊响应内容:json1.4、字节流读取响应内容1.5、自定义头1.6、自定义Cookie1.7、post数据的方式1.模拟表单post数据2.post JSON3.post 小文件1.8、设置代理...原创 2018-10-14 17:44:00 · 4793 阅读 · 5 评论 -
Python读取大文件
Python读取大文件用Python读取2GB文件的时候,用普通方式读取报错MemoryError,说明该无文件无法被装载在内存中发生溢出了。read和readlines都是将整个文件加入到内存中,文件较大时,会引发MemoryError逐行读取with open('filename', 'r', encoding = 'utf-8') as f: while True: ...原创 2018-11-10 13:50:29 · 1218 阅读 · 0 评论 -
Gensim提取语义主题
Gensim目的:从文档中有效的自动抽取语义主题。处理原始的、非结构化的文本。gensim 中的算法有LSA、LDA、RP、TF-IDF、word2vec,通过在一个训练文档语料库中,检查词汇统计联合出现模式,发掘文档语义结构,这些算法属于 非监督 学习,无需人工输入,自己只需要提供一个语料库即可。语料:原始文本集合,用于无监督的训练文本主题的隐层结构。语料中不用 人工标注 附加信息...原创 2018-11-07 17:01:42 · 3418 阅读 · 2 评论 -
jieba模块
jieba做最好的 Python 中文分词组件文章目录jieba特点主要功能分词添加自定义词典载入词典基于 TF-IDF 算法的关键词抽取并行分词词语在原文的位置延迟加载命令分词特点支持三种分词模式:精确模式:将句子最精确地切开,适合文本分析全模式:将句子中所有的可以成词的词语都扫描出来,速度很快,但是不能解决歧义搜索引擎模式:在精确的基础上,对长词再次切分,提高召回率,适用...原创 2018-11-07 19:37:11 · 6046 阅读 · 0 评论 -
Whoosh模块
Whoosh模块纯Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库。它能让你开发出一个个性化的经典搜索引擎。Whoosh 自带的是英文分词,对中文分词支持不太好,使用 jieba 替换 whoosh 的分词组件。索引查找索引查找是在索引表和主表(线性表的索引存储结构)上进行查找。索引查找的过程:根据给定的索引值k1,在索引表上查找出索引值等于k1的索引项,...原创 2018-11-15 15:17:14 · 9850 阅读 · 0 评论 -
Tornado
文章目录Tornado初入Tornado参数handlers字符串服务HTTP状态码TornadoTornado 是使用 Python 编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。Python Web 框架有三 Django、Flask、Tornado 其中 Tornado 是唯一一个...原创 2018-11-21 19:26:43 · 1999 阅读 · 2 评论 -
Python的Collections
文章目录defaultdict在字典中对键进行嵌套操作counterdequenametupledefaultdict不需要检查key是否存在from collections import defaultdictdemo = (('a',1),('b',2),('c',3),('d',4))print(dict(demo))default_demo = defaultdict(...原创 2018-12-07 16:31:42 · 674 阅读 · 0 评论 -
Python 进阶
文章目录*args 用法**kwargs 用法可迭代对象迭代对象迭代器迭代生成器Map、Filter、ReduceMapFilterReduce三元运算符装饰器日志功能在函数中嵌入装饰器__slots__魔法try/else 语句一行式简易 Web server一行构造器列表展平使用C扩展CTypesSWIGPython/C API协程函数缓存上下文管理器基于生成器的实现变为上下文对象*args...原创 2018-12-09 15:45:49 · 750 阅读 · 0 评论 -
Python的itertools模块
Python的itertools模块itertools 模块用来产生不同类型迭代器的函数或类,这些函数的返回都是一个迭代器。可以通过for循环来遍历取值,也可以使用next()取值模块提供的迭代器函数类型无限迭代器:生成一个无限序列有限迭代器:接收一个或多个序列作为参数,进行组合、分组和过滤组合生成器:序列的排列、组合文章目录Python的itertools模块无限迭代器co...原创 2018-12-09 18:14:50 · 636 阅读 · 0 评论 -
pyenv 和 pipenv 和 direnv 管理Python环境
管理多个相互独立的 Python 虚拟开发环境最终实现pyenv:同一台电脑管理多个 Python 版本pipenv:每一个项目建立项目隔绝的虚拟环境direnv:进入项目自动激活虚拟环境Pyenvpyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本。安装 Pyenvbrew install pyenv或 ...原创 2018-12-19 11:58:52 · 1314 阅读 · 0 评论 -
Xpath常用语法
Xpath常用语法Xpath 是一门在XML文档中查找信息的语言。Xpath 用来在XML文档中对元素和属性进行遍历。Xpath工具推荐chrome 插件 XPath Helper快捷键:CTRL+SHIFT+X :开启长按 CTRL+SHIFT+鼠标:提取段落Xpath语法常用路径表达式表达式描述/从根节点选取nodename选取节点的所...原创 2019-01-05 18:14:15 · 1713 阅读 · 0 评论 -
Python一切皆对象
文章目录Python一切皆对象1、对象2、Type、Object 和 Class的关系3、常见内置类型3.1、对象的三个特征3.2、None(全局只有一个)3.2、数值3.3、迭代类型3.4、序列类型3.5、映射类型3.6、集合3.7、上下文管理器(with)3.8、其他类型Python一切皆对象1、对象函数和类也是对象,属于Python的一等公民。赋值给一个变量可以添加到集合对象中...原创 2018-09-24 15:22:39 · 824 阅读 · 0 评论 -
流畅的Python(2)
2、序列构成的数组2.1、内置序列类型2.2、列表(list)2.3、元组(tuple)2.4、元组和列表的区别2.5、切片2.6、序列的 + 和 *2.7、序列的增量赋值关于+=的谜题2.8、list.sort方法和内置函数sorted2.9、bisect管理已排序的序列2.9.1、用bisect搜索元素2.9.2、用bisect插入新元素2.10、数据结构的...原创 2018-09-15 17:41:10 · 1077 阅读 · 0 评论 -
Pythonic的代码(1)
Pythonic的代码(1)1、变量值交换2、生成字典序列3、三目运算4、推导式5、反转字符串6、item遍历map7、字符串的连接8、求和 最大值 最小值 乘积和9、for..else..语句10、enumerate的用法Pythonic的代码(1)爱上Python就是喜欢他精简的语法,写出Pythonic的代码,Python就要有自己优雅的写法。我...原创 2018-09-11 22:52:28 · 515 阅读 · 0 评论 -
Python构建代理池
使用Python爬取网站内容的时候,容易受反爬虫的限制,所以我们使用IP代理。稳定IP代理的都花钱,所以用免费代理构建自己的代理池。免费的IP代理 http://www.xicidaili.com使用的模块import requestsimport threadingimport randomfrom pyquery import PyQuery as pq爬取的网站...原创 2018-05-28 00:36:06 · 859 阅读 · 0 评论 -
Python中字符串的反转,及sord、 sorted、reverse、reversed的区别
Python中字符串的反转方法介绍下:sord、 sorted、reverse、reversed四种的区别第一种:使用切片操作string = '123456'result = string[::-1]第二种:使用reducefrom functools import reducestring = '123456'result = reduce(lambd...原创 2018-06-17 22:49:18 · 2437 阅读 · 1 评论 -
requests库添加自定义cookies
python requests库添加自定义cookies的方法一般的情况使用requests.Session()方法就可以解决cookies问题,但是在途中添加cookie遇到了一些问题。第一种:session = requests.Session()session.cookies['cookie'] = 'cookie-value'功能:可以添加cookie,不会清除原...原创 2018-06-26 02:03:02 · 4586 阅读 · 0 评论 -
python中的装包与解包
python中的装包与解包*args和 **kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:def fun(n, *args): print(n) print(args) # 未拆包 print(*args) # 进行拆包...原创 2018-07-09 01:07:45 · 4263 阅读 · 0 评论 -
python常见的文件操作
python之文件操作read1、'r'只读模式,[文件不存在就抛出异常IOError]with open('a.txt', 'r', encoding='utf-8') as f: print(f.readable())True2、'w'只写模式,[不可读,不存在则创建,存在则删除文件的内容]with open('a.txt', 'w', encoding...原创 2018-06-27 19:37:32 · 297 阅读 · 0 评论 -
Python中序列化和反序列化
Pyhton在json中load和loads区别相同点dump 和 dumps 都实现了序列化load 和 loads 都实现反序列化变量从内存中变成可存储或传输的过程称之为序列化 序列化是将对象状态转化为可保存或可传输格式的过程。变量内容从序列化的对象重新读到内存里称之为反序列化 反序列化是流转换为对象。区别1. load 和 loads (反序列化) ...原创 2018-06-27 22:22:03 · 2193 阅读 · 0 评论 -
Python中闭包与lambda的作用域
Python中闭包与lambda的作用域lambda写法def fun(): for i in range(3): yield lambda x : x * if0, f1, f2 = fun()print(f0(1), f1(2), f2(3))闭包的写法def fun(): result = [] for i in rang...原创 2018-07-03 11:17:04 · 1501 阅读 · 1 评论 -
Python中的yield和send
Python中的yield和send创建生成器yield1、第一种方法:a = (x for x in range(5))print(a)print(next(a))print(a.__next__())for i in a: print(i)输出为:<generator object <genexpr> at 0x10882741...原创 2018-07-11 01:04:06 · 1115 阅读 · 0 评论 -
python编码
python编码ASCLL、GBK、UTF-8、Unicode的关系字符的编码形式ASCLL:是最经典的编码方式,将序列中的每个字节理解为字符,可表示数字和字母128个不同字符。 GBK(GB2312的扩展):兼容ASCLL的不定长(长度为1-2),对于基本的128个字符仍用一个字节表示,中文用两个字表示。 UTF-8:与GBK类似,兼容ASCLL的不定长编码形式,可以表示...原创 2018-06-29 01:52:00 · 935 阅读 · 0 评论 -
Python二维数组创建
Python二维数组创建创建方法: 1. 直接创建 2. 列表生成 3. numpy创建遇到的问题:a = [[]]*3a[0].append(1)a[1].append(2)a[2].append(3)print(a)输出为:[[1, 2, 3], [1, 2, 3], [1, 2, 3]]原因是创建一个列表,然后复制上个,相当于二维数组中,引用...原创 2018-07-12 01:22:25 · 95830 阅读 · 4 评论 -
Python中的闭包
概念闭包的作用闭包函数内函数的引用内函数生存状态闭包变量的修改闭包变量存在时间概念闭包:在外函数中定义一个内函数,内函数中使用外函数的临时变量,并且外函数的返回值是内函数的引用。正常情况:一个函数结束,函数内部所有的东西都会释放掉还给内存,局部变量都会消失。闭包是一种特殊的情况,外函数在结束的时候发现自己的临时变量被内函数使用,就会把临时变量绑...原创 2018-08-03 21:19:26 · 354 阅读 · 0 评论 -
红黑树
红黑树二叉查找树在理想情况下时间复杂度 O(logn)O(logn)O(logn)当二叉树在频繁的动态更新过程中,会出现树的高度远大于 O(log2n)O(log_2n)O(log2n)红黑树: 就是解决复杂度退化问题,我们设计一种平衡二叉树。平衡二叉查找树定义: 二叉树中任意一个节点的左右子树高度相差不能大于1。完全二叉树、满二叉树都是平衡二叉树,但是非平衡二叉树也有可能是平衡二叉...原创 2019-03-31 23:32:05 · 581 阅读 · 0 评论