Python 3中三大重要功能是什么(python,编程语言)

时间:2024-04-29 01:57:24 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Python+3%E4%B8%AD%E4%B8%89%E5%A4%A7%E9%87%8D%E8%A6%81%E5%8A%9F%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88

接下来,请跟着小编一起来学习吧!

枚举

枚举是在Java和Swift中常使用到的功能,我把它扩展到Python中。在Python中创建枚举非常简单,在Python 3之前的版本中也可使用(尽管功能更受限):

在上述代码中,可以看到通过构造一个类并使其成为枚举的子类,便可以轻松构造枚举。在这里只需在下面的行中定义每个状态。就我而言,我有AIR、LAND、SEA。

Python3的新功能是运行.value和.name。这能获得与状态相关联的整数值或与之相关联的字符串。

在上面的代码中,输入State.LAND.name 返回LAND,因此功能不仅仅是一个整数枚举。

当需要描述性常量时,代码中的枚举类型十分有用。例如,与其检查状态是0还是1,不如检查它是否是State.MOVING或State.STATIONARY状态. 。常量可能会改变,如果有人在看你的代码,MOVING比0更有意义,代码的可读性也会大大提高。

格式

在Python 3.6中添加的fstring是格式化文本的一种很好的方式。它们的可读性强,而且不容易出错。fstring比Python以前使用的格式更易读。以下是使用格式的示例:/p><pre>name=&#39;Brett&#39;blog_title=&#39;Medium&#39;#Hi,mynameisBrettandIamwritingonmyMediumblog.a=&quot;Hi,mynameis{}andIamwritingonmy{}blog.&quot;.format(name,blog_title)</pre><p>如上所示,在字符串中打入括号,然后按顺序列出每个变量的名称。相同代码任务很多,但fstring极大地增加了代码的可读性,尤其是类似于用Swift格式化字符串。</p><pre>name=&#39;Brett&#39;blog_title=&#39;Medium&#39;#Hi,mynameisBrettandIamwritingonmyMediumblog.a=f&quot;Hi,mynameis{name}andIamwritingonmy{blog_title}blog.&quot;</pre><p>为了完成这个更简洁的字符串,只需在引号前面加上字母f,然后将变量或数据直接放入括号中,而不是使用空括号。由于变量本身是写在括号内的,所以不必计算格式中写入的项的数量来确定变量的位置,变量就在应在的位置。</p><p>相比于字符串连接或格式化字符串,fstring可以生成更可读、更可靠的代码。</p><p><strong>数据类</strong></p><p>数据类可能要比上述所谈更为晦涩难懂,所以我将简要地解释一下。我在Kotlin中逐渐喜欢上了数据类,因此很想在Python中使用它们。</p><p>数据类实际上是一个类,其唯一目的是保存数据的类。类将具有可以访问和写入的变量,但上面没有额外的逻辑。</p><p>假设你有一个程序,在不同的类之间传递一个字符串和一个数字数组。使用pass(str,arr)这样的方法也可行,最好是创建一个只包含字符串作为字段和数组的数据类。通过创建一个数据类,你所做的将更加清晰,单元测试也将更加容易。</p><p>下面这个示例将说明如何创建一个表示三维向量的简单数据类,但这可以很容易地扩展为表示不同数据的任意组合:</p><pre>fromdataclassesimportdataclass#Definedataclass@dataclassclassVector3D:x:inty:intz:int#Createavectoru=Vector3D(1,1,-1)#Outputs:Vector3D(x=1,y=1,z=-1)print(u)</prep>在这里,你可以看到数据类的定义与声明普通类非常相似,只是我们先用了@dataclass,然后每个字段的名称都是name:type。</p

虽然我们创建的Vector3D功能有限,但是数据类的目的只是提高效率并减少代码中的错误,传递Vector3D比传递int变量要好得多。

本文:Python 3中三大重要功能是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Python中怎么理解PyPy能让代码运行得更快下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18