Python学习
文章平均质量分 82
Tipriest_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
配置用户pip源与查看当前的pip的源的办法
本文介绍了如何修改pip源为清华镜像以提高国内下载速度。首先通过mkdir和gedit命令创建并编辑~/.pip/pip.conf文件,配置全局索引地址和可信主机。文章解释了配置文件的格式和作用,并说明了pip的多级配置文件位置(用户级、系统级)。此外,还提供了查看当前配置的方法(pip config list -v)以及临时恢复官方源的操作指南。最后指出Windows系统下pip配置文件的不同路径。原创 2025-12-30 20:14:19 · 339 阅读 · 0 评论 -
Python构建包,打包.whl文件,使用.whl文件安装包指南
whl.whl会覆盖到常用的配置文件、目录结构和具体命令。原创 2025-12-30 19:28:30 · 648 阅读 · 0 评论 -
C++ 的 ranges 和 Python 的 bisect 在二分查找中的应用与实现
本文对比了C++20的std::ranges和Python的bisect模块在二分查找中的应用。C++20通过ranges::binary_search、lower_bound和upper_bound等函数提供了类型安全的二分查找,返回迭代器;Python的bisect模块则通过bisect_left和bisect_right返回索引位置,并支持直接插入元素。两者都能高效处理有序数据,但C++性能更优,而Python更易用。文章提供了完整的代码示例,展示了如何在两种语言中实现二分查找及其边界查询功能。原创 2025-12-24 16:40:24 · 427 阅读 · 0 评论 -
Python 多线程详解(概念、初始化方式、线程间变量传递、线程锁以及一些注意事项)
本文详细介绍了Python多线程编程的核心概念与应用。主要内容包括:1)多线程的基本概念,指出GIL限制使其适用于I/O密集型任务而非计算密集型任务;2)线程创建与管理方法,使用threading.Thread初始化线程;3)线程间共享变量的风险及Lock锁机制解决数据竞争问题;4)线程间通信的队列(Queue)方案;5)守护线程和线程池(ThreadPoolExecutor)的使用场景。文章建议计算密集型任务使用多进程,I/O密集型任务使用多线程或异步编程,并强调合理规划线程数量和使用同步机制的重要性。原创 2025-12-23 19:54:38 · 353 阅读 · 0 评论 -
Python 常用特殊变量与关键字详解
本文介绍了Python中常用的特殊变量与关键字,包括__file__、__name__、__doc__和__dict__等。这些以双下划线开头结尾的变量具有特殊用途:__file__表示当前文件路径,__name__标识模块运行方式,__doc__存储文档字符串,__dict__保存对象属性。文章通过示例演示了它们的应用场景,并指出这些变量并非保留字但具有特殊含义,建议避免覆盖使用。掌握这些特殊变量有助于编写更健壮、可维护的Python代码。原创 2025-12-23 18:34:00 · 553 阅读 · 0 评论 -
Python 的 @cache装饰器详细介绍及其作用
摘要:Python 3.9引入的@cache装饰器来自functools模块,用于缓存函数结果避免重复计算。它基于lru_cache实现,具有无限缓存大小,适用于纯函数场景。使用时需注意参数必须可哈希,且没有自动失效机制。与@lru_cache相比,@cache更简单但不支持缓存大小限制。典型应用包括递归计算和耗时操作,能显著提升程序性能,但需注意内存占用问题。原创 2025-12-22 14:39:20 · 517 阅读 · 0 评论 -
在 VS Code 中使用 Black 格式化 Python 代码
VS Code中使用Black格式化Python代码的简明指南 Black是Python社区流行的自动格式化工具,以"极少配置、强制风格"为核心理念。本文介绍在VS Code中配置Black的步骤:首先在虚拟环境或全局安装Black(pip install black),然后在VS Code中设置Python扩展,选择正确的解释器路径。通过修改settings.json将Black设为默认格式化工具("python.formatting.provider":"原创 2025-12-17 23:54:35 · 1158 阅读 · 0 评论 -
使用 pylintrc 配置 Python 代码检查的详细指南
本文详细介绍了如何使用 pylintrc 配置文件优化 Python 代码检查。主要内容包括:Pylint 基本使用方法;配置文件的生成、放置与加载;常用配置段落详解(消息控制、命名规范、格式要求等);以及项目落地实践建议。通过合理配置 .pylintrc,可以统一团队代码规范,提高代码质量,同时避免过度检查带来的干扰。文中提供了典型配置示例和实用技巧,帮助开发者根据项目需求定制检查规则。原创 2025-12-17 21:20:30 · 862 阅读 · 0 评论 -
旋转矩阵,齐次变换矩阵,欧拉角,四元数等相互转换的常用代码C++ Python
本文提供了一个基于C++(Eigen)和Python(NumPy/SciPy)的姿态转换工具库,统一了机器人领域常用的坐标系和旋转表示方法之间的转换。核心内容包括:1)采用右手坐标系和Z-Y-X欧拉角顺序;2)四元数统一表示为(w,x,y,z);3)提供旋转矩阵、欧拉角、四元数和齐次变换矩阵之间的两两转换函数。C++实现基于Eigen库,包含从欧拉角到旋转矩阵、四元数到旋转矩阵等常用转换接口,所有函数都遵循统一的约定,可直接集成到项目中作为长期可复用的姿态计算库。原创 2025-12-15 20:24:36 · 1127 阅读 · 0 评论 -
C++ Python使用常用库时如何做欧拉角 ⇄ 四元数转换
本文介绍了在C++和Python中使用常见库进行欧拉角与四元数转换的方法,重点说明不同库的约定差异。C++部分涵盖Eigen、ROS tf2和GLM库的转换实现,包括欧拉角到四元数以及反向转换的代码示例。Python部分涉及SciPy、ROS tf_transformations等库。文章强调不同库对欧拉顺序和四元数分量顺序的约定可能不同,使用时需保持一致以避免方向错误。关键点包括:右手坐标系、Z-Y-X欧拉角顺序、四元数分量顺序等,并提供了各库的具体实现示例和注意事项。原创 2025-12-15 17:43:57 · 1007 阅读 · 0 评论 -
pip遇到依赖冲突警告时候的排查办法
摘要 记录Python依赖冲突解决过程。使用pip安装requirements.txt时出现依赖版本冲突,主要涉及fastapi、uvicorn、pydantic等包的版本要求。部分依赖如pydantic>=2.0.0、requests>=2.31.0已满足,但需要下载fastapi-0.124.4、uvicorn-0.38.0等新版本。过程中发现starlette<0.51.0、pydantic-core==2.41.5等特定版本约束。解决方案包括检查已安装包版本、确认依赖关系,适用于类原创 2025-12-14 22:21:14 · 1068 阅读 · 0 评论 -
conda使用详细指南
一句话:conda = 环境管理器(虚拟环境) + 包管理器(跨语言包),解决“你可以把每个 conda 环境想成是:一个轻量的“用户级小系统”(有自己的 Python、库、Python 包等)。原创 2025-12-14 22:15:16 · 842 阅读 · 0 评论 -
详细解释pip及其使用方法(对比apt)
本文介绍了Python包管理工具pip的核心用法及与apt的区别。主要内容包括: pip与apt的区别:apt管理系统级软件包,pip管理Python第三方包 推荐使用python -m pip代替直接使用pip命令 pip基本操作: 安装包:pip install及版本控制 升级:pip install -U 卸载:pip uninstall 查看:pip list和pip show pip search已被弃用,推荐使用PyPI官网搜索 虚拟环境venv的使用方法,解决项目间依赖冲突问题 文章提供了详细原创 2025-12-14 21:29:03 · 1176 阅读 · 0 评论 -
Python 对象序列化与存储库pickle详细介绍
Python 的 pickle 模块是标准库中的对象序列化工具,支持将Python对象转换为二进制字节流(序列化)或从字节流还原为对象(反序列化)。它支持大多数内置类型和自定义类实例,是Python专用的二进制协议。pickle 提供了 dump/load(文件操作)和 dumps/loads(字节操作)两套接口,使用时需指定协议版本(推荐HIGHEST_PROTOCOL)。对于自定义类,可通过__getstate__/__setstate__方法控制序列化行为。pickle适合在Python环境内部保存复原创 2025-12-11 18:17:02 · 612 阅读 · 0 评论 -
Python设置线程为守护线程的方法和作用
Python中设置守护线程(daemon=True)可使线程在主程序结束时自动终止,而不会阻碍进程退出。当所有非守护线程结束时,守护线程会被强制终止。适用于日志收集、监控等非关键后台任务,但不适合数据写入等需要完整执行的操作。守护线程通常无需调用join()方法,适合"启动后不管"的场景。设置守护线程意味着该线程不是程序退出的必要条件,主程序结束后即可直接终止进程。原创 2025-12-01 14:29:35 · 435 阅读 · 0 评论 -
Python @dataclass装饰器使用
摘要:该代码使用Python的@dataclass装饰器定义了一个DataInput数据类,用于存储相机输入数据。装饰器自动生成__init__、__repr__和__eq__等方法,简化类定义。通过field设置默认值,确保各实例拥有独立的numpy数组。类还包含clear()和copy()方法用于重置和深拷贝数据。@dataclass主要优势是减少样板代码,提供更好的字段管理和调试支持,同时保持与标准数据容器的兼容性。原创 2025-11-27 21:10:04 · 377 阅读 · 0 评论 -
Python实现浅拷贝的常用策略
在Python中,result = prices会使result和prices引用同一个列表对象,因此修改result会直接影响prices的值。若需避免这种情况,应使用prices[:]或list(prices)创建副本。这样修改result时,原prices列表保持不变。原创 2025-09-02 20:24:45 · 245 阅读 · 0 评论 -
Python的collections引入的类型介绍(Python中的map, unordered_map, struct, 计数器, chainmap)
本文介绍了Python collections模块中的核心容器类型,并与C++ STL中的类似数据结构进行对比。主要内容包括:namedtuple(类似C++结构体)、deque(双端队列,与std::deque相同)、Counter(频率统计,类似unordered_map)、OrderedDict(保序字典)、defaultdict(带默认值字典)和ChainMap(多映射视图)。文章还提供了应用场景类比和使用注意事项,特别适合熟悉C++的开发者理解Python中的高效容器实现。原创 2025-08-20 22:49:09 · 901 阅读 · 0 评论 -
CMake 如何查找 Python2和Python3
摘要:CMake的find_package(Python2 COMPONENTS Interpreter Development NumPy)命令用于查找Python2相关组件。虽然Python2不是C++库,但CMake通过内置的FindPython2.cmake模块定位解释器、开发头文件/库及NumPy组件。该命令会搜索系统路径和环境变量,并将结果存储在特定变量中(如Python2_EXECUTABLE、Python2_INCLUDE_DIRS等),方便在C++项目中使用Python2功能。原创 2025-08-14 23:17:09 · 458 阅读 · 0 评论 -
Python .toml 安装文件介绍
toml文件是一种用于配置的文件格式。它的全称是,即 “汤姆的(创始人)显而易见的、最小化的语言”。核心目标:人类易于阅读:它的语法非常直观,就像一个初始化(.ini)文件,但功能更强大。易于解析:计算机程序可以轻松地将其内容解析成统一的数据结构(通常是字典或哈希表)。无歧义:一种 TOML 文件格式应该只对应一种解析后的数据结构,避免了像 YAML 那样可能出现的歧义。在 Python 生态中,.toml文件变得越来越重要,特别是在PEP 518之后,它被选为。原创 2025-07-30 22:19:47 · 1408 阅读 · 0 评论 -
Python中上下文管理器with的作用和用法
用途with语句用于自动管理资源,确保资源在使用完毕后(无论是否发生异常)都能被正确清理。优点:代码更简洁、更安全、更具可读性,避免了冗长的结构和资源泄露的风险。原理:依赖于上下文管理器协议,即对象需实现和__exit__()两个方法。自定义:你可以通过编写类或使用装饰器来创建自己的上下文管理器,封装任何需要“设置-清理”逻辑的场景。在现代 Python 编程中,只要遇到需要获取和释放资源的场景,都应该优先考虑使用with语句。原创 2025-07-17 21:49:48 · 1461 阅读 · 0 评论 -
Python绑定及其在Mujoco仿真器中的作用
简单来说,Python绑定是一座“桥梁”或“翻译器”。如果没有 Python 绑定,MuJoCo 只是一个孤立的、高性能的 C 语言库,使用门槛很高。有了 Python 绑定,MuJoCo 就变成了一个现代化的、对开发者友好的、可以轻松融入主流 AI 和数据科学生态系统的强大工具。它让你既能享受到 MuJoCo 底层的惊人速度,又能享受到 Python 上层的开发便利性和生态系统优势,实现了“鱼与熊掌兼得”。原创 2025-07-17 20:14:40 · 729 阅读 · 0 评论 -
Python异常类型介绍
当内置的异常类型无法精确描述你的应用程序特有的错误时,最佳实践是创建自己的异常类。这能让你的代码更具可读性和可维护性。自定义异常应该继承自Exception或其某个合适的子类。示例:假设你在开发一个与外部API交互的应用。# 1. 创建一个基础的自定义异常类"""应用程序所有自定义异常的基类。"""pass# 2. 创建更具体的异常类"""当API返回一个意外的或错误的响应时引发。原创 2025-07-07 22:15:58 · 755 阅读 · 0 评论 -
Python装饰器decorator实际应用与高级用法
装饰器本质上是一个Python函数,它可以让其他函数在不改变其源代码的情况下增加额外的功能。核心思想包装 (Wrapping)。你的函数= 礼物本身装饰器= 包装纸、彩带和蝴蝶结礼物(函数)的核心功能没有变,但经过包装(装饰器)后,它看起来更漂亮、更完整了(增加了新功能)。在代码层面,装饰器是一个接收函数作为参数,并返回一个新函数的函数。核心:装饰器是一个接收函数并返回新函数的函数,用于在不修改原函数代码的情况下增加功能。基础:依赖于Python中函数是“一等公民”的特性。语法糖。原创 2025-07-06 16:04:14 · 1100 阅读 · 0 评论 -
Python关键字梳理
异步编程的核心,适合网络请求、文件读写等高延迟任务。其他关键字(如defclassif)是 Python 基础语法的基石。理解关键字的作用能帮助你写出更高效、更清晰的代码。如果有其他关键字需要详细解释,可以告诉我!原创 2025-07-05 22:31:06 · 349 阅读 · 0 评论 -
Python asyncio库与GIL之间的关系,是否能够解决核心问题?
特性多线程 (threading协程 (asyncio目标实现并发(在单核上)或并行(在多核上,但受GIL限制)在单线程内实现高并发工作模式抢占式多任务(操作系统控制)协作式多任务(代码await控制)最佳场景I/O密集型任务,或者需要与阻塞的C库交互海量I/O 密集型任务(网络、数据库)GIL的影响严重影响CPU 密集型任务的性能,因为无法利用多核。基本无影响,因为它在单线程工作,巧妙地规避了GIL的问题。资源开销线程是操作系统资源,开销较大,不适合开启成千上万个。原创 2025-07-05 22:30:22 · 1034 阅读 · 0 评论 -
pip install -e . 出现xxx module not found error的问题解决办法
在本地安装wheeled_lab这个包的时候一直出现toml module找不到的错误,但是不管是conda的环境还是python的基本环境都已经安装过了toml包,后来发现是Python包在构建时的构建标准问题。所以,即使你的个人工作室 (WL 环境) 里有 toml,但无菌操作台(隔离构建环境)里一开始是没有的。这个过程会创建一个临时的、隔离的构建环境。,而是创建了一个临时的、隔离的“构建环境”(Isolated Build Environment)。),它会期望这个包已经存在于你的当前环境中。原创 2025-07-04 10:47:08 · 2028 阅读 · 0 评论 -
uv介绍以及与anaconda/venv的区别
uv。原创 2025-07-01 12:54:14 · 1898 阅读 · 0 评论 -
sudo安装pip包的影响
在 pip 安装中的作用非常重要,可以帮助你更好地管理 Python 包,避免潜在的问题。安装的 pip 包和不使用。选项,只有在必要时才使用。原创 2025-06-23 21:55:51 · 549 阅读 · 0 评论 -
Python的可迭代对象与不可迭代对象
类型可迭代示例列表、元组、字符串✔️[1, 2]"abc"字典、集合✔️{"a": 1}{1, 2}生成器、文件对象✔️整数、浮点、None❌1233.14None理解可迭代对象是掌握Python循环、生成器、推导式等高级用法的关键!🚀。原创 2025-05-30 10:49:26 · 826 阅读 · 0 评论 -
leetcode需要背下来的程序&语法糖 [Python][C++][更新中]
本文提供了Python与C++常用函数对照速查表,涵盖对象创建、类型转换、容器操作、数学计算、字符串处理、进制转换、文件操作等多个方面。包含字典/集合创建、类型判断、列表操作、排序搜索、字符串格式化等核心功能的实现对比,并附有C++中整数转二进制字符串的实现示例。同时介绍了int32/64等基本数据类型的取值范围,以及科学计数法输出常量极值的C++代码示例。该速查表可作为Python开发者学习C++或C++开发者参考Python实现的快速索引工具。原创 2025-05-29 23:38:18 · 412 阅读 · 0 评论 -
通配符(Wildcard)与正则表达式(Regular Expression)的关系及区别
通配符是用于简单模式匹配的特殊符号,原创 2025-05-29 22:46:38 · 1229 阅读 · 0 评论 -
语法糖介绍(C++ Python)
语法糖(Syntactic Sugar)是编程语言中为了提升代码可读性和简洁性而设计的语法结构。它不改变语言的功能,但能让代码更易写和理解。:语法糖虽方便,但过度使用可能降低代码清晰度。例如,多层嵌套的列表推导式可能难以维护,而滥用运算符重载可能导致逻辑不直观。原创 2025-05-29 20:50:58 · 1041 阅读 · 0 评论 -
CS学习网站-geeksforgeeks介绍
是一个专注于计算机科学、编程、算法、数据结构和面试准备的知名技术学习网站。它提供丰富的免费资源,适合学生、程序员以及求职者提升技能或备战技术面试。原创 2025-05-25 22:08:31 · 1470 阅读 · 0 评论 -
Python 记录日志报警的方式
在Python 标准库。原创 2025-03-07 16:11:31 · 716 阅读 · 0 评论 -
Python个人开源仓库保密加载API Key的方法
你的方案适合中小项目,通过.env优化后更符合现代开发规范。重点在于:确保.gitignore生效、控制文件权限、提供配置模板。随着项目规模扩大,可逐步升级密钥管理方案。原创 2025-03-07 14:39:03 · 949 阅读 · 0 评论 -
Python计算程序用时方法大全(基础,高精度,装饰器,无侵入式,格式化时间输出)
在Python中计算代码段的运行时间,可以使用time模块或timeit模块。原创 2025-03-06 16:10:37 · 701 阅读 · 0 评论 -
Python创建 | 导入 | 分发 自己的包
在 Python 中创建一个自定义包需要遵循特定的目录结构和文件组织方式。原创 2025-03-05 15:44:46 · 562 阅读 · 0 评论
分享