设为首页 加入收藏

TOP

Python How-To1-制定务实的学习策略(一)
2023-08-26 21:09:12 】 浏览:57
Tags:Python How-To1- 习策略

1 制定务实的学习策略

本章包括

  • 务实意味着什么
  • Python能做什么
  • 何时应该考虑其他语言
  • 你能从本书中学到什么

Python是一种了不起的编程语言。其开源、通用、平台独立的特性使其拥有了一个庞大的开发者社区,以及一个包括数以万计的免费库在内的令人难以置信的生态系统,这些库可用于Web开发、机器学习(ML)、数据科学和许多其他领域。我希望我们都有这样的信念:知道如何用Python编写代码固然很好,但知道如何编写真正高效、安全和可维护的应用程序会给你带来巨大的优势。本书将帮助你从Python初学者成为自信的程序员。

在Python生态系统中,我们使用特定领域的Python工具(如Web框架和ML库)来完成工作中的各种任务。要有效地使用这些工具并非易事,因为它要求我们相当熟悉Python的基本技能,如处理文本、处理结构化数据、创建控制流和处理文件。Python程序员可以编写不同的解决方案来处理相同的任务。在这些解决方案中,通常有一种会比其他解决方案更好,因为它可能更简洁、更易读或更高效,我们将其统称为Pythonic:一种所有Python程序员都努力习得的惯用编码风格。本书讲述了如何编写Pythonic代码来完成专业编程任务。

Python发展得如此之好,有如此之多的特性需要学习,要想从本书中学到所有知识是不可能的,也是不明智的。相反,我将采取务实的方法来定义我在本书中要教授的内容:你在项目中最有可能用到的基本技能。同样重要的是,我会经常提到如何在考虑可读性和可维护性的前提下使用这些技能,这样你就能养成良好的编码习惯,我敢打赌你和你的队友都会非常欣赏这种习惯。

1.1 以成为务实的程序员为目标

我们编写代码是有目的的,比如建立网站、训练ML模型或分析数据。无论我们的目的是什么,我们都要务实;我们写代码是为了解决实际问题。因此,在我们从头开始学习编码或在职业生涯中期提高编码技能之前,我们应该明确自己的意图。不过,即使您在现阶段还不确定自己想用Python实现什么目标,好在Python的核心特性是通用知识。掌握核心特性后,您就可以将它们应用到任何特定领域的Python工具中。

要想成为务实的程序员,就应该专注于最有用的技术。然而,掌握这些技巧只是你人生旅途中的第一个里程碑;编写可读的代码才是编码的长远目标,它不仅能运行,还能提高可维护性。

1.1.1 专注于编写可读的Python代码

作为一名开发人员,我对可读性非常着迷。写代码就像说一门真实世界的语言。当我们说一门语言时,难道不希望别人能听懂吗?如果您的回答是肯定的,那么您可能会同意我的观点,即我们也希望别人能理解我们的代码。至于我们代码的读者是否具备必要的专业技术知识来理解我们的代码,这不是我们所能控制的。我们可以控制的是如何编写代码--如何使代码具有可读性。考虑一些简单的问题:

  • 变量是否正确命名,以表明它们是什么?如果你的代码中充满了名为var0、temp_var或x 的变量,那么没有人会欣赏你的代码。

  • 函数是否有正确的名字来说明它们的作用?如果看到名为do_data(data)或run_step1()的函数,人们就会一头雾水。

  • 是否以一致的方式组织各文件中的代码?人们希望同一类型的不同文件使用相似的布局。例如,您是否将导入语句放在文件的顶部?- 项目文件夹是否按特定文件存放在所需的文件夹中?当项目范围扩大时,应为相关文件创建单独的文件夹。

1.1.2 在编写代码之前就考虑可维护性

