Python 之异步 async 同步/异步的概念 同步是指完成事务的逻辑,先执行第一个事务,如果阻塞了,会一直等待,直到这个事务完成,再执行第二个事务,顺序执行 异步是和同步相对的,异步是指在处理调用这个事务的之后,不会等待这个事务的处理结果,直接处理第二个事务去了,通过状态、通知、回调来通知调用者处理结果 asyncio函数:异步IO采用消息循环的模式,重复“读取消息—处理消息”的过程,**也就是说异步IO模型需要 2016-08-01 Python #Python
Python 之引包机制 Python 的引包机制/模块的搜索顺序 解释器首先搜索 built-in module。比如 os sys 模块 目录下有没有该 ***.py。这个目录指的是 脚本目录,不是当前目录。 Python 安装目录 **\Python36\Lib 下有没有 *.py 环境变量 path 下面去找 将某目录添加到 Python 系统变量 path 中:12import syssys. 2016-08-01 Python #Python
Python 基础之生成器和迭代器 背景假如我现在有一个列表 l=['a', 'b', 'c', 'd', 'e'],我想取列表中的内容,有几种方式? 首先,我可以通过索引取值 l[0],其次我们是不是还可以用for循环来取值呀? 你有没有仔细思考过,用索引取值和for循环取值是有着微妙区别的。 如果用索引取值,你可以取到任意位置的值,前提是你要知道这个 2016-08-01 Python #Python
Python 基础之类方法和静态方法的适用场景 一、类方法(@classmethod)类方法是定义在类中的函数,它们可以访问类的属性和其他方法。类方法通常用于执行与类相关的操作,而不特定于类的任何实例。它们在类定义中使用 @classmethod 装饰器来声明。 特点:不需要实例化即可使用,而且可以访问和修改类级别的属性。 类方法在 Python 中非常有用,它们通常用于以下场景: 类级别的操作:有时你需要执行一些操作,这些操作是在类级别上进 2016-08-01 Python #Python
Python 基础之面向对象三大特性 封装、继承、多态作为面向对象编程的三大特征,其概念也是循序渐进的,首先需要有类的概念,随后将类进行封装,对外只暴露需要暴露的部分,简化对外交互;而后类与类之间会有继承关系;进而有了多态的概念。 封装面向对象的程序设计中,某个类把所需要的数据(也可以说是类的属性)和对数据的操作(也可以说是类的行为)全部都封装在类中,分别称为类的成员变量和方法(或成员函数)。这种把成员变量和成员函数封装在一起的编程 2016-08-01 Python #Python
PyCharm 打开 markdown 文件卡死 1、问题说明使用 2019 版 的pycharm 、idea 和 Webstorm 打开 markdown 文件时,IDE 总是卡死。 2、问题分析很多人的解决方法是 把 Markdown support 禁用 或 卸载,这不是根本的解决方法,而且会导致我们在编辑md文件时,代码样式无法渲染和预览。 实质上,IDE卡死 是一个bug,官网中可查。 3、解决方案解决方法就是 更换jdk版本,在 2016-07-23 Python > PyCharm #Python #PyCharm
Pycharm 设置 Python 脚本文件头 1、Pycharm 设置地址打开 Pycharm 点击 file-->settings-->editor-->file and code templates-->选择Python Script 编辑即可。 2、示例123456789#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : ${DATE 2016-07-23 Python > PyCharm #Python #PyCharm
00-Python conda 简介 官网 官方文档:https://docs.conda.io/en/latest/ 官方命令文档:https://docs.conda.io/projects/conda/en/latest/commands.html conda简介Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用 2016-07-19 Python #Python
01-Python conda 安装 官方文档:https://docs.conda.io/en/latest/ conda 安装conda分为anaconda和miniconda。 anaconda是包含一些常用包的版本,miniconda则是精简版,需要啥装啥,所以推荐使用miniconda。 miniconda的功能足够我们后续安装软件使用,不需要同时安装两个。 conda 下载 https://repo.anaconda. 2016-07-19 Python #Python
02-Python conda 设置 channels 源 官方文档:https://docs.conda.io/en/latest/ 添加源conda 安装之后需要添加 channel 之后才能使用,官方 channel 可以使用以下命令安装 12conda config --add channels biocondaconda config --add channels conda-forge 但是官方channel在国外,可能网速会比较慢,可以 2016-07-19 Python #Python
03-Python conda 使用 官方文档:https://docs.conda.io/en/latest/ 官方命令文档:https://docs.conda.io/projects/conda/en/latest/commands.html 小环境安装软件前,先设置一个小环境,不要直接在自己账户的当前环境内安装软件。 怎么理解这句话呢?比如你在家里有个储藏室,但是你还可以再放进去一个柜子,柜子里放需要存的东西,这个柜子就类 2016-07-19 Python #Python
03-Python conda 使用 pip install 和 conda install 的区别 区别 conda install xxx:这种方式安装的库都会放在anaconda3/pkgs目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。 pip install xxx:分两种情况: 一种情况就是当前conda环境的python是conda安装的,和系统的不一样,那么xxx会被安装到an 2016-07-19 Python #Python
00-Python 打包工具 setuptools 简介 distutils: 打包鼻祖,所有打包工具的基础,官方支持。 setuptools:distutils 的升级版。重要 distribute:setuptools 的分支,现在合并回了 setuptools。 distutils2:已废弃。 为什么需要对项目分发打包?平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作 2016-07-18 Python #Python
01-Python 打包工具 setuptools 安装 setuptools 安装setuptools 安装有两种方法: 源码安装 在 https://pypi.org/project/setuptools/#files 中下载 zip 包。 解压执行 python setup.py install 安装 通过引导程序安装下载引导程序,它可以用来下载或者更新最新版本的 setuptools 123456789101112# 下载wget http 2016-07-18 Python #Python
03-Python 打包工具 setuptools setup.py 使用 使用 setup.py 的方法打包有三种方式: 使用命令行参数指定,一个一个将参数传递进去(极不推荐)。 在 setup.py 中的 setup 函数中指定(推荐使用)。 使用 pbr ,在 setup.cfg 中指定(易于管理,更推荐)。 python库的打包分发方式有两种: 源码包source dist(简称sdist)。 如 *.tar.gz,安装使用 pip install *.ta 2016-07-18 Python #Python
03-Python 打包工具 setuptools setup.py 打包的文件 官方文档:https://setuptools.pypa.io/en/latest/userguide/datafiles.html 需要打包的文件如果想要打包一些文件,通常通过setup函数的这些参数packages、include_package_data(其实就是MANIFEST.in文件)、exclude_package_data、package_data、data\_files 来指 2016-07-18 Python #Python
03-Python 打包工具 setuptools setup.py 文件详解 0、setup.py 示例先来个简单示例,下面依次讲解。 12345678910111213141516from setuptools import setup, find_packagessetup( name="mytest", version="1.0", author="flp", author_email="flepeng@163.com", descrip 2016-07-18 Python #Python
03-Python 打包工具 setuptools 脚本 easy_install 使用 当你安装完 setuptools 后,就拥有了一个叫做 easy_install 的第三方管理工具,这也是它区分于 distutils 的一大改进。 这里简单介绍一下它的用法,虽然它已经用得非常少了。 包的安装12345678910111213141516171819# 通过包名,从PyPI寻找最新版本,自动下载、编译、安装easy_install pkg_name# 通过包名从指定下载页寻找链接 2016-07-18 Python #Python
Python 之包管理 poetry 官方文档:python-poetry.org/docs/ poetry 是一个 Python 虚拟环境和依赖管理的工具。poetry 和 pipenv 类似,另外还提供了打包和发布的功能。 poetry 安装poetry提供多种安装方式,个人推荐从以下2种方式中选择: 方式一:(推荐) 1$ curl -sSL https://raw.githubusercontent 2016-07-18 Python #Python
Python pip --pre pip install --pre在 pip 中,-pre 选项用于指定是否允许安装预发布版本的包。 预发布版本是开发者在正式发布之前发布的版本,用于测试和收集反馈意见。这些版本可能包含新的功能、修复了一些bug,但同时也可能包含未解决的问题或者一些不稳定的特性。 通过使用 -pre 选项,用户可以在安装包时选择是否安装预发布版本。 默认情况下,pip不会安装预发布版本的包。 2016-07-13 Python #Python