在刚刚成为新的 Python 开发人员时,受到身边人的影响可能会养成一些习惯,有好的,也有坏的。
就像前面文章所述,“编码是一种艺术形式”。我们鼓励灵活性与可定制性——您通常可以在语言的上下文中按照自己想要的方式编写代码。
本质的问题是,你正在公开与计算机通信。你需要以一种其他人可以理解的方式编写代码。
此外,使用不正确的语法或不确保有效编写代码也会导致编程错误。混乱的代码使得以后很难发现这些错误。而可读性、整洁的编码才是王道,尽早养成良好的编码习惯,这样人们就可以在整个职业生涯中遵循这些习惯。
以下是在开始学习 Python 时养成良好编码习惯的六个技巧。
文案撰稿人和其他内容撰稿人通常都在使用一种称为《样式指南》的东西。
《样式指南》制定了有关文字格式和组织的规则。它可能会解释是否使用牛津逗号或何时使用标题大写以有其他结构化的方法。
在 Python 中,也有一个类似的样式指南,称为 PEP 8、PEP8 或 PEP-8。
几位资深的 Python 开发人员于 2001 年发布了该指南,以分享如何编写完全可读且一致的代码。
一些重要原则,包括如下:
使用明显的代码格式。
保持在 79 个字符的最大行长度以下。
使用换行符。
对函数、类和方法的定义使用双空行或单空行。
对变量、类、函数等使用适当的命名约定。
如果还没有读过,请你通读 Python Pep 8 样式指南,并确保遵循这些技巧。
因此,请使用 Python 3 而不要再用 Python 2,因为旧版本已于 2020 年 1 月达到停用状态。此外,在使用第三方模块、框架或存储库时,请始终参考最低要求 Python 版本。
在编写代码的那一刻起,你一定知道自己想要实现什么。
但是当你稍后或者若干月份再阅读该代码时,你可能会忘记。或者更糟糕的是,如果其他人正在阅读该代码,他们可能会感到困惑,而这就是注释的作用。
每种语言都有一种“注释掉”某些代码段的方法。其目的是使用描述性但简洁的注释来解释正在发生的事情。有些开发人员完全忘记了这一点,但如果你早点开始并始终遵循规则,你将能够编写易于理解的语法。
在 Python 中,可以在代码开头使用“#”符号来注释掉一行。要编写多行注释,你可以在开头或结尾使用三重引号 ('''),或者每行使用多个主题标签。如下代码:
#This is a regular comment.
‘’’
This is a multi-line comment.
To explain what the code is doing.
‘’’
注释是编码过程的一个重要部分,它可以让你更好地记住与形象化编码过程中脑子中的想法。
据专家介绍,手写笔记,然后通过评论等方式将其数字化转录,可以将记忆力提高 75 %。这意味着,当你发现错误或想要稍后进行改进时,你可以更轻松地回忆起相关的代码片段。
此外也可以使用Python的行内注释,可以出现在代码的同一行中。例如:
print (“Hello World. This is my first code.”) # This is how you create an inline comment
Python linter 会检查代码间距、行长和各种设计要求(如参数定位)。它帮助你,让代码看起来干净、有条理,并且在项目中的多个文件中保持一致。
linter 与自动格式化程序或美化程序不同 — 尽管在现代编码中,同一工具可以同时处理这两种支持功能。可以将 linter 视为修复实际问题的工具,而自动格式化程序则修复更多样式问题。
语法检查器可以分析和识别编码错误、潜在错误、拼写错误或语法问题,以及风格不一致,例如缩进和空格的使用方式。自动格式化程序专注于语法的书写或风格部分,如逗号、引号、适当的行长等。两者都很有用,但我们很少会在没有语法检查器的情况下编写代码。
一些最好的 Python linter 包括 Pylint、Flake8、Ruff、Xenon 和 Radon 等。
下面的屏幕截图中使用的 linter 是通过 VSCode 安装的 Ruff。
Python 和类似语言的美妙之处在于——你永远不需要从头开始。
您不必亲自编写每个函数,可以依赖内置函数、库、框架和存储库即可完成任务。
内置函数可以节省您的时间,为开发者提供高可用的功能,它们通常由一组开发人员管理,保证质量。更重要的是,它们可以提高代码和软件的性能。
可以参考 Python 官方文档来查看内置语言函数。一些示例包括:
append():获取单个项目并将其添加到列表中,通过添加项目和将列表增加一来修改现有列表
eval():运行任何指定的表达式,就像它是官方的 Python 语句一样
id():用于引用对象或整数的唯一标识
max():从多个给定值中返回可迭代对象的最大值
print():显示或返回文本变量到 Python 控制台
round():将数字或值四舍五入到指定的小数位
最常见的初学教程,当使用该print()函数时,它看起来像这样:
print(“Hello world I am coding.”)
这将返回:
Hello world I am coding。
无论使用什么 IDE 或编码环境,该内置函数始终都会被识别,这适用于从 append() 到 round() 的所有内置函数。
另一方面,Python库数量众多且种类繁多——它们是预先编写的代码或函数的更大集合。要使用或引用库及其函数,只需将它们导入 Python 脚本即可。示例包括 Requests、FastAPI、Asyncio、aiohttp、Tkinter 等。
编写代码时,如果发现哪里不对劲,请立即修复。
万不要拖延或等到稍后测试。因为这样,你可能会错过错误或错误的位置——想象一下,如果写得比较多,或中间有打扰可能无法再次找到它。开发人员 23%-42% 的时间因糟糕的代码而浪费,而这些宝贵的时间本可以花在其他地方。
最重要的是,错误和错误会随着时间的推移而累积,因此您拖延的时间越长,整个代码段出错或停止工作的可能性就越大。许多 IDE 和 linters 可以帮助完成此过程,特别是如果您使用日志记录模块而不是仅仅打印结果。
Python 的日志模块会在程序运行时跟踪事件。本质上,这可让开发人员在测试代码时识别问题或错误。它可能会标记与错误、调试或代码相关事件有关的警告,但它还可以帮助您了解项目的运行时行为——所有这些在编写过程中都可能被忽略。
例如,利用它可以查看和分析用户交互,尤其是当外部用户正在测试您的应用程序时。最重要的是,日志记录模块是一种代码审计工具,一旦开始测试或运行你编写的代码,它便非常有用。
使用 Python 时需要考虑很多事情,无论你有多熟练或熟练,遵循 Python 最佳实践始终是正确的选择。但最终,最好的学习方法始终是采取实践方法,这意味着实战。
使用 Python,即使只是为了自己创建简单或小型项目,练习使用本文中讨论的习惯,一直编写干净的代码。还可以阅读其他开发人员的代码,了解他们如何灵活处理相关的过程。
作者:万能的大雄
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。