Python
文章平均质量分 74
在编程世界的浪潮中,Python无疑是闪耀的明星。作为职场老兵与生涯规划师,我创建此专栏,带你领略 Python 从基础语法到高级应用的全貌。无论是 Web 开发、数据分析还是人工智能,都将以实战案例解析,助你在 Python 之旅中快速成长,掌握核心技能,开启无限可能的编程未来。
田辛 | 田豆芽
北京田豆芽科技有限公司 总经理
现代卓越项目管理培训 独家讲师
职场老兵/多次创业者/生涯规划师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【商业分析】价值流图应用案例:服务器硬件生产
摘要: 本文探讨了价值流图(VSM)在服务器硬件生产中的应用案例,展示了其如何帮助企业优化流程、降低成本。通过分析某制造商的生产瓶颈(如主板测试耗时、物料延迟、信息流断层),量化了非增值时间(67%)和库存浪费(年仓储成本500万元)。改进措施包括测试自动化、拉动式生产和数字化排产,最终交付周期缩短51%(45天→22天),库存成本降低64%(800万元→288万元),良率提升至98%。案例证明VSM能有效消除浪费,实现精益生产。原创 2025-06-24 14:33:20 · 1866 阅读 · 0 评论 -
【Python】告别Python认知复杂度高警告,看这一篇够了 Cognitive Complexity of functions should not be too high
本文详细解释了Python代码中出现 “Cognitive Complexity of functions should not be too high” 警告的原因,包括嵌套层级过深、过多的条件分支和复杂的逻辑运算等。同时,给出了杜绝该警告的方法,如拆分函数、使用字典映射替代条件分支、简化逻辑运算等,帮助开发者提升代码质量。原创 2025-05-19 12:19:28 · 671 阅读 · 0 评论 -
【Python】字面字符串类型注解 `LiteralString` 深度解析
田辛老师通过实际案例详细解析了Python类型注解中的-> LiteralString,强调了其在提升代码质量和安全性中的重要作用。LiteralString用于标注返回固定字面量字符串的函数,确保不会返回动态生成的字符串。文章通过配置管理、SQL查询等场景展示了其应用,并对比了LiteralString与普通str的区别。最后,田辛老师建议在常量定义和安全敏感代码中强制使用该注解,以增强代码的可维护性和安全性。原创 2025-05-19 08:00:00 · 1040 阅读 · 0 评论 -
【Python】Python 单例模式 8 大核心应用场景深度解析(2025 新版)
单例模式在软件开发中具有广泛的应用场景,主要用于确保系统中某个类只有一个实例,并提供全局访问点。本文重点探讨了单例模式的核心应用场景,包括配置管理器、数据库连接池、日志系统、缓存管理器、全局唯一ID生成器、设备驱动管理、对象工厂模式以及全局状态管理器。每个场景都强调了单例模式在确保数据一致性、资源复用和避免冲突方面的重要性。此外,文章还提到了一些实现建议和最佳实践,如线程安全、延迟加载、缓存策略等。最后,架构师特别提醒了在性能、测试、并发控制和模式使用上的注意事项,以确保单例模式的有效性和可维护性。原创 2025-05-12 13:03:38 · 647 阅读 · 0 评论 -
【Python】Python类型标注革命:Annotated类型深度解析与实战
typing.Annotated是Python 3.9引入的类型构造器,为类型系统带来了元数据整合的新维度。通过Annotated,开发者可以在类型标注中携带任意元数据,从而提升代码可读性、增强类型系统、支持静态分析和文档生成。其基本语法允许在基准类型上附加元数据,如温度单位或取值范围。Annotated的元数据存储在__metadata__属性中,可以被静态分析工具、运行时验证框架和文档生成系统使用。在实际应用中,Annotated可以用于构建智能验证系统,如数据验证框架和与FastAPI的整合,实现强类原创 2025-05-11 19:22:42 · 4746 阅读 · 1 评论 -
【Python】从零实现经典扫雷:Python与Pygame开发实战解析
本文由田辛老师手把手讲解基于Python和Pygame的经典扫雷游戏开发全流程。文章以Windows经典玩法为原型,详细剖析了游戏实现的三大核心技术:通过双重循环与随机数生成的地雷布阵算法、基于八邻域检测的数字计算逻辑,以及融合鼠标事件处理的主循环控制机制。项目采用轻量级的Pygame框架实现图形渲染与交互响应,特别展示了递归算法在空白区域自动展开场景中的应用。教程涵盖代码结构设计、状态矩阵管理、胜负判定规则等关键模块,并提供可直接运行的完整代码原创 2025-05-10 09:38:45 · 933 阅读 · 0 评论 -
【Python】Python单元测试框架unittest总结
unittest是Python的标准模块之一,它集成了编写和运行测试代码所需的类与函数。通过导入此模块,可以轻松实现测试代码的编写。在本文中, 田辛老师总结Python的unittest模块。原创 2025-05-09 22:56:56 · 649 阅读 · 0 评论 -
【Python】Python项目中的依赖与配置:requirements.txt、setup.py、pyproject.toml 详解
在Python开发中,requirements.txt、setup.py和pyproject.toml是常见的配置文件,各自有不同的用途和局限性。requirements.txt主要用于列出项目依赖,适合快速安装;setup.py是传统的打包工具配置文件,适合发布到PyPI;pyproject.toml则是现代的统一配置文件,支持声明式配置和现代工具链。对于新项目,推荐优先使用pyproject.toml,并结合工具如poetry管理依赖和构建流程。旧项目可以逐步迁移,无需同时维护三个文件。最终目标是简化配原创 2025-05-08 22:26:52 · 3423 阅读 · 0 评论 -
【Python】通过`Editable Install`模式详解,解决Python开发总是import出错的问题
田辛老师在很久以前,写过一篇关于Python的模块、包之间的内部关系的博客,叫做【Python】文件详解。虽然我觉得这篇文章已经足够了, 但是还是有很多朋友碰到开发的过程中import包报错的问题。今天, 田辛老师想介绍一个可编辑安装(Editable Install)模式, 方便快捷的解决这个问题。让开发者的思路集中在业务的实现上。通过可编辑安装模式,我们成功将Python开发体验提升到新维度。原创 2025-05-07 22:09:21 · 2227 阅读 · 0 评论 -
【Python】一键提取视频音频并生成MP3的完整指南 by `MoviePy`
昨天, 我在让一个小朋友给我整理一次培训的视频的时候,我看到他把视频文件放到剪映里面处理。我以为他要干什么呢, 还很期待,结果他只是为了导出音频而已。于是就有了今天的这篇博客。作为音视频处理领域的常用需求,视频转音频功能在内容二次创作、语音分析等场景中应用广泛。本文基于MoviePy库,手把手教大家实现跨平台视频转MP3工具🎞️ 支持MP4/AVI/MOV等主流格式转换🎚️ 自动生成同路径MP3文件🛠️ 包含异常捕获与资源管理机制📟 提供开箱即用的命令行版本。原创 2025-05-06 11:45:36 · 2433 阅读 · 0 评论 -
【Python】使用`python-dotenv`模块管理环境变量
通过使用模块,我们可以很方便地在不同的环境中管理配置信息,同时避免将敏感信息直接暴露在代码中。这个模块提供了简单易用的接口来加载和使用环境变量,无论是通过操作系统的环境变量还是通过 Python 字典,都能满足我们的需求。在开发、测试和部署应用程序时,合理地利用环境变量和模块可以帮助我们更好地管理配置,提高代码的安全性和可维护性。原创 2025-05-05 14:51:21 · 1144 阅读 · 0 评论 -
【Python】为什么要把API Key从代码里“请出去”?田辛老师教你5种安全隔离方案
记住田辛老师的四句箴言:代码不藏钥, 环境巧切换。 生产用KMS, 平安无风险。希望这篇博客能帮你在保护API Key的道路上少踩坑。如果你有更好的方案,欢迎在评论区与田辛老师交流!原创 2025-03-17 15:35:11 · 1218 阅读 · 0 评论 -
【Python】Playwright 文本框操作
摘要: 本文中,田辛老师将详细介绍Playwright的文本框操作, 包括:- 填充文本框(包括单行/多行)- 获取文本框的值原创 2023-05-10 00:02:22 · 2832 阅读 · 1 评论 -
【Python】如何使用 Python 的 pprint库格式化和输出列表和字典
本文介绍了Python标准库pprint模块的基本用法,该模块可以以干净的格式输出和显示列表和字典等对象。普通print()函数将列表和字典的元素打印在一行上,没有换行符,不够友好。而pprint可以将列表和字典等对象以更加美观的方式输出。本文详细介绍了pprint的基本用法,包括指定输出宽度、指定要打印的元素的深度、制定缩进的宽度等。通过本文的介绍,读者可以更好地使用pprint模块来输出和显示列表和字典等对象。原创 2023-04-15 23:54:48 · 7168 阅读 · 0 评论 -
【Python】Python中神奇的字符串驻留机制
本文介绍了Python中的字符串驻留机制,包括其定义、实现方式、使用方法以及在不同Python版本中的变化。同时,本文还讨论了字符串驻留机制对于字符串拼接的影响,并提供了手动使用字符串驻留的例子。原创 2023-04-05 23:22:23 · 1562 阅读 · 0 评论 -
【Playwright】深入了解Playwright页面对象模型
本文介绍了Playwright页面对象模型的基本概念和常用对象,包括Browser对象、Page对象和ElementHandle对象等。田辛老师以第一人称方式详细讲解了它们之间的关系以及具体使用方法,并提供了实际的代码示例和案例。此外,还介绍了一些其他的对象,例如Frame对象、Request对象和Response对象等,以及它们的使用方法。熟练掌握这些对象的使用方法,可以帮助测试人员更高效、更稳定地进行Web自动化测试。原创 2023-03-18 00:27:43 · 1117 阅读 · 0 评论 -
【Python】项目管理中蒙特卡洛模拟的Python实现(进度管理的例子)
蒙特卡洛模拟是一种基于概率统计的方法,通过随机模拟来计算出某个事件发生的概率。在项目管理中,蒙特卡洛模拟主要用于计算项目工期、成本等关键指标的概率分布,帮助项目经理更好地进行风险管理和决策。今天呢,田辛老师带领大家,用Python中的numpy和matplotlib库来进行计算和绘图,帮你你轻松掌握蒙特卡洛模拟的计算方法。原创 2023-03-13 07:04:43 · 2320 阅读 · 0 评论 -
【Python】如何安装 Allure 工具进行自动化测试
Allure 是一种流行的工具,用于以人类可读的格式生成测试报告,从而更容易理解和分析测试结果。在这篇博客中,我们将探索如何在 Windows 机器上安装 Allure 及其依赖项。原创 2023-03-06 22:39:58 · 973 阅读 · 0 评论 -
【Python】软件测试必备:了解 fixture 在自动化测试中的重要作用
fixture 是一种在自动化测试中确保一致且受控条件下运行的方法。测试框架中的 fixture 提供了初始化和清理测试资源的方法,可以在多个测试之间共享的可重用设置和拆卸代码。Python 测试框架 pytest 中,fixture 是一个使用 @pytest.fixture 装饰器的函数,可以使用依赖注入注入测试函数或其他 fixture,实现更加模块化、可维护和可重用的测试代码。原创 2023-03-04 20:29:41 · 1389 阅读 · 0 评论 -
【Python】如何使用 Python 中的 Playwright 制作测试视频
Playwright 是一种流行的用于测试 Web 应用程序的自动化工具,它提供了多种功能来使测试更加高效和可靠。这些功能之一是能够捕获测试运行的视频。在此博客中,我们将探索如何使用 Python 中的 Playwright 制作测试视频。原创 2023-03-05 21:32:20 · 1192 阅读 · 0 评论 -
【Playwright】比较Selenium和Playwright
这篇博客比较了两个流行的测试自动化框架,Selenium 和 Playwright。这两个框架都可以自动化 Web 应用程序测试,但它们的方法和功能不同。虽然 Selenium 已经存在了十多年并被广泛使用,但 Playwright 是微软开发的一个较新的框架。 Playwright 提供了一个高级 API,可以简化编写测试的过程,支持多种 Web 浏览器和平台,并具有内置的自动等待功能。相比之下,Selenium 拥有更广泛的社区,支持范围更广的编程语言。原创 2023-02-27 22:38:57 · 7381 阅读 · 0 评论 -
【Python】使用Playwright断言方法验证网页和Web应用程序状态
本文介绍了 Playwright 中可用的多种断言方法,并提供了针对每种方法的示例代码。这些断言方法包括验证当前页面 URL 和标题是否与预期值匹配,验证页面元素是否可见、启用或禁用,以及验证页面元素的文本和 HTML 内容是否与预期值匹配。使用这些方法可以编写功能强大且灵活的测试来验证您的 Web 应用程序的状态。原创 2023-03-03 23:44:28 · 2649 阅读 · 0 评论 -
【Python】Python自动化测试框架:Pytest
Pytest 是一种流行的 Python 测试框架,允许开发人员编写健壮、可维护的测试套件。它提供简单但功能强大的 API 和高级测试功能,例如固定装置、插件和测试发现。您可以使用 pip 安装 pytest,并使用它通过使用 assert 语句定义函数来运行测试。 Pytest 是简单和复杂测试场景的灵活而强大的选择。使用提供的安装说明和示例快速开始为您的 Python 代码编写测试。原创 2023-02-28 23:26:19 · 795 阅读 · 0 评论 -
【Python】Playwright 与 pyunit 结合使用
今天来填昨天的坑,如果你喜欢unittest, 而不是pytest, Playwright也是可以胜任的哦。快来看看吧原创 2023-03-02 23:46:33 · 506 阅读 · 0 评论 -
【Python】案例介绍Pytest进行压力测试
在现代Web应用程序中,性能是至关重要的。为了确保应用程序能够在高负载下正常运行,我们需要进行性能测试。 今天,应小伙伴的提问, 田辛老师来写一个Pytest进行压力测试的简单案例。 这个案例的测试网站我们就隐藏了,不过网站的基本情况是: - 阿里云服务器:CentOS7, 宝塔面版, PHP7.4, MySQL5.7数据库-原创 2023-03-10 23:48:48 · 2736 阅读 · 0 评论 -
【Python】用Python实现帕累托图
作为一名多次创业者和项目管理培训师, 今天田辛老师要做一件跨界的事情。 一方面, 田老师整理了项目管理中的重要质量管理工具 “帕累托图”, 另一方面,田老师给到了帕累托图的Python的实现方式。 如果您只对Python实现方式感兴趣的话, 不妨直接看最后一部分。原创 2023-03-10 00:10:38 · 4281 阅读 · 0 评论 -
【Python】用Python实现关键路径计算和进度管理
田老师用Python实现了关键路径计算,让项目管理更加方便。不仅可以计算关键路径和七格图,还可以绘制紧前关系图,并将结果保存为网页。这个Python程序可以帮助项目管理者更加方便地进行关键路径计算和进度管理,同时也方便与团队成员进行共享和交流。主程序实现了一个Project类,包含了活动列表、项目持续时间、日志等属性,以及计算关键路径、计算七格图、计算总浮动时间、计算自由浮动时间等方法。通过调用Project对象的方法,可以计算每个活动的最早开始时间、最晚开始时间等数据,并计算关键路径和项目总工期。此外,还原创 2023-03-14 23:49:12 · 1513 阅读 · 0 评论 -
【Python】Pytest和Unittest的区别
本文主要介绍了Python中两个常用的测试框架——Pytest和Unittest的区别。首先,从安装和使用、编写测试用例、自动发现测试用例、插件和扩展、运行速度、报告和社区支持等方面进行了对比。总的来说,Pytest比Unittest更加灵活、简单,并且具有更多的扩展。如果需要快速编写测试用例并且需要更多的扩展功能,那么Pytest会是更好的选择。本文还给出了两个框架的样例代码对比,以及输出结果的对比,让读者更好地理解两个框架的区别。原创 2023-03-07 23:56:13 · 685 阅读 · 0 评论 -
【Python】全面整理for循环用法(range, enumerate, zip等)
编程之路要想走的远,除了天赋, 基本功也是很重要的。 在本文中, 田辛老师非常详细了列举了Python中for循环的主要用法。说实话,直到写完这篇文章, 都没想到能写2000多字。 就算做个总结吧。原创 2023-03-08 21:46:00 · 3886 阅读 · 0 评论 -
【Playwright】扑面而来的Playwright测试框架
在这篇博文中,我们讨论了 Microsoft Playwright 测试自动化框架以及如何将其与 Python 结合使用来为 Web 应用程序编写端到端测试。我们涵盖了三个要点:Playwright 是什么,如何在 Windows 11 和 CentOS 7 上安装它,以及如何编写示例测试以在 PC 和 iPhone 上测试 Web 应用程序。原创 2023-02-26 14:51:08 · 1511 阅读 · 0 评论 -
【Python】一篇文章读懂yield基本用法
一个例子搞定 yield 机制原创 2023-02-15 19:28:52 · 13128 阅读 · 1 评论 -
【Python】使用 requirements.txt 和 pip 打包批量安装
当我们程序越来越复杂,requirements.txt是我们非常有用的工具哦。 本文介绍了requirements.txt的自动生成、写法、以及如何利用它方便的复制环境原创 2023-02-15 11:46:03 · 10190 阅读 · 1 评论 -
【Python】如何在 Python 中使用“柯里化”编写干净且可重用的代码
所谓柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。对于中级Python开发者来说,了解了Python的基础语法、库、方法,能够实现一些功能之后,进一步追求的就应该是写出优雅的代码了。 为此,田老师写了这个代码,讲解从最开始的实现功能,到让函数适应不同环境,然后柯里化优化参数,最后通过匿名函数让函数简洁优雅的过程。原创 2023-02-14 09:04:06 · 945 阅读 · 0 评论 -
【Python】导入模块的搜索顺序及查看方法
Python解释器查找包(模块)的顺序,以及如何枚举已经安装的包原创 2023-02-13 09:10:09 · 1636 阅读 · 0 评论 -
【Python】执行 ping 操作的简单方法
pythonping的使用方法原创 2023-02-12 10:35:55 · 2520 阅读 · 0 评论 -
【Python】`__init__.py` 文件详解
本文针对Python开发者, 详细描述了__init__.py文件在参与包、模块、命名空间导入/重命名/初始化时的使用方法,以及其中代码的执行机制。本文使用边执行案例,边分析,边给结论的方法,描述了__init__.py文件的四大作用。模块搜索标记初始化命名空间, 空间名称即为目录名设置__all__ 通配符导入目标为同一目录的其他模块定义命名空间。原创 2023-01-20 19:53:45 · 15150 阅读 · 2 评论 -
【Python】使用unittest.mock测试控制台输出是否正确
python中print()的控制台输出,如何用unittest进行测试呢?提供了三种方法原创 2023-01-20 12:19:58 · 644 阅读 · 0 评论 -
【Python】字符串显示宽度计算的方法
东亚字符宽度”是 Unicode 标准附件之一。它定义了East_Asian_Width参考特征,该特征提供有关 Unicode 中每个字符的字符宽度的提示。(东亚字符宽度)这个概念被定义是在《Unicode® 标准附录 #11》中。UAX #11:东亚宽度 (unicode.org)对于东亚语言来说,主要是固定间距字体。要处理的内容包括半角英数字、正常的汉字、半角显示的特殊字符,以及从日语shift-jis编码过来的颜文字等各种特殊字符。以田老师的项目经验,中文在此方面还算是相对简单的。原创 2023-01-18 21:30:03 · 3158 阅读 · 0 评论
分享