Python学习
文章平均质量分 70
bossenc
所谓伊人横在水,年来何处觅芳华
展开
-
PEP544——协议-结构化子类型(静态鸭子类型)
文章目录2. 基本原理和目标2.1 名义子类型 vs 结构子类型2.2 非目标3. 结构子类型的现有方法4. 规范4.1 术语4.2 定义一个协议4.3 协议成员4.4 显式声明实现4.5 合并以及拓展协议4.6 泛型协议4.7 递归协议4.7 协议中的 Self-types4.8 回调协议5. 使用协议5.1 子类型与其他类型的关系5.2 协议的并(Union)和交(intersection)5...翻译 2020-04-30 23:37:05 · 1084 阅读 · 0 评论 -
PEP487——更简单的自定义类创建
文章目录1. 摘要2. 背景3. 提案4. 主要的好处4.1 定义时行为更易继承4.2 减少元类冲突的机会5. 类的新的使用方法5.1 子类注册5.2 特性描述符6. 实现细节7. 参考实现8. 向后兼容性问题9. 拒绝的设计选项1. 摘要目前,自定义类的创建需要使用自定义的元类。然而这个自定义的元类会在类的整个生命周期中持续存在,从而可能导致元类冲突。该PEP建议通过在类主体中使用新的 _...翻译 2020-04-30 23:34:43 · 595 阅读 · 0 评论 -
PEP483——类型提示理论
文章目录1. 摘要2. 简介2.1 符号约定3. 背景3.1 子类型关系4. 渐进类型概论4.1 类型 vs 类4.2 基本构件块5. 泛型5.1 类型变量5.2 泛型的定义和使用5.3 协变和逆变(Covariance and Contravariance)6. 语用学7. typing 模块中预定义的泛型类型和协议1. 摘要本 PEP 列出了 PEP 484 的理论知识。2. 简介本文...翻译 2020-04-30 23:31:36 · 949 阅读 · 0 评论 -
Python 的 re 模块
文章目录1. re模块简介2. 正则表达式语法2.1 特殊字符2.2 拓展标记法2.3 特殊序列3. 模块内容3.1 标记常量3.2 常用函数3.3 异常4. 正则表达式对象5. re.Match 对象6. 正则表达式例子6.1 检查对子6.2 模拟 scanf() 函数6.3 search() vs. match()6.4 建立一个电话本6.5 文字整理6.6 找到所有副词6.7 找到所有副词和...转载 2020-03-16 16:45:05 · 544 阅读 · 0 评论 -
Python 的 Thread 对象的 join方法和守护线程
1. 前言刚开始接触多线程编程的时候,对于守护线程和 Thread 对象的 join() 方法理解的不是很清楚,经过一段时间的学习和思考,现在大致搞明白了,所以在这里记录一下,如果错误,请不吝指正。2. 守护线程Python 官方文档中是这样描述守护线程的:一个线程可以被标记成一个 “守护线程” 。这个标志的意义是,当没有存活的非守护线程时,整个Python程序才会退出。这里描述的比...原创 2019-12-09 18:58:37 · 598 阅读 · 0 评论 -
Python的 logging 模块(一)
简介该模块定义了为应用程序和库实现灵活的事件日志系统的函数和类。使用标准库模块提供的日志API的主要好处是,所有Python模块都可以参与日志记录,因此您的应用程序日志可以包含与来自第三方模块的消息集成的消息。该模块提供了很多功能和灵活性。如果您不熟悉日志记录,了解它的最佳方法是查看教程(参见下面的链接)。重要:此页面仅包含API参考信息。恶女多关于高级主题的教程信息和讨论,请参阅:...翻译 2019-07-23 22:07:32 · 1272 阅读 · 0 评论 -
PEP 380:代理子生成器的语法
0. PEP 380:用于委托给子生成器的语法PEP 380 添加了 yield from 表达式,允许生成器将其部分操作委托给另一个生成器。这允许将包含 yield 的一段代码分解并放入另一个生成器中。此外,子生成器允许返回一个值,并且该值对委托生成器可用。虽然主要用于委托给子生成器,但是 yield from 表达式实际上允许委托给任意子迭代器。对于简单的迭代器:yield from ...翻译 2019-09-04 20:03:40 · 247 阅读 · 0 评论 -
Python3中的内置函数(1)
abs(x)返回数字x的绝对值,如果x是一个复数,则返回该复数的模>>> abs(2.5)2.5>>> abs(-4.7)4.7>>> abs(True)1>>> abs(False)0>>> abs(3 + 4j)5.0pow(x, y[, z])返回x的y次幂的值。若指定了第三...原创 2019-04-30 03:01:48 · 654 阅读 · 2 评论 -
Pydantic官方文档
简介Pydantic 是一个使用Python类型提示来进行数据验证和设置管理的库。Pydantic定义数据应该如何使用纯Python规范用并进行验证。PEP 484 从Python3.5开始引入了类型提示的功能,PEP 526 使用Python3.6中的变量注释语法对其进行了拓展。Pydantic使用这些注释来验证不受信任的数据是否采用了您想要的形式。示例:from datetime imp...原创 2019-04-28 02:32:50 · 55625 阅读 · 8 评论 -
Python 的 logging 模块(二)
简介下面这些有用的处理程序在logging包中提供。注意,StreamHandler、FileHandler 和 NullHandler 这三个处理程序实际上是在logging模块中定义的,但是已经和其他处理程序一起被记录在这里。StreamHandlerStreamHandler 类,位于核心的 logging 包中,发送日志记录到流,比如 sys.stdout,sys.stderr 或任...翻译 2019-07-23 22:10:15 · 1402 阅读 · 0 评论 -
Python 的 logging 模块(三)
简介本节描述用于配置日志模块的API。StreamHandler下面的函数用于配置日志模块。它们位于 logging.config 模块。它们的使用是可选的——可以使用这些函数配置日志模块,或者通过调用主API(在 logging 中定义)和定义在 logging 或 logging.handlers 中声明的处理程序来配置日志模块。logging.config.dictConfig(...翻译 2019-07-23 22:11:37 · 334 阅读 · 0 评论 -
PEP342 -- 通过增强的生成器实现协程
前言Python 协程和异步编程与 PEP342、PEP380、PEP 492和PEP525 有密切关系,鉴于现有的 Python 教程对这部分的内容都叙述的不多,为了彻底搞懂 Python 协程和异步编程,遂决定将这四个 Python 提议进行翻译以便进行学习和随时查用。1. PEP 342 简介Python2.2 引入了 yield 关键字实现的生成器函数。大约 五年后,Python2....翻译 2019-08-06 18:41:57 · 310 阅读 · 0 评论 -
PEP380 -- 代理子生成器的语法
前言Python 协程和异步编程与 PEP342、PEP380、PEP 492和PEP525 有密切关系,鉴于现有的 Python 教程对这部分的内容都叙述的不多,为了彻底搞懂 Python 协程和异步编程,遂决定将这四个 Python 提议进行翻译以便进行学习和随时查用。1. 摘要提出了一种用于生成器的语法,用于将其部分操作委托给另一个生成器。这允许将包含 yield 的一段代码分解并放入...翻译 2019-08-06 18:44:31 · 95 阅读 · 0 评论 -
PEP492 -- 使用 async 和 await 语法的协程
前言Python 协程和异步编程与 PEP342、PEP380、PEP 492和PEP525 有密切关系,鉴于现有的 Python 教程对这部分的内容都叙述的不多,为了彻底搞懂 Python 协程和异步编程,遂决定将这四个 Python 提议进行翻译以便进行学习和随时查用。1. 摘要Internet 和一般连接的增长引发了对快速响应和可伸缩代码的相应需求。这个建议旨在通过使显示地编写异步、并...翻译 2019-08-06 18:46:40 · 869 阅读 · 0 评论 -
PEP525 -- 异步生成器
前言Python 协程和异步编程与 PEP342、PEP380、PEP 492和PEP525 有密切关系,鉴于现有的 Python 教程对这部分的内容都叙述的不多,为了彻底搞懂 Python 协程和异步编程,遂决定将这四个 Python 提议进行翻译以便进行学习和随时查用。1. 摘要PEP 429 向 Python 3.5 中引入了对本地协程和 async/await 语法的支持。这里建议通...翻译 2019-08-06 18:48:11 · 511 阅读 · 0 评论 -
Pillow 库简介
Pillow综述PIL(Python Imaging Library)为您的Python解释器添加了图像处理功能。这个库提供了广泛的文件格式支持、高效的内部表示和相当强大的图像处理功能。核心图像库是为快速访问以几种基本像素格式存储的数据而设计的。为通用图像处理工具提供了坚实的基础。让我们看看这个库的一些可能用途。图像存档(Image Archives)PIL是理想的图像存档和批处理应用...原创 2019-10-03 13:32:05 · 8517 阅读 · 3 评论 -
Pipenv详解
pipenv的基本使用本章将介绍pipenv的一些基本功能的使用Pipfile & Pipfile.lock下面是一个Pipfile和其产生的Pipfile.lock文件的简单示例。Pipfile[[source]]url = "https://pypi.python.org/simple"verify_ssl = truename = "pypi"[packages]...翻译 2019-04-15 08:32:19 · 10956 阅读 · 0 评论 -
Python二进制序列和加密相关模块
文章目录uu模块模块方法详解示例base64模块模块方法详解binascii模块模块函数bisect模块模块函数random模块简介簿记功能整数用方法序列用方法实数值分布替代生成器hashlib模块哈希算法模块方法和属性SHAKE算法的可变长度摘要密钥导出hmac模块模块方法HMAC对象实例方法secrets模块随机数生成令牌令牌应该使用多少字节?其他功能最佳实践uu模块模块方法详解该模块以...原创 2019-04-25 22:07:39 · 3690 阅读 · 0 评论 -
pipenv简介
简介Pipenv 是一个类似于Ruby下的Bundler、Node.js下的npm的一个包管理工具,主要是为应用程序的用户和开发人员提供一种设置工作环境的简单办法。它会自动为项目创建并管理一个virtualenv,并在 安装/卸载 包时从 Pipfile中 添加/删除 包。它还会生成非常重要的 Pipenv.lock 文件,用于生成确定性构建。安装$ pip install pipenv...翻译 2019-04-13 09:01:02 · 2189 阅读 · 2 评论 -
Python函数式编程
转载自:https://debugtalk.com/post/python-functional-programming-getting-started/前言通常,我们在新学习一门技术或者编程语言的时候,通常都会先从相关概念和特性入手。对于新接触函数式编程的人来说,可能会想知道如下几点:什么是函数式编程?函数式编程的特点?函数式编程的用途?函数式编程相比于命令式编程和面向对象编程的优...转载 2019-02-25 16:48:20 · 252 阅读 · 0 评论 -
python的format方法使用详解
简介从python2.6开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法时通过{}和:来代替以前的%。format方法可以接受无限个参数,位置可以不按顺序。使用示例不指定format方法的关键字参数>>> "{} {}".fo原创 2018-12-11 20:33:15 · 543 阅读 · 0 评论 -
Python中构造方法和初始化方法
转载自:https://blog.csdn.net/qq_19707521/article/details/79359858类的实例化在python中创建一个新式类时,一般都会定义一个 __init__ 方法,用来对类的实例进行初始化。但是 __init__ 方法并不是类的构造方法,类中真正的构造方法是 __new__ 方法。看看下面的例子:class Test: def __in...转载 2018-12-07 21:06:01 · 3273 阅读 · 0 评论 -
Python设置excel单元格格式
xlwt 是 python中一个用来操作 excel 文件的库,其中,封装了很多常用操作。本文主要讲解使用该库中设置单元格样式的方法。xlwt 中设置单元格样式主要是通过 XFStyle 这个类来完成的,XFStyle 类中属性与单元格属性的对应关系如下:XFStyle属性名对应单元格属性值类型num_format_str数字strfont字体Font类实例...原创 2019-02-25 16:50:48 · 22453 阅读 · 1 评论 -
Python3的sys模块
Python的sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控Python的运行时环境。下面就来详细介绍下改模块。01 动态对象sys.argv 传递给程序的命令行参数列表;其中,sys.argv[0]表示脚本名称,各个参数均为字符串类型。写一个脚本,内容如下# filename:argv_test.pyfor i in range(le...原创 2019-02-25 16:41:45 · 10987 阅读 · 0 评论 -
Python的os.path子模块
os模块下的path子模块主要用来获取文件的属性。下面列举一些常用的方法。os.path.abspath(path) 返回path的绝对路径。os.path.exists(path) 判断path指向的文件是否存在。若path指向的文件存在,返回True,否则返回False。注意:当path指向的是一个软链接时,若这个软链接指向的文件已经被删除,将返回False。os.pa...原创 2019-02-25 16:44:01 · 239 阅读 · 0 评论 -
Python3的os模块
os 模块提供了丰富的方法用来处理文件和目录,下面列举一些我认为常用的一些方法。os.getcwd()获取当前路径。>>> os.getcwd()'/User/testeros.listdir(path=None)返回一个包含指定目录下文件和目录的名称的列表,并且不包括 . 和 .. 。若不指定目录,则原创 2019-02-25 16:43:23 · 4600 阅读 · 0 评论 -
Python3.7正则表达式官方文档
这个模块提供了与 Perl 语言类似的正则表达式匹配操作。要搜索的样式和字符串可以是 Unicode 字符串 (str) 以及8位字节串(bytes)。 但是,Unicode 字符串与8位字节串不能混用:也就是说,你不能用一个字节串样式去匹配 Unicode 字符串,反之亦然;类似地,当进行替换操作时,替换字符串必须与所用的样式和搜索字符串都为相同类型。正则表达式使用反斜框字符 ('\') 来...原创 2019-03-23 22:43:18 · 7351 阅读 · 1 评论 -
Python3的Json模块详解
简介Json模块主要用来进行Python对象的序列化和反序列化。该模块中常用的方法有以下四个:json.dump将Python对象序列化为Json格式的数据流并写入文件类型的对象中json.dumps将Python对象序列化为Json格式的字符串json.load从文件类型的对象中读取Json格式的数据并反序列化成Python对象json.loads将包含Jso...原创 2019-02-25 16:42:29 · 4332 阅读 · 0 评论 -
Python3的datetime模块和time模块
Python3中用来处理日期和时间的模块有 datetime,time,pytz 等,这篇文章将详细介绍这三个模块中常用的方法和属性。1. datetime 模块1.1 简介该模块提供了用于以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算法,但是实现的重点是高效地提取用于输出格式化和操作的属性。相关的功能,也可以参考 time 和 calendar 模块。有两种用于表示时间和日期...原创 2019-03-08 01:57:36 · 4333 阅读 · 0 评论 -
LocustIO官方文档
写在前面最近打算学习LocustIO,但是介于英文水平一般,英文文档读起来还是不太顺畅,于是花了两天时间把整个英文文档翻译了一遍,以供学习之用。翻译过程尽量终于原文,但是由于水平有限,难免会有错失遗漏,如有发现,请不吝指正,谢谢!Locust是什么?Locust 是一个易于使用的分布式用户负载测试工具。它用于对Web站点(或其他系统)进行负载测试,并计算出一个系统可以处理多少并发用户。Lo...原创 2019-03-30 16:59:35 · 7751 阅读 · 5 评论 -
Python的PyYAML模块详解
简介Python的PyYAML模块是Python的YAML解析器和生成器。安装简单安装pip install pyyaml从源码安装下载源码包PyYAML-3.13.tar.gz 并解压,在命令行下切换到解压后的包目录内并执行如下命令:python setup.py install如果想使用比纯Python版本更快的LibYAML绑定,需要先下载并安装LibYAML,然后在安装...原创 2019-03-23 22:37:40 · 38774 阅读 · 9 评论 -
Python的jsonschema模块详解
简介jsonschema 是 JSON Schema 的Python实现(支持Python 2.7+ 包括Python3)。>>> from jsonschema import validate>>> # A sample schema, like what we'd get from json.load()>>> schema = ...原创 2019-04-12 12:28:33 · 18767 阅读 · 0 评论