如何用 Python 编写干净的代码 – 最佳实践指南

如何用 python 编写干净的代码 - 最佳实践指南

编写 python 代码时,必须使其干净且易于阅读。干净的代码意味着您的代码组织良好、易于理解且易于维护。在本指南中,我们将分享最佳技巧,帮助您用 python 编写干净的代码,无论您是初学者还是经验丰富的开发人员。

为什么干净的代码很重要

编写干净的代码至关重要,原因有很多:

可读性:干净的代码易于阅读,这有助于其他开发人员快速理解您的代码。可维护性:如果您的代码干净,则更容易更新、调试和改进。协作:干净的代码对于团队合作至关重要,尤其是在与他人共享代码或处理大型项目时。错误预防:当你的代码干净且有组织时,你就不太可能引入错误。现在,让我们探索一些最佳实践,帮助您用 python 编写更简洁的代码。

1.使用有意义的变量和函数名称

提高代码可读性的最简单方法之一是为变量和函数使用清晰且有意义的名称。避免使用单字母或神秘的名称,例如 x、y 或 foo。

示例

# bad exampledef calc(x, y):    return x + y# good exampledef calculate_total_price(item_price, tax):    return item_price + tax

登录后复制

在第二个例子中,只需查看函数名和变量名就很容易理解函数的作用。

立即学习“Python免费学习笔记(深入)”;

2.遵循 pep 8 风格指南

pep 8 是 python 的官方风格指南,提供了编写干净且可读的代码的约定。一些关键的 pep 8 建议包括:

缩进:每个缩进级别使用 4 个空格。行长度:保持行少于 79 个字符。空格:在运算符周围和逗号后使用空格。注释:添加注释来解释代码的复杂部分。遵循 pep 8 可确保您的代码符合 python 的社区标准。

示例

# pep 8 exampledef calculate_discounted_price(price, discount):    """calculate the final price after applying the discount."""    discounted_amount = price * (discount / 100)    final_price = price - discounted_amount    return final_price

登录后复制

3. 编写模块化代码

将代码分解为更小的、可管理的函数。每个函数应该执行一项特定任务,使其更易于阅读、测试和调试。

示例

# bad exampledef process_order(customer, items):    total_price = 0    for item in items:        total_price += item['price']    if total_price > 100:        discount = total_price * 0.1        total_price -= discount    # send email    print(f"order confirmed for {customer['name']}")    return total_price# good exampledef calculate_total_price(items):    return sum(item['price'] for item in items)def apply_discount(total_price):    if total_price > 100:        return total_price * 0.9    return total_pricedef send_confirmation_email(customer):    print(f"order confirmed for {customer['name']}")def process_order(customer, items):    total_price = calculate_total_price(items)    total_price = apply_discount(total_price)    send_confirmation_email(customer)    return total_price

登录后复制

在改进的示例中,代码被拆分为更小的函数,使其更易于理解和维护。

4. 使用列表推导式来简化

python 中的列表推导式提供了一种创建列表的简洁方法。使用它们可以使您的代码更干净、更具可读性。

示例

# without list comprehensionsquares = []for x in range(10):    squares.append(x ** 2)# with list comprehensionsquares = [x ** 2 for x in range(10)]

登录后复制

第二个示例更短且更易于阅读。

5.避免硬编码值

避免直接在代码中对值进行硬编码。相反,请使用常量或配置文件。这使您的代码更加灵活且更易于更新。

示例

# bad exampledef calculate_discount(price):    return price * 0.1  # discount is hardcoded# good examplediscount_rate = 0.1def calculate_discount(price):    return price * discount_rate

登录后复制

在第二个示例中,折扣率存储在常量中,以便在需要时更容易更改。

6. 添加注释和文档字符串

虽然干净的代码应该是不言自明的,但添加注释和文档字符串可以帮助解释复杂函数或算法的目的。

评论:解释为什么使用特定方法。docstrings:描述函数的作用及其参数。示例

def find_largest_number(numbers):    """    find the largest number in a list.    args:    numbers (list): a list of numbers.    returns:    int: the largest number.    """    return max(numbers)

登录后复制

文档字符串可帮助其他开发人员了解如何使用该函数,而无需阅读整个代码。

7. 保持代码干燥(不要重复)

避免重复代码。如果您发现重复的模式,请尝试重构代码以重用函数或类。这将使您的代码更易于维护并减少出错的机会。

示例

# bad exampledef get_full_name1(first_name, last_name):    return first_name + " " + last_namedef get_full_name2(first_name, last_name):    return first_name + " " + last_name# good exampledef get_full_name(first_name, last_name):    return first_name + " " + last_name

登录后复制

8. 优雅地处理错误

始终使用 try 和 except 块来处理异常,以防止程序崩溃。您还应该提供信息丰富的错误消息以使调试更容易。

示例

# bad exampledef divide_numbers(a, b):    return a / b# good exampledef divide_numbers(a, b):    try:        return a / b    except zerodivisionerror:        return "error: cannot divide by zero"

