![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 86
酌沧
资深软件工程师 致力于信息技术研究
展开
-
Python函数参数
在使用函数参数时,需要注意参数的顺序和作用。合理使用位置参数、关键字参数、默认参数、*args和**kwargs可以提高函数的灵活性和可读性。避免使用可变对象作为默认值参数,并且在参数组合使用时遵循正确的参数顺序。原创 2024-07-23 14:44:07 · 406 阅读 · 0 评论 -
Python安装路径信息
sysconfig。原创 2024-07-12 11:12:07 · 696 阅读 · 1 评论 -
Python日志配置策略
需要实现一个灵活的日志配置策略,使得日志记录器可以根据调用者或运行环境自动调整。假设这个 Python 文件名为__name__my_module假设有两个库,库 A 和库 B,各自配置了自己的日志记录器,然后调用my_modulemy_modulemy_modulemy_module和获取的是具有层级关系的日志记录器,它们在日志管理和配置上有不同的作用。原创 2024-06-15 18:12:28 · 879 阅读 · 1 评论 -
处理 API 请求和速率限制的2种方法
(令牌桶算法):TokenBucket 是一个常用的速率限制算法,用于控制请求速率,确保请求以平稳的速率发送。它的工作原理如下:初始化:令牌桶以一定的速率被填充(例如,每秒增加 query_per_second 个令牌)。桶中令牌的最大数量是有限的,一旦达到上限,令牌不再增加。获取令牌:当发送请求时,需要从桶中取出一个令牌。如果桶中有足够的令牌,请求立即发送。原创 2024-06-14 16:09:50 · 838 阅读 · 0 评论 -
python类元编程示例-使用类型注解来检查转换属性值的类框架
用三种方式实现使用类型注解来检查转换属性值的类框架。原创 2024-06-10 15:40:27 · 1236 阅读 · 0 评论 -
一个管理全局实例的python框架
首先,我们利用和来定义一个类。MMLogger结合了Logger的日志功能和的全局实例管理能力。它支持不同的日志级别,并且可以根据配置将日志存储到不同的文件中。日志消息可以在终端以不同的颜色和格式显示,提高日志的可读性。虽然 logging.getLogger(name) 提供了一种方便的方式来复用 Logger 实例,但它并没有实现真正意义上的单例模式,因为 Logger 的配置是可变的,且可以在不同的上下文中被修改,导致潜在的配置冲突和行为不一致。原创 2024-06-09 09:50:08 · 739 阅读 · 1 评论 -
如何使用VSCode调试python代码
在 Visual Studio Code (VSCode) 中进行 Python 代码调试是一个直观且功能强大的过程,借助于内置的调试支持和 Python 扩展(如 Python extension by Microsoft)。原创 2024-05-21 11:39:56 · 1094 阅读 · 0 评论 -
python通过注册表动态管理组件
是一个在多个开源项目(如 MMEngine 和 MM系列工具包,例如 MMDetection、MMClassification 等)中使用的模块化管理机制,旨在通过注册表动态管理不同的组件,例如模型、算法、损失函数或插件等。这个机制极大地增强了项目的灵活性和扩展性。原创 2024-05-14 07:40:02 · 796 阅读 · 0 评论 -
以python -m site命令为例解释-m选项
当运行命令时,Python 会输出当前环境中关于模块搜索路径(sys.path)的详细信息以及一些有关用户站点目录的配置。sys.path这是 Python 搜索模块的路径列表,当你导入一个模块时,Python 会按照sys.path中列出的顺序查找这些目录。每个路径项代表一个文件夹位置,Python 会在这些文件夹中查找.py文件、已编译的.pyc文件或子目录中的文件,来确定可导入的模块。以下是示例中sys.path.pyc--user。原创 2024-05-09 06:45:42 · 1315 阅读 · 0 评论 -
python格式化显示复杂对象例如字典
format当想格式化显示一个字典,并且希望通过日志记录输出时,Python 提供了几种方法来实现这一目标。原创 2024-05-08 07:12:06 · 749 阅读 · 1 评论 -
如何查看Python解释执行的底层细节
在Python中,dis模块提供了一个称为dis.dis()的函数,这是一个非常有用的工具,用于反汇编Python字节码。这可以帮助开发者理解Python代码是如何被解释和执行的,特别是在性能分析、调试或学习Python的底层工作原理时。原创 2024-05-02 07:02:27 · 838 阅读 · 0 评论 -
零宽空格等控制字符的作用和代码处理
在文本处理系统中,尽管它在视觉上是不可见的,但它在文本中确实存在,并可以作为潜在的断点,即允许在此位置断开行。然而,它们也可能导致文本处理上的问题,比如字符串匹配失败、文本渲染异常等,因此在处理文本数据时需要特别注意这些不可见字符的存在。虽然零宽空格在许多情况下都是有用的,但它也可能引起问题,特别是在文本处理和数据清洗中。因此,在处理来自不同源的文本数据时,了解和考虑这些不可见字符是非常重要的。如果你需要去除字符串中的多种不可见字符,包括零宽空格,使用正则表达式是一个更强大的选择。在 Unicode 中,原创 2024-05-01 07:16:47 · 1426 阅读 · 0 评论 -
python设计模式之命令模式的组成、场景、特点、示例
命令模式(Command Pattern)是一种常用的设计模式,属于行为型模式的一种。它的主要目的是将一个请求封装为一个对象,从而允许用户使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。原创 2024-04-29 09:52:34 · 491 阅读 · 0 评论 -
python和JavaScript的正则表达式详细对比
正则表达式在 Python 和 JavaScript 中都是一种强大的工具,用于匹配、搜索和操作字符串。尽管它们在基本语法上相似,但也存在一些差异。原创 2024-04-28 15:30:16 · 1070 阅读 · 3 评论 -
5种创建型设计模式的python极简示例和应用价值
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。工厂模式专注于单一产品(按钮),而抽象工厂涉及产品族(按钮和滚动条),展示了抽象工厂在管理多种产品类型方面的能力。工厂模式每个工厂类只创建一种产品,而抽象工厂模式的每个工厂类可以创建多个不同种类的产品(产品族)。在工厂模式中,增加新的产品需要增加新的工厂类,适合产品种类较多但是产品类别不频繁增加的情况。而抽象工厂模式易于增加新的产品族,但是增加新的产品功能则需要修改抽象工厂的接口,适合产品族扩展的需求。passpass。原创 2024-04-25 16:58:17 · 1101 阅读 · 0 评论 -
python迭代器模式的来由、原理和示例
这意味着,当你在一个对象上调用iter()函数时,实际上是在调用它的__iter__()方法。把生成器对象传给next()函数时,生成器函数提前执行函数主体中的下一个yield语句,返回产出的值,并在函数主体的当前位置暂停。如果没有实现,但是实现了__getitem__方法,那么iter()创建一个迭代器,尝试按索引(从0开始)获取项。检查对象是否实现了__iter__方法,如果实现了就调用它,获取一个迭代器。在Python中,任何实现了__iter__()方法的对象都是可迭代的。原创 2024-04-25 11:08:49 · 993 阅读 · 1 评论 -
爬虫为什么常用Python语言?
上图是本人看过的几步爬虫相关的python书。原创 2024-04-25 09:03:03 · 1222 阅读 · 0 评论 -
网络文件共享的界面访问方式和python访问方式
在Windows和Linux操作系统中,网络文件共享服务的实现和访问方式存在显著差异,主要由于两者在文件系统管理、网络协议支持和用户界面集成上的不同。原创 2024-04-25 08:25:08 · 775 阅读 · 1 评论 -
Python的reprlib生成对象的简化表示
reprlib是 Python 的一个标准库,提供了repr()函数的一个变体,用于生成对象的字符串表示形式。这个库特别有用于处理大型或深度嵌套的容器对象,因为它可以生成简化或缩短的表示,避免产生过长的输出。这对于调试输出和日志记录尤为有价值,可以帮助开发者更容易地查看数据的概要而不是详细信息,从而提高了数据可视化的效率。此模块提供了一个类、一个实例和一个函数。原创 2024-04-24 11:02:47 · 1266 阅读 · 0 评论 -
搞懂python的内存视图memoryview
所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。原创 2024-04-23 20:09:57 · 894 阅读 · 0 评论 -
深入理解Python数据模型
Python 的数据模型是基于特殊方法的,这是因为这些特殊方法提供了一种非常强大的机制,它允许自定义类型去模拟和表现得如同 Python 内置类型一样。这样的设计允许开发者用 Python 来实现几乎任何数据结构,并确保它可以与 Python 的其他部分以自然和一致的方式集成。图中的所有类型都是抽象基类(每个顶端的抽象类都有一个特殊方法。Collection ABC统一集合需要实现的三个接口:Iterable:支持for,拆包和其他类型的迭代Sized: 支持内置方法 len。原创 2024-04-22 20:06:07 · 1060 阅读 · 0 评论 -
Python中的存储槽__slots__
_slots__ 在 Python 中是一个用于告知解释器为类的每个实例预留固定属性集合的特殊属性。提供了一种内存优化的手段,特别适用于需要大量创建实例的情况,但它也降低了类的灵活性。原创 2024-04-18 07:01:32 · 402 阅读 · 0 评论 -
搞懂python的os._exit()、sys.exit()和exit()区别
在Linux操作系统中,当进程退出时,它会与操作系统进行一系列的交互来释放资源、关闭文件描述符等。原创 2024-04-18 07:00:36 · 631 阅读 · 0 评论 -
Python设计可扩展系统的三种策略
在Python中设计柔性和可扩展的系统时,存在多种方式来动态选择和应用函数,需要在运行时决定使用哪个函数(或策略)。下面详细论述三种实现策略。原创 2024-04-18 06:58:09 · 292 阅读 · 0 评论 -
python使用一等函数简化设计模式
在Python中,由于函数作为一等对象的能力,可以用来简化多种传统的设计模式。一般来说,设计模式要求组件实现单方法接口而该方法有一个很宽泛的名称,例如run do execute等,通常可以使用作为一等对象的函数来简化。核心思想是把实现单方法接口的类的实例替换为函数。每个Python可调用对象都实现了单方法接口,这个方法就是__call__原创 2024-04-18 06:55:34 · 279 阅读 · 0 评论 -
详解python描述符的原理和应用
property@propertysuper(SubPerson, SubPerson).name.__set__(self, value)#请求从SubPerson的父类中查找方法或属性这么写 property之前已经定义过的方法会被复制过来,而getter函数被替换二 实际应用。原创 2024-04-18 06:43:04 · 530 阅读 · 0 评论 -
python多层循环列表推导,提效高手
列表推导替代filter与map 如下两种写法等价 还有字典推导、集合推导等。原创 2024-04-18 06:30:50 · 205 阅读 · 0 评论 -
python包安装详解
DownloadNLTK 类继承自setuptools.command.install.install,用于扩展标准的安装过程。在安装包时,这个自定义命令会下载 NLTK 的 punkt 数据集。原创 2024-04-18 06:29:02 · 846 阅读 · 0 评论