许多人在刚开始学习编程时选择Python。Python确实对初学者友好。当您按照其官方网站上的下载和安装说明进行操作时,您很快就会编写“HelloWorld”程序。随着您对Python的了解越来越多,您可能会对它使用不同方法实现相同功能的灵活性着迷。但是,您迟早会发现某些解决方案比其他解决方案更清洁。此外,从长远来看,更简洁的代码往往更易于阅读和维护。当然,有很多方法可以用Python编写干净的代码。在本文中,我想分享五个在日常Python项目中特别有用的技巧。为了说明为什么这些技巧可以产生更简洁的解决方案,在每个部分中我都提供了替代的、通常更长的解决方案以供比较。1.List、Dictionary和SetComprehensions列表推导式是许多Python程序员最喜欢的功能之一。这是从迭代器创建列表对象的一种非常简洁的方法。基本语法是[iterablexexpression]。让我们看一些例子来理解它的用法。如您所见,在不使用列表推导的情况下,我们必须创建一个空列表并通过运行for循环来添加每个数字的平方,这需要三行代码。相比之下,我们可以仅使用一行代码构建具有列表推导式的相同方块列表。这不是很酷吗?除了列表推导之外,还有字典推导和集合推导。字典推导具有以下基本语法{key_expr:value_exprforxiniterable},而对于集合推导,其基本语法是{expressionforiterableinx}。下面让我们看一些简单的例子。类似于列表理解示例,需要多行代码来构建所需的字典并在不使用理解技术的情况下进行设置。2.将元组命名为数据结构我们知道元组对于存储一些相关数据很有用。但是,使用它们并不是很方便,尤其是在访问特定元素时,因为我们必须记住顺序并对特定元素使用正确的索引。虽然如果我们不想使用元组,我们可以构建一个自定义类来管理相关数据,但namedtuple数据类型可能是一个非常有用的轻量级数据结构。namedtuple数据类型可通过collections模块获得,采用以下基本语法:namedtuple(Typename,field_names)。语法虽然不直接,但实际上在概念上很容易理解。让我们看一些相关的例子。所需的功能是创建一个数据结构来存储学生信息,包括姓名、性别和学号。如您所知,使用namedtuple,我们可以编写代码更简洁的轻量级数据结构。当然,应该注意的是,自定义类为您提供了更多可以操作的功能。但是,如果您的目的只是为了数据存储和检索目的创建数据结构,您绝对可以考虑使用namedtuple。3.使用enumerate()和zip()进行迭代编码的一个重要原则是DRY,代表“Don'tRepeatYourself”。这是我们在处理一系列数据(例如数字列表)时的常见任务,我们需要对列表中的每个数字执行相同的操作。为了避免重复相同的代码,我们可以使用for循环对整个列表进行迭代。当我们遍历一个列表或任何序列时,有时我们还需要知道一个项目在序列中的位置。有两种方法可以做到这一点。让我们看看它们是什么。可以看到,通过使用内置函数enumerate(),我们可以轻松访问序列中的索引和元素,比第一次迭代更加简洁。更重要的是,它可以设置一个开始计数。在上面的例子中,我们设置为1。除了enumerate()函数,zip()函数在迭代中也很有用。此函数能够从多个可迭代对象创建元组,而无需显式创建这些可迭代对象的复合可迭代对象。这听起来令人困惑,但我们可以在下面的示例中看到它的使用。基本上,zip()函数所做的是在每次迭代中从可迭代对象中取出每个元素,依次形成一个元组。代码比冗长的代码更简洁和可读,不是吗?4.用f-strings格式化字符串字符串是一种基本的数据类型,我们几乎无处不在。字符串的基本用途是以某种格式使用它们。有几种格式化字符串的方法,为此我想介绍一下f-strings。简而言之,f字符串是内插字符串文字,使用字母f(或F)作为字符串文字的前缀。为了简洁的代码,我将只向您展示两个首选f字符串的用例。显示变量。最基本的用法是显示一些变量的值,方便开发时调试。如果使用传统的format()方法,则需要更长的时间。连接变量/连接字符串。f-strings不是直接使用+号和字符串的join()方法,而是一种非常简单的字符串连接方法,具有良好的可读性。实际用途包括构建文件路径,如下例所示。5.Lambda函数Lambda函数是Python中的匿名函数,通常用在需要进行小操作的地方。Lambda函数可以采用一个或多个参数,并具有一个具有以下语法的表达式Lambda参数:表达式。我将仅使用内置的sorted()函数来演示lambda函数的使用。具体来说,sorted()函数使用key参数指定的key函数对iterable进行排序。我将向您展示,我们可以使用lambda函数作为关键参数,而不是使用def关键字声明常规函数。结论在本文中,我们回顾了五个有用的技巧,它们使我们能够编写更干净的Python代码。通过编写更少的代码,您实际上提高了可读性和可维护性——几乎总是如此。但是,请记住干净的代码不应引起任何歧义或混淆。您必须在简洁性和可读性之间找到良好的平衡。如果它们发生冲突,我们应该首先尊重可读性,即使有时需要更多代码。谢谢阅读。
