随笔分类 - python
摘要:最近一周思考总结了Python 5个比较容易混淆的核心概念,同时附上我最通俗的区分和理解方法,相信对你一定有帮助! 1 变量赋值和别名 Python变量赋值是指创建一个对象并绑定到某个变量上,如下创建一个列表对象,并赋值给变量a: a = [3,1,2] 以上基本范式可表达为: variable1
阅读全文
摘要:# # This source file is part of the EdgeDB open source project. # # Copyright 2021-present MagicStack Inc. and the EdgeDB authors. # # Licensed under
阅读全文
摘要:1.pickle模块实现了用于序列化和反序列化python的对象二进制协议。也就是在python中特有模块,可以将特定数据类型序列化成只有python认识的字符串,pickle提供了四种方法,load,dump 主要是针对文件 ,loads和dumps主要针对于数据 序列化示并写入文件中 impor
阅读全文
摘要:一、前言 最近在用python写一个小工具,这个工具主要就是用来管理各种资源的信息,比如阿里云的ECS等信息,因为我工作的电脑使用的是LINUX,所以就想着用python写一个命令行的管理工具,基本的功能就是同步阿里云的资源的信息到数据库,然后可以使用命令行查询。 因为信息是展现在命令行中的,众所周
阅读全文
摘要:f-string是Python 3.6推出的一种简单而不同的字符串格式技术,可以优雅地表达Python字符串。除非您仍在使用旧的 Python 版本,否则在格式化字符串时,f 字符串绝对应该是您的首选。因为它可以通过一个迷你语法满足您的所有要求,甚至运行字符串的表达式。本文将深入探讨这项技术从初级到
阅读全文
摘要:文本处理与格式转换 Chardet 字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama 主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable 主要用于在终端或浏览器端构建格式化的输出。 difflib,[Python]标准库,计算文本差异Levenshtein
阅读全文
摘要:itertools库 迭代器(生成器)在Python中是一种很常用也很好用的数据结构,比起列表(list)来说,迭代器最大的优势就是延迟计算,按需使用,从而提高开发体验和运行效率,以至于在Python 3中map,filter等操作返回的不再是列表而是迭代器。 话虽这么说但大家平时用到的迭代器大概只
阅读全文
摘要:有同学问道,如果使用 asyncio + httpx 实现并发请求,怎么限制请求的频率呢?怎么限制最多只能有 x 个请求同时发出呢?我们今天给出两种方案。 提出问题 假设如果我们同时发起12个请求,每个请求的时间不同,那么总共的请求时间大概跟最长耗时的请求差不多。我们先来写一个用于测试的例子: im
阅读全文
摘要:FlashText 算法是由 Vikash Singh 于2017年发表的大规模关键词替换算法,这个算法的时间复杂度仅由文本长度(N)决定,算法时间复杂度为O(N)。 而对于正则表达式的替换,算法时间复杂度还需要考虑被替换的关键词数量(M),因此时间复杂度为O(MxN)。 简而言之,基于FlashT
阅读全文
摘要:熟悉 Golang 的同学都知道,Golang 里面有一个关键词叫做defer,它可以实现延迟调用。 实际上在 Python 里面也有相关的语法,那就是contextlib.ExitStack。 我们来看这样一个场景: 我有一个函数parse,它的作用是从 Redis 中持续读入数据,并写入到Mon
阅读全文
摘要:在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源。 其实,只需要写一个非常简单的日志装饰器,我们就能大大提升排查问题的效率。 1.简陋版装饰器 写一个装饰器非常简单,因为本质上装饰器就是一个返回函数的“高阶”函数而已: 1) 函数作为参数传递进装饰器。2) 装饰器内定义
阅读全文