登录后复制

第二个示例可防止崩溃并提供有用的错误消息。

9. 使用 f 字符串进行格式化

python 3.6 引入了 f-string,这是一种简单易读的字符串格式设置方法。它们比旧的字符串格式化方法干净得多。

示例

# old wayname = "alice"greeting = "hello, %s!" % name# with f-stringsgreeting = f"hello, {name}!"

登录后复制

f 字符串使您的代码更易于阅读和维护。

10.使用有意义的导入

仅导入必要的模块和功能。避免使用通配符导入,例如 from module import *,因为它们会使命名空间变得混乱并使跟踪依赖项变得更加困难。

示例

# Bad examplefrom math import *# Good examplefrom math import sqrt, pi

登录后复制

结论

用 python 编写干净的代码是一项宝贵的技能,可以帮助您创建可读、可维护且无错误的软件。通过遵循本指南中概述的最佳实践(使用有意义的名称、遵循 pep 8、保持代码模块化以及优雅地处理错误),您可以显着改善您的编码风格。

专注于可读性、简单性和一致性,您将能够顺利编写干净、专业的 python 代码。

以上就是如何用 Python 编写干净的代码 – 最佳实践指南的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2194444.html

(0)
上一篇 2025年2月25日 20:31:59
下一篇 2025年2月22日 17:03:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 掌握 Python 脚本执行:综合指南

    学习跨环境执行 Python 脚本的基础知识和高级技术。提高效率并避免常见错误。 简介: Python 脚本的执行用于运行 Python 代码来执行任务、自动化工作流程或构建应用程序。 Python 作为最流行的语言之一,提供了多种在不同环…

    2025年2月25日
    200
  • Python 的四种数据结构

    python 的四种数据结构 列表: 可变:您可以在创建列表后更改、添加或删除项目。有序:保持项目的顺序,并且可以通过索引访问项目。语法:使用方括号 [] 或 list() 函数创建。重复:允许重复元素。示例: [1, 2, 3, &#82…

    2025年2月25日
    200
  • Python:有趣的代码模式

    我主要使用 python 工作,几乎每天都会检查代码。在我们的代码库中,格式化和 linting 由 ci 作业使用 black 和 mypy 处理。所以,我们只关注改变。 在团队中工作时,您已经知道某个团队成员会编写什么样的代码。当新人加…

    2025年2月25日
    200
  • 使用 Python 与 Gmail POPerver 对话

    pop 是一个相对古老的协议。第一个版本是在 1984 年指定的。至今仍在使用的版本 pop3 是在 1996 年指定的。为了尝试一下,我开始连接到 gmail pop3 服务器。 第一步是查找 pop3 设置 – 连接到哪个服…

    2025年2月25日
    200
  • 通过 Web 搜索功能增强您的 RAG 应用程序!

    介绍 当使用检索增强生成(rag)应用程序构建有趣的项目时,我们经常面临浏览限制等限制,这使得很难获取最新信息或当前数据,例如天气更新(我希望有更有趣的东西)。为了解决这个问题,我们可以为 rag 应用程序配备搜索互联网的工具。让我们开始吧…

    2025年2月25日
    200
  • 了解 Python 中的装饰器

    简介:您是否曾经遇到过 python 代码库,其中“@login_required”或“@”符号与函数或类之上的任何其他后缀一起使用,您立即开始想知道它是什么或它的目的是什么? 或者您过去是否使用过一个框架,其中文档说您应该使用特定的装饰器…

    2025年2月25日
    200
  • PYTHON:OOP {初学者版}

    python:面向对象编程 [oop]:是一种编程范式(模型),它使用 对象 和 类 以模拟现实世界实体和模型的方式构建软件。关系。这是基于这样的想法:对象可以包含数据和操作该数据的代码。 关于面向对象编程,您需要了解一些关键概念: 班级对…

    2025年2月25日
    200
  • 制作 Rooh London 网站:棉质长袍之旅和技术挑战

    创建一个体现 Rooh London 优雅和艺术性的网站绝非易事。我们的平台,尤其是棉质长袍部分,旨在提供无缝且奢华的购物体验。本文探讨了 Rooh London 网站的构建过程、我们遇到的技术挑战、使用的编程语言以及我们未来的目标。 设计…

    2025年2月25日
    200
  • 为什么现实世界的机器学习需要分布式计算

    pyspark 如何帮助您像专业人士一样处理庞大的数据集 pytorch 和 tensorflow 等机器学习框架非常适合构建模型。但现实是,当涉及到现实世界的项目时(处理巨大的数据集),您需要的不仅仅是一个好的模型。您需要一种有效处理和管…

    2025年2月25日
    200
  • python社区在哪

    Python 社区是一个广泛且积极的团体,通过以下渠道存在:在线论坛和社区:官方 Python 论坛、Stack Overflow Python 板块、Reddit Python 板块在线学习平台和文档:Python 官方网站、教程网站、社…

    2025年2月25日
    200

发表回复

登录后才能评论