协程 & Python异步编程(asyncio)

协程(Coroutine)也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。说协程之前,先用一张表来说明进程、线程、协程的异同进程线程协程定义系统进行资源分配和调度的独立单位是进程的一个实体,是cpu调度和分配的基本单位微线程,比线程小,占用更少,cpu其实不知道协程的存在功能完成多任务,例如一台电脑同时运行多个QQ,多用于计算密集型完成多任

- 阅读全文 -

Python设计哲学

Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比P

- 阅读全文 -

itsdangerous-加密你的数据

如果你想向不可信的环境发送数据,但又担心数据被别人利用,就可以使用 python itsdangerous来加密签名你的数据。接收者可以破译内容,来看看你的包裹里有什么,但他们没办法修改你的内容,除非他们也有你的密钥。itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin R

- 阅读全文 -

定时任务利器-APScheduler

APScheduler 的全称是 Advanced Python Scheduler 。是一个轻量级的Python定时任务调度框架。支持三种调度方式:固定时间间隔、固定时间点、linux 下的 Crontab 命令。同时,还支持异步执行,后台执行调度任务1. 安装pip install APScheduler2. 简单使用三个步骤:新建一个 schedulers (调度器)添加一个调度任务(job

- 阅读全文 -

单元测试 - Pytest

pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:简单灵活,容易上手,文档丰富;支持参数化,可以细粒度地控制要测试的测试用例;能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集

- 阅读全文 -