
python
MZP_man
这个作者很懒,什么都没留下…
展开
-
Python pip 包的安装和卸载 使用。
Python pip 包的安装和卸载 使用。(一)、pip 安装 一般 来说 Python 需要什么包 直接 pip install 包 即可 但是 这种方法太慢 因为他通过美国的服务器下载。 提高 pip 速度 这里提供几个国内下载的源,下载速度就比较快了。 清华源:https://pypi.tuna.tsinghua.edu.cn/simple...原创 2019-01-08 10:58:38 · 3357 阅读 · 0 评论 -
python is和==
Python 采取了正确的方式。运算符比较对象的值,而 is 比较引用。此外,Python 支持重载运算符, 能正确处理标准库中的所有对象,包括 None——这是一个正常的对象。当然,你可以在自己的类中定义 __eq__ 方法,决定 == 如何比较实例。如果不覆盖 __eq__ 方法,那么从 object 继承的方法比较对象的 ID,因此这种后备机制认为用户 定义的类的各个实例是不同的。如果所...原创 2019-08-12 07:37:46 · 117 阅读 · 0 评论 -
python 让协程返回值
异常的方式一样:循环机制使用用户易于理解的方式处理异常。可惜,我们无法在控制台中使用。方式测试这种行为,因为在函数外部使用。返回一个值(通常是某种累计值)结构来说,解释器不仅会捕获。协程的不同版本,这一版会。结构会在内部自动捕获。这么做是为了强调某些。原创 2019-09-08 19:43:48 · 891 阅读 · 1 评论 -
python heapq模块查找集合中最大或最小n个元素列表
怎样从一个集合中获得最大或者最小的 N 个元素列表?heapq 模块有两个函数: nlargest() 和 nsmallest() 可以完美解决这个问题。举例说明:一、集合类型"""heapq 模块获取集合中最大或者最小的n个元素"""import heapq# 列表nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]max_list = heapq.nlargest(3, nums)min_list = heapq.nsmallest(3,原创 2020-06-08 21:20:14 · 452 阅读 · 0 评论 -
python pip安装包或者模块换为国内镜像提高下载速度
因为 pip 的指南, windows 中 pip 的配置文件是 %HOME%/pip/pip.ini (具体到当前的环境,Windows的当前用户是dcg,所以配置文件的位置就是 C:\Users\dcg\pip\pip.ini)默认情况下,pip 文件夹 和 pip.ini 文件都没有创建,需要自行创建,创建好文件好后,修改pip.ini文件:这样在使用pip安装模块的时候就调用我们想要的...原创 2019-11-27 12:26:36 · 279 阅读 · 0 评论 -
python 继承的规则
本文讲述python继承规则,原创 2019-09-07 12:59:15 · 838 阅读 · 0 评论 -
python 读取PDF(tabula和pdfminer和pdfplumber的简单操作)
一、pdfminer 读取PDF官方文档:http://www.unixuser.org/~euske/python/pdfminer/这里针对python31、模块安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pdfminer3k2、读取PDF text文本源码import importlibimport sys...原创 2019-07-19 18:58:21 · 4961 阅读 · 0 评论 -
python re模块
正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于 匹配和替换文本。python 中的re模块1,主要方法match 方法:从起始位置开始查找,一次匹配 。search 方法:从任何位置开始查找,一次匹配 。findall 方法:全部匹配,返回列表 。finditer 方法:全部匹配,返回迭代器 。split 方法:分割字符串,返回列表sub 方...原创 2019-06-16 00:52:56 · 2222 阅读 · 0 评论 -
python 不要使用可变类型作为参数的默认值
可选参数可以有默认值,这是 Python 函数定义的一个很棒的特性,这样我们的 API 在进 化的同时能保证向后兼容。然而,我们应该避免使用可变的对象作为参数的默认值。示例:"""不要使用可变类型作为函数的参数的默认值"""class HauntedBus: def __init__(self, passengers=[]): self.passengers...原创 2019-08-10 19:44:11 · 573 阅读 · 0 评论 -
python 终止协程和异常处理
深藏在 Python 语言参考手册中,参见“6.2.9.1. Generator-iterator methods”(类(类本身,而不是实例,也不抛出)作为哨符值;如果生成器没有处理抛出的异常,异常会向上抛,传到调用方的上下。(即触发协程的对象)。下面示例举例说明如何使用之前博客(生成器抛出的其他异常会向上抛,传给调用方。开始,客户代码可以在生成器对象上调用。出错的原因是,发送给协程的 ‘),调用方不会报错。不能产出值,否则解释器会抛出。如果不管协程如何结束都想做些。了抛出的异常,代码会。原创 2019-09-08 18:29:24 · 3129 阅读 · 1 评论 -
python nonlocal 的应用
nonlocal作用:Python 3 引入了 nonlocal 声明。它的作用是把变量标记为自由变量, 即使在函数中为变量赋予新值了,也会变成自由变量。如果为 nonlocal 声明的变量赋予新 值,闭包中保存的绑定会更新。主要应用在闭包中,将不可变类型的数据变为自由自由变量,对于可变类型的数据,在闭包中就没有必要用到这个参数了,这也很好理解,有这样的区别,主要是函数作用域的问题所引起的,对于...原创 2019-08-08 07:34:32 · 929 阅读 · 0 评论 -
python operator模块
在函数式编程中,经常需要把算术运算符当作函数使用。例如,不使用递归计算阶乘。求 和可以使用sum 函数,但是求积则没有这样的函数。我们可以使用reduce 函数,但是需要一个函数计算序列中两个元素之积。如下展示如何使用 lambda 表达式解决这个问题。from functools import reduce def fact(n): return reduce(lambda a, b...原创 2019-12-22 23:30:01 · 588 阅读 · 0 评论 -
python 参数传递
参数传递:共享传参解释 Python 中参数传递的方式时,人们经常这样说:“参数按值传递,但是这里的值是引用。”这么说没错,但是会引起误解,因为在旧式语言中,最常用的参数传递模式 有按值传递(函数得到参数的副本)和按引用传递(函数得到参数的指针)。在 Python 中,函数得到参数的副本,但是参数始终是引用。因此,如果参数引用的是可变对象, 那么对象可能会被修改,但是对象的标识不变。此外,因为函...原创 2019-08-12 00:21:50 · 189 阅读 · 0 评论 -
Windows系统下,python多个解释器安装和虚拟环境的安装
具体环境自己去官网下载:https://www.python.org/1, python2.7环境安装:(下面这一步可以直接选择安装 完整的环境到本地 可以避免下面的环境变量的配置)至此,安装完成!但是系统还不能识别Python命令(不信可以在cmd命令行输入:python -v试试):如果你没有安装完整的环境到本地,你需要自己配置环境变量1,找到python.exe 所在的位...原创 2019-06-16 23:43:12 · 1000 阅读 · 0 评论 -
python 协程简介
本文讲述python的协成,原创 2019-09-02 08:33:53 · 206 阅读 · 0 评论 -
python del删除引用 和 垃圾回收
一、del 和 垃圾回收del 语句删除名称,而不是对象。del 命令可能会导致对象被当作垃圾回收,但是仅当删除 的变量保存的是对象的最后一个引用,或者无法得到对象时。重新绑定也可能会导致对象 的引用数量归零,导致对象被销毁。有个__del__特殊方法,但是它不会销毁实例,不应该在代码中调用。即将销毁实例时,Python 解释器会调用 __del__方法,给实例最后的机会,释放外部 资源。自己...原创 2019-08-10 22:11:40 · 1073 阅读 · 0 评论 -
python列表
Python 标准库用 C 实现了丰富的序列类型,列举如下。容器序列list、tuple 和 collections.deque 这些序列能存放不同类型的数据。扁平序列str、bytes、bytearray、memoryview 和 array.array,这类序列只能容纳一种类型。容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列里存放的是值而不是 引用。换句话说,扁平序列其...原创 2019-06-17 23:14:40 · 129 阅读 · 0 评论 -
python 可散列的数据类型
定义:如果一个对象是可散列的,那么在这个对象的生命周期中,它的散列值是不变的,而且这个对象需要实现__hash__() 方法。另外可散列对象还要有__qe__()方法,这样才能跟其他键做比较。如果两个可散列对象是相等的,那么它们的散列值一定是一样的。原子不可变数据类型(str、bytes 和数值类型)都是可散列类型,frozenset 也是可散列的,因为根据其定义,frozenset 里只能容纳...原创 2019-06-25 11:09:53 · 484 阅读 · 0 评论 -
python assert断言和__debug__
assert 语句可以在程序中引入调试代码。assert 的一般格式为:assert test [, msg]其中 test 是一个表达式,其值应该为 True 或者 False。 如果test 为 False,assert 就会触发 AssertionError 异常并使用在assert中提供可选信息msg, 例如:def write_data(file, data): as...原创 2019-12-20 17:56:48 · 644 阅读 · 0 评论 -
python 中归约函数简介
归约函数的思想:通用思想是把某个操作连续应用到序列的元素上,累计之前的结果,把一 系列值归约成一个值。归约函数有:sum 、reduce 、all 、any 等等sum 函数和 reduce 函数都可以用于求和。在python2中,reduce 是内置函数,但是在 Python 3 中放到 functools 模块里了。这个函 数最常用于求和,目前求和多数不在用它,一般用sum函数。示例:...原创 2019-07-27 22:23:28 · 1311 阅读 · 0 评论 -
python 过滤序列元素
你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列。最简单的过滤序列元素的方法就是使用列表推导。比如mylist = [1, 4, -5, 10, -7, 2, 3, -1]print([n for n in mylist if n > 0])print([n for n in mylist if n < 0])# 使用列表推导的一个潜在缺陷就是如果输入非常大的时候会产生一个非常大的结果# 集,占用大量内存。如果你对内存比较敏感,那么你可以使用生成器表达式迭代产生#原创 2021-02-25 15:24:35 · 201 阅读 · 0 评论 -
python 字符问题和字节问题
1,字符问题在python3中,字符的定义是: 字符的定义是Unicode 字符,也就是说: 从Python 3 的 str 对象中获取 的元素是Unicode 字符,这相当于从Python 2 的 unicode 对象中获取的元素,而不是从 Python 2 的 str 对象中获取的原始字节序列。下面这个是python2和python3的区别比较:(把码位转换成字节序列的过程是编码;把字节序...翻译 2019-07-21 18:09:22 · 495 阅读 · 0 评论 -
python 垃圾回收
小整数对象池整数在程序中的使用非常广泛,Python为了 优化速度,使用了小整数对象池, 避免为整 数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 257) 这些整数 对象是提前建立好的,不会被垃圾回收。在 一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象。同理,单个字母也是这样的。但是当定义2个相同的字符串时,引用计数为 0,触发垃圾回收 。...原创 2019-09-15 21:54:40 · 214 阅读 · 0 评论 -
Counter 制表或者计数数据
怎样找出一个序列中出现次数最多的元素呢?collections.Counter 类就是专门为这类问题而设计的,它甚至有一个有用的most_ common() 方法直接给了你答案。from collections import Counterwords = [ 'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes', 'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'ar原创 2021-02-25 13:49:55 · 261 阅读 · 0 评论 -
python 代码调试
一、断点调试步骤:1、设置断点2、 shift+f9 开始调试3、光标就在断点处停了。这一行没有运行的4、下一行:f85、进入方法:f76、跳到下一个断点:alt+f97、进入方法,跳出这一步,shift+f8二、python自带模块 pysnooper使用@pysnooper.snoop() 装饰器装饰函数即可。...原创 2019-08-31 15:33:13 · 263 阅读 · 0 评论 -
python 专业术语
官方参考文档:https://docs.python.org/zh-cn/3/glossary.html当然,这里列出的很多术语不是 Python 专用的,不过某些术语的定义对 Python 社区有特殊的意义,此外,也可以参阅官方的 Python 词汇表,ABC(编程语言)Leo Geurts、Lambert Meertens 和 Steven Pemberton 创造的一门编程语言。20 ...原创 2019-09-12 18:18:14 · 2519 阅读 · 0 评论 -
python lambda 匿名函数
lambda 匿名函数原创 2019-06-16 12:07:01 · 232 阅读 · 0 评论 -
webdriver(selenium) 实用指南
转载 github:(含有Python篇、java篇和ruby篇)具体请参考下面的网站。https://github.com/easonhan007/webdriver_guide/blob/master/README.md原创 2019-06-17 10:26:13 · 211 阅读 · 0 评论 -
python 使用协程计算移动平均值
下面我们用协程来实现平均值的计算,区别之前的闭包。这个无限循环表明,只要调用方不断把值发给这个协程,它就会一直接收值,然后生成 结果。仅当调用方在协程上调用 .close() 方法,或者没有对协程的引用而被垃圾回收 程序回收时,这个协程才会终止。这里的 yield 表达式用于暂停执行协程,把结果发给调用方;还用于接收调用方后面发 给协程的值,恢复无限循环。使用协程的好处是,total 和 ...原创 2019-09-05 11:25:41 · 548 阅读 · 0 评论 -
关于python ocr的安装和使用
关于python ocr的安装和使用一、安装1,首先安装Python类库安装支持Python版本的Tesseract库:安装方式如下:pip install pytesseract2,安装ORC库-TesseractTesseract是Python进行图像处理的库,该引擎最初由惠普公司开发,目前由Google主导。下载网址https://code.google.com/p/tesse...原创 2019-06-18 15:23:35 · 2234 阅读 · 0 评论 -
python 中字典的创建
字典的创建有多中方法:字典有多中构造器,但对于字典中的键,必须是可散列的类型。下面来介绍字典的构造方式:1,dict(a=1, b=2, c=3)2,{‘a’: 1, ‘b’: 2, ‘c’: 3}3,dict(zip([‘a’, ‘b’, ‘c’], [1, 2, 3]))4,dict([(‘b’, 2), (‘a’, 1), (‘c’, 3)])5,dict({‘c’: ...原创 2019-06-26 11:20:36 · 699 阅读 · 0 评论 -
怎样在两个字典中寻寻找相同点 (比如相同的键、相同的值等等)
一个字典就是一个键集合与值集合的映射关系。字典的 keys() 方法返回一个展现键集合的键视图对象。键视图的一个很少被了解的特性就是它们也支持集合操作,比如集合并、交、差运算。所以,如果你想对集合的键执行一些普通的集合操作,可以直接使用键视图对象而不用先将它们转换成一个 set。字典的 items() 方法返回一个包含 (键,值) 对的元素视图对象。这个对象同样也支持集合操作,并且可以被用来查找两个字典有哪些相同的键值对。尽管字典的 values() 方法也是类似,但是它并不支持这里介绍的集合操作。某种原创 2021-02-24 17:23:35 · 1003 阅读 · 0 评论 -
python 中__slots__类属性
私有属性:Python 不能像 Java 那样使用 private 修饰符创建私有属性,但是 Python 有个简单的机制,能避免子类意外覆盖“私有”属性。举个例子。有人编写了一个名为 Dog 的类,这个类的内部用到了 mood 实例属性,但是没有将其开放。现在,你创建了 Dog 类的子类:Beagle。如果你在毫不知情的情况下又创建了名为 mood 的实例属性,那么在继承的方法中就会把 Do...原创 2019-08-16 11:24:55 · 371 阅读 · 0 评论 -
python yield from的意义
制定PEP 380 时,有人质疑作者Greg Ewing 提议的语义过于复杂了。他的回应之一是: “对人类来说,几乎所有最重要的信息都在靠近顶部的某个段落里。”他还引述了 PEP 380 草稿中的一段话,当时那段话是这样的:“把迭代器当作生成器使用,相当于把子生成器的定义体内联在 yield from 表达式 中。此外,子生成器可以执行 return 语句,返回一个值,而返回的值会成为 yiel...原创 2019-09-09 00:01:52 · 245 阅读 · 0 评论 -
python 预激协程的装饰器
为了简化协程的用法,有时会使用一个预激装饰器。,有些会提供其他服务,例如。之前,记住一定要调用。,因此与上面示例中的。原创 2019-09-05 11:53:25 · 387 阅读 · 1 评论 -
python3 函数参数总结
一、具体说明看函数调用,说明很清晰。"""函数参数"""import pysnooper@pysnooper.snoop()def tag(name, *content, cls=None, **attrs): """ 生成一个或多个HTML标签 """ if cls is not None: attrs['class'] ...原创 2019-12-18 11:16:43 · 264 阅读 · 0 评论 -
python 读取HTML博客内容为文本或者makdown
1、安装所需要的包pip install -i https://pypi.tuna.tsinghua.edu.cn/simple html2text2、模块说明官方文档: https://pypi.org/project/html2text/一、 基础用法:获取text文本import html2text as httext_maker = ht.HTML2Text()pa...原创 2019-07-19 17:31:31 · 364 阅读 · 0 评论 -
python 中else块
else 子句不仅能在 if 语句中使用,还能在 for、while 和 try 语句中使用。else 子句的行为如下。for仅当 for 循环运行完毕时(即 for 循环没有被 break 语句中止)才运行 else 块。while仅当 while 循环因为条件为假值而退出时(即 while 循环没有被 break 语句中止)才运行 else 块。try仅当 try 块中没有异常抛...原创 2019-06-25 21:52:31 · 456 阅读 · 0 评论 -
python classmethod与staticmethod
先来看 classmethod, 它的用法:定义操作类,而不是操作实例的方法。classmethod 改变了调用方法的方式,因此类方法的第一个参数是类本身,而不是实例。classmethod 最常见的用途是定义备选构造方法, 如下例子(部分代码):@classmethoddef frombytes(cls, octets): typecode = chr(octets[0]) memv =...原创 2019-12-30 11:14:47 · 684 阅读 · 0 评论 -
python 处理多重继承
继承有很多用途,而多重继承增加了可选方案和复杂度。使用多重继承 容易得出令人费解和脆弱的设计。我们还没有完整的理论,下面是避免把类图搅乱的一些 建议。1、把接口继承和实现继承区分开使用多重继承时,一定要明确一开始为什么创建子类。主要原因可能有:1,继承接口,创建子类型,实现“是什么”关系 。2,继承实现,通过重用避免代码重复其实这两条经常同时出现,不过只要可能,一定要明确意图。通过继承重...原创 2019-08-24 11:15:53 · 405 阅读 · 0 评论