Python 技巧 - 简介
介绍
正如Bruce Eckel所说:
生命短暂——你需要 Python。
Python 是一种流行的编程语言。正如引言所暗示的,Python 最大的优势之一是它能够提高开发人员的生产力。本系列指南《Python Tricks》总结了各种酷炫的技巧,并附有启发性的示例。它将帮助您以更“Python 风格”的方式编写代码,这意味着更简洁、优雅、高质量,而不会损失任何效率。
Python 技巧是 Python 的高级技术、模式或哲学。有些确实很老套,有副作用。虽然它们可能不适合你的特定场景,但它们可以提高你的思维和创造力。
作为本系列的介绍,我将在开始之前解释一些先决知识和预防措施。在本指南的最后,您将找到包含所有技巧的其他六个指南的链接。
有关 Python 的更多信息
Python 是一种高级、解释型、动态编程语言。Python 在开发时间和执行时间之间提供了很好的折衷,在可接受的性能损失范围内提高了开发效率。Python 语法简单、语言特性高级、支持库丰富,可以帮助您更专注于自己的逻辑。
Python 曾经是用来提高生产力的粘合剂或脚本语言,如今拥有了完整的技术栈、社区生态、配套的工具和框架,凭借其简洁、易读、交互性强等优势,在数据科学和人工智能领域也扮演着重要的角色。
Python 技巧
Python 技巧是 Python 高级技术、模式和哲学的总结。此外,它们还收集了许多鼓舞人心的例子,以启发您如何使用以及在何处使用。
本系列指南包含三部分:基本技巧、可迭代技巧和黑魔法。
- 基本技巧涵盖了最常见的高级 Python 技巧,例如高级布尔用法、链式运算和多重赋值。
- 可迭代技巧涵盖与可迭代相关的技能,例如生成器/迭代器、理解、map/reduce、lambda 和 pack/unpack。
- 黑魔法技巧涵盖了不常见的技巧,其中许多都有副作用。但它们很酷,并且对于特定场景很有用,例如 EAFP、哨兵、分数索引积分、2d 索引中的复数和动态属性。
我为什么要使用技巧?
技巧可以让代码简洁、优雅、高质量,同时不会损失任何效率。在我看来,技巧遵循了 Python 的哲学:牺牲一点点性能,换取可读性、可用性、编码效率,以及减少出现错误的可能性。
或者也许您只是想用 Python 尝试一些很酷的东西。
示例
本指南中的许多代码示例来自LeetCode和Stack Overflow。我尽力为大多数情况提供简短的问题描述,但实际上您可以只关注技巧。如果您也对问题感兴趣并想深入了解,您可以访问LeetCode和Stack Overflow了解更多信息。(对于 LeetCode 示例,我已标记问题 ID。)
每本指南中最有价值的部分是启发性示例。即使你可能已经知道这个技巧,但你很少使用它,因为你不知道在哪里使用它。这些示例将启发你。
为了保持代码简洁,有些代码片段可能不完整且不可运行。
一些警告
正如我在 Stack Overflow 的这篇文章中关于我们是否应该使用类似~的 Python 技巧所说的那样:
我认为,如果是自己维护的代码,你可以使用任何技巧来避免潜在的错误或更轻松地实现目标,因为可能具有较高的可读性和可用性。但在团队合作中,请避免使用“太聪明”的代码,因为它可能会给你的同事带来麻烦。
在Python Tricks中,并非所有技巧都是棘手的,也并非所有技巧都适合您的场景。因此,由您来决定使用哪些技巧。我添加了有关技巧副作用的额外注释以帮助您做出决定。在您学习如何使用技巧后,您还应该能够确定是否要使用它。
这是给谁的?
如果您已经掌握了基本的 Python 技能或从其他语言转过来,并且想要提高 Python 技能并编写更具 Pythonic 风格的代码,那么本指南适合您。它将帮助您学习如何以及在何处使用这些高级 Python 技巧。如果您想编写更酷或更 hack 的 Python 代码,或者只是想玩 Python,那么在这里您将得到启发并享受它。
这不适合谁?
本系列指南不适合 Python 初学者。我试图使其简短精炼,因此只挑选最有价值的技巧。
这些指南也没有涵盖所有高级 Python 功能。我也不会提供完整的教程。你可能需要参考其他教程来帮助你理解。
谢谢
特别感谢:
- Stefan Pochmann。很多启发性的代码都来自 Stefan。我从他身上学到了很多东西。
- Stack Overflow上有精彩的问题和答案。
- LeetCode是算法题,而且 LeetCode 有很好的 OJ 平台,功能和性能测试都很棒,很多模板和技巧都是在 LeetCode 的讨论中得到启发的,感谢各位代码大师。
- 我参考过的许多其他文章和代码片段。
环境
版本
Python 3.6 或更高版本。但有些示例没有版本限制。
开发环境
在学习调试阶段,建议使用Jupyter Notebook等交互式开发环境。
结论
现在我们就可以开始学习 Python 技巧了。你可以从基本技巧开始。
本指南是 Python 技巧指南系列中的第一篇:
- Python 技巧 - 简介
- Python 技巧 - 基础 - 第一部分
- Python 技巧 - 基础 - 第二部分
- Python 技巧 - Iterable - 第一部分
- Python 技巧 - Iterable - 第二部分
- Python 技巧 - 黑魔法 - 第一部分
- Python 技巧 - 黑魔法 - 第 2 部分
希望您喜欢这些指南。如果您有任何疑问,欢迎通过 recnac@foxmail.com 与我联系。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~