Python 标准库之 bytes - 二进制 官方文档:https://docs.python.org/zh-cn/3/library/stdtypes.html#binary-sequence-types-bytes-bytearray-memoryview 0、bytes类型的特性Python 3.x之后,Python自带字符默认使用utf-8格式编码和显示: Python默认字符串string数据类型是utf-8显示形式的序列 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 configparser - 解析 ini 文件 官方文档:https://docs.python.org/zh-cn/3/library/configparser.html ini配置文件是被configParser直接解析然后再加载的,如果只是修改配置文件,并不会改变已经加载的配置 INI文件结构简单描述INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“Syste 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 difflib - 差异化比较 官方文档:https://docs.python.org/zh-cn/3/library/difflib.html 简介Difflib 是 Python 编程语言中的一个内置模块,帮助我们进行差异化比较。 它能够生成文本或者 html 格式的差异化比较结果,如果需要比较目录的不同,可以使用 filecmp 模块。 Python Difflib 模块中最常用的类是 Differ 和 Sequ 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 os 之 os.fork() 官方文档:https://docs.python.org/zh-cn/3/library/os.html 简介os.fork() 是 Python 中在 Unix/Linux 系统的一个函数,它在当前进程中创建一个子进程。这个函数是 os 模块的一部分,直接调用了 Unix/Linux 系统的 fork 系统调用。fork 系统调用非常基础且强大,允许操作系统创建一个新 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 re - 正则表达式 官方文档:https://docs.python.org/zh-cn/3/library/re.html 在 Python 中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个 Python 自带的模块,名字为 re。 常用方法: match():从头匹配 search():从整个文本搜索 findall():找到所有符合的 split():分割 sub():替换 group():结 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 select - IO 多路复用 https://docs.python.org/zh-cn/3.8/library/select.html 注解:selectors 模块是在 select 模块原型的基础上进行高级且高效的 I/O 复用。推荐用户改用 selectors 模块,除非用户希望对 OS 级的函数原型进行精确控制。 0、背景对于初学 Socket 的人来说都不太爱用 Select 写程序,大部 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 selector - IO 多路复用 https://docs.python.org/zh-cn/3/library/selectors.html 注解:selectors 模块是在 select 模块原型的基础上进行高级且高效的 I/O 复用。推荐用户改用 selectors 模块,除非用户希望对 OS 级的函数原型进行精确控制。 selectors 主要的函数: selectors.DefaultSele 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 struct - 将字节串解读为打包的二进制数据 官方文档:https://docs.python.org/zh-cn/3/library/struct.html 0、前言不同类型的语言支持不同的数据类型,比如 Go 有 int32、int64、uint32、uint64 等不同的数据类型,这些类型占用的字节大小不同,而同样的数据类型在其他语言中比如 Python 中,又是完全不同的处理方式,比如 Python 的 int 既可以是有符号的, 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 标准库之 subprocess - 子进程管理 官方文档:https://docs.python.org/3/library/subprocess.html 0、背景在用python编程时,我们经常会需要调用外部命令,比如用调用一些 Linux 的命令。这个时候就可以用到subprocess这个模块了。 subprocess 模块是 python 从2.4版本开始引入的模块。主要用来取代一些旧的模块方法,如os.system、os.spaw 2016-08-02 Python > Python 标准库 #Python #Python 标准库
Python 之__file__ 在Python项目中,经常会获取文件的路径。经常会见到如下的语句: 12import osos.path.dirname(__file__) 那么这里的__file__是什么用呢? 其实就是当前脚本运行的路径。 但是也会分不同的情况。 如果执行命令时使用绝对路径,__file__就是脚本的绝对路径。 如果使用的是相对路径,__file__就是脚本的相对路径。 如果在交互式环境中,则会爆出异常。因 2016-08-01 Python #Python
Python 之__new__ new()是在新式类中新出现的方法,它作用在构造方法init()建造实例之前,可以这么理解,在Python 中存在于类里面的构造方法init()负责将类的实例化,而在init()调用之前,new()决定是否要使用该init()方法,因为new()可以调用其他类的构造方法或者直接返回别的对象来作为本类的实例。 new()方法的特性new()方法是在类准备将自身实例化时调用。 new()方法始终都是类 2016-08-01 Python #Python
Python 之协程 在操作系统中 进程是资源分配的最小单位,线程是 CPU 调度的最小单位。无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追求不断提高,基于单线程来实现并发 又成为一个新的课题,即只用一个主线程(很明显可利用的 CPU 只有一个)情况下实现并发。这样就可以节省创建线进程所消耗的时间。 为此我们需要先回顾下并发的本质:切换+ 2016-08-01 Python #Python
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