python
文章平均质量分 85
酌沧编程
资深软件工程师 致力于信息技术研究
展开
-
python通过注册表动态管理组件
是一个在多个开源项目(如 MMEngine 和 MM系列工具包,例如 MMDetection、MMClassification 等)中使用的模块化管理机制,旨在通过注册表动态管理不同的组件,例如模型、算法、损失函数或插件等。这个机制极大地增强了项目的灵活性和扩展性。原创 2024-05-14 07:40:02 · 691 阅读 · 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 · 1109 阅读 · 0 评论 -
python格式化显示复杂对象例如字典
format当想格式化显示一个字典,并且希望通过日志记录输出时,Python 提供了几种方法来实现这一目标。原创 2024-05-08 07:12:06 · 579 阅读 · 1 评论 -
如何查看Python解释执行的底层细节
在Python中,dis模块提供了一个称为dis.dis()的函数,这是一个非常有用的工具,用于反汇编Python字节码。这可以帮助开发者理解Python代码是如何被解释和执行的,特别是在性能分析、调试或学习Python的底层工作原理时。原创 2024-05-02 07:02:27 · 823 阅读 · 0 评论 -
零宽空格等控制字符的作用和代码处理
在文本处理系统中,尽管它在视觉上是不可见的,但它在文本中确实存在,并可以作为潜在的断点,即允许在此位置断开行。然而,它们也可能导致文本处理上的问题,比如字符串匹配失败、文本渲染异常等,因此在处理文本数据时需要特别注意这些不可见字符的存在。虽然零宽空格在许多情况下都是有用的,但它也可能引起问题,特别是在文本处理和数据清洗中。因此,在处理来自不同源的文本数据时,了解和考虑这些不可见字符是非常重要的。如果你需要去除字符串中的多种不可见字符,包括零宽空格,使用正则表达式是一个更强大的选择。在 Unicode 中,原创 2024-05-01 07:16:47 · 796 阅读 · 0 评论 -
python设计模式之命令模式的组成、场景、特点、示例
命令模式(Command Pattern)是一种常用的设计模式,属于行为型模式的一种。它的主要目的是将一个请求封装为一个对象,从而允许用户使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。原创 2024-04-29 09:52:34 · 475 阅读 · 0 评论 -
python和JavaScript的正则表达式详细对比
正则表达式在 Python 和 JavaScript 中都是一种强大的工具,用于匹配、搜索和操作字符串。尽管它们在基本语法上相似,但也存在一些差异。原创 2024-04-28 15:30:16 · 1027 阅读 · 3 评论 -
5种创建型设计模式的python极简示例和应用价值
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。工厂模式专注于单一产品(按钮),而抽象工厂涉及产品族(按钮和滚动条),展示了抽象工厂在管理多种产品类型方面的能力。工厂模式每个工厂类只创建一种产品,而抽象工厂模式的每个工厂类可以创建多个不同种类的产品(产品族)。在工厂模式中,增加新的产品需要增加新的工厂类,适合产品种类较多但是产品类别不频繁增加的情况。而抽象工厂模式易于增加新的产品族,但是增加新的产品功能则需要修改抽象工厂的接口,适合产品族扩展的需求。passpass。原创 2024-04-25 16:58:17 · 1081 阅读 · 0 评论 -
python迭代器模式的来由、原理和示例
这意味着,当你在一个对象上调用iter()函数时,实际上是在调用它的__iter__()方法。把生成器对象传给next()函数时,生成器函数提前执行函数主体中的下一个yield语句,返回产出的值,并在函数主体的当前位置暂停。如果没有实现,但是实现了__getitem__方法,那么iter()创建一个迭代器,尝试按索引(从0开始)获取项。检查对象是否实现了__iter__方法,如果实现了就调用它,获取一个迭代器。在Python中,任何实现了__iter__()方法的对象都是可迭代的。原创 2024-04-25 11:08:49 · 961 阅读 · 1 评论 -
爬虫为什么常用Python语言?
上图是本人看过的几步爬虫相关的python书。原创 2024-04-25 09:03:03 · 1197 阅读 · 0 评论 -
网络文件共享的界面访问方式和python访问方式
在Windows和Linux操作系统中,网络文件共享服务的实现和访问方式存在显著差异,主要由于两者在文件系统管理、网络协议支持和用户界面集成上的不同。原创 2024-04-25 08:25:08 · 760 阅读 · 1 评论 -
Python的reprlib生成对象的简化表示
reprlib是 Python 的一个标准库,提供了repr()函数的一个变体,用于生成对象的字符串表示形式。这个库特别有用于处理大型或深度嵌套的容器对象,因为它可以生成简化或缩短的表示,避免产生过长的输出。这对于调试输出和日志记录尤为有价值,可以帮助开发者更容易地查看数据的概要而不是详细信息,从而提高了数据可视化的效率。此模块提供了一个类、一个实例和一个函数。原创 2024-04-24 11:02:47 · 1245 阅读 · 0 评论 -
搞懂python的内存视图memoryview
所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。原创 2024-04-23 20:09:57 · 767 阅读 · 0 评论 -
深入理解Python数据模型
Python 的数据模型是基于特殊方法的,这是因为这些特殊方法提供了一种非常强大的机制,它允许自定义类型去模拟和表现得如同 Python 内置类型一样。这样的设计允许开发者用 Python 来实现几乎任何数据结构,并确保它可以与 Python 的其他部分以自然和一致的方式集成。图中的所有类型都是抽象基类(每个顶端的抽象类都有一个特殊方法。Collection ABC统一集合需要实现的三个接口:Iterable:支持for,拆包和其他类型的迭代Sized: 支持内置方法 len。原创 2024-04-22 20:06:07 · 960 阅读 · 0 评论 -
Python中的存储槽__slots__
_slots__ 在 Python 中是一个用于告知解释器为类的每个实例预留固定属性集合的特殊属性。提供了一种内存优化的手段,特别适用于需要大量创建实例的情况,但它也降低了类的灵活性。原创 2024-04-18 07:01:32 · 398 阅读 · 0 评论 -
搞懂python的os._exit()、sys.exit()和exit()区别
在Linux操作系统中,当进程退出时,它会与操作系统进行一系列的交互来释放资源、关闭文件描述符等。原创 2024-04-18 07:00:36 · 299 阅读 · 0 评论 -
Python设计可扩展系统的三种策略
在Python中设计柔性和可扩展的系统时,存在多种方式来动态选择和应用函数,需要在运行时决定使用哪个函数(或策略)。下面详细论述三种实现策略。原创 2024-04-18 06:58:09 · 267 阅读 · 0 评论 -
python使用一等函数简化设计模式
在Python中,由于函数作为一等对象的能力,可以用来简化多种传统的设计模式。一般来说,设计模式要求组件实现单方法接口而该方法有一个很宽泛的名称,例如run do execute等,通常可以使用作为一等对象的函数来简化。核心思想是把实现单方法接口的类的实例替换为函数。每个Python可调用对象都实现了单方法接口,这个方法就是__call__原创 2024-04-18 06:55:34 · 273 阅读 · 0 评论 -
详解python描述符的原理和应用
property@propertysuper(SubPerson, SubPerson).name.__set__(self, value)#请求从SubPerson的父类中查找方法或属性这么写 property之前已经定义过的方法会被复制过来,而getter函数被替换二 实际应用。原创 2024-04-18 06:43:04 · 507 阅读 · 0 评论 -
python多层循环列表推导,提效高手
列表推导替代filter与map 如下两种写法等价 还有字典推导、集合推导等。原创 2024-04-18 06:30:50 · 171 阅读 · 0 评论 -
python包安装详解
DownloadNLTK 类继承自setuptools.command.install.install,用于扩展标准的安装过程。在安装包时,这个自定义命令会下载 NLTK 的 punkt 数据集。原创 2024-04-18 06:29:02 · 770 阅读 · 0 评论