在极少数情况下,我们会编写一次性使用的代码。当我们编写脚本时,我们几乎总是成功地说服自己,我们永远不会再使用这个脚本;因此,我们不会在意创建好的变量名、正确地布局代码、重构函数和数据模型,更不用说确保不留注释(或过时的注释)了。但有多少次,我们不得不在下周甚至第二天使用相同的脚本?我们中的大多数人可能都遇到过这种情况。

上一段描述了一个小型的可维护性问题。在这种情况下,它只会在短时间内影响你自己的工作效率。然而,如果你是在团队环境中工作,那么由个人贡献者带来的问题就会累积成大规模的可维护性问题。团队成员无法遵循相同的变量、函数和文件命名规则。无数注释过的代码依然存在。过时的注释随处可见。

要想在自己项目的后期阶段解决可维护性问题,就应该在学习代码时建立良好的心态。从长远来看,以下几个问题可以帮助你建立良好的"可维护性"思维:

你的代码中是否没有过时的注释和被注释的代码?如果答案是否定的,请更新或删除它们!这些情况比没有注释的情况更糟糕,因为它们可能会提供相互矛盾的信息。

代码中是否存在大量重复?如果答案是肯定的,则可能需要重构。编码的经验法则是DRY(不要重复)。通过删除重复代码,您将只处理一个共享部分,这比重复部分的修改更不容易出现错误。

您使用Git等版本控制工具吗?如果没有,那就看看集成开发环境(IDE)的扩展或插件。对于Python,常见的集成开发环境包括 Spyder IDE、 PyCharm 和 Visual Studio Code。许多集成开发环境都集成了版本控制工具,使版本管理变得更加容易。

要成为务实的 Python 程序员,就必须接受这类可维护性培训。毕竟,几乎所有Python工具都是开源的,而且发展迅速。因此,可维护性应该是任何可行项目的基石。在本书中,我们将在适当的地方介绍如何在日常的Python代码编写中实施可维护性实践。请记住,可读性是持续可维护性的关键。当您专注于编写可读代码时,您代码库的可维护性也会随之提高。

1.2 Python的长处

  • 跨平台

  • 表现力和可读性

  • 快速建立原型

  • 独立

  • 开源、免费、可扩展

下表总结了一些著名的领域及其相应的Python工具。


我们会用到几个密切相关的术语,包括框架、库、包和模块。不同的语言可能会使用其中的一些术语,其含义也略有不同。在这里,我将讨论大多数Python程序员都接受的这些术语的含义。

框架的范围最大。框架提供了一套完整的功能,其目的是在高层次上完成一项专门的工作,例如网络开发。

库是框架的构件,由包组成。库提供的功能无需用户担心底层软件包。

软件包提供特定的功能。更具体地说,软件包捆绑模块,每个模块由一组密切相关的数据结构和函数组成,它们被放在一个文件中,如 .py 文件。

1.3 Python的短处

许多事情Python做不了,或者至少与其他工具相比做得不好。尽管有些人正在努力推动Python的发展,使我们能将它用于其他用途,但在现阶段,我们应该知道它在两个重要领域的局限性:

  • 移动应用程序

尽管有Kivy和BeeWare等尝试,但一直没有开发智能手机应用程序的优秀Python框架。

  • 底层开发

在开发直接与硬件交互的软件时,Python不是最佳选择。由于Python的解释性质,其整体执行速度不够快,不适合开发需要即时响应的底层软件,如设备驱动程序。如果您对开发底层软件感兴趣,就应该考虑使用其他更擅长与硬件接口的语言。例如C和C++就是开发设备驱动程序的不错选择。

1.4 你将在本书中学到的知识

我们已经简单介绍了实用主义程序员的含义。现在我们来谈谈如何实现这一目标。在编写程序的过程中,你不可避免地会遇到新的编程挑战。在本书中,我们为你确定了最有可能遇到的任务所需的编程技巧。

参考资料

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python程序员Visual Studio Code.. 下一篇python3+RobotFramework环境搭建

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目