文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python3中的三大重要功能是什么

2023-06-27 10:56

关注

这篇文章主要介绍了Python3中的三大重要功能是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python3中的三大重要功能是什么文章都会有所收获,下面我们一起来看看吧。

枚举

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

from enum importEnum             classState(Enum):        AIR=0        LAND=1        SEA=2        myState =State.AIR             # Prints 0      print(myState.value)      # Prints AIR      print(myState.name)

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

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

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

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

格式

Python 3.6中添加的fstring是格式化文本的一种很好的方式。它们的可读性强,而且不容易出错。fstringPython以前使用的格式更易读。以下是使用格式的示例:

name = Brett        blog_title = Medium              # Hi, my name isBrett and I am writing on my Medium blog.       a ="Hi, myname is {} and I am writing on my {} blog.".format(name,blog_title)

如上所示,在字符串中打入括号,然后按顺序列出每个变量的名称。相同代码任务很多,但fstring极大地增加了代码的可读性,尤其是类似于用Swift格式化字符串。

name = Brett        blog_title = Medium             # Hi, my name isBrett and I am writing on my Medium blog.       a =f"Hi, myname is {name} and I am writing on my {blog_title} blog."

为了完成这个更简洁的字符串,只需在引号前面加上字母 f ,然后将变量或数据直接放入括号中,而不是使用空括号。由于变量本身是写在括号内的,所以不必计算格式中写入的项的数量来确定变量的位置,变量就在应在的位置。

相比于字符串连接或格式化字符串,fstring可以生成更可读、更可靠的代码。

数据类

数据类可能要比上述所谈更为晦涩难懂,所以我将简要地解释一下。我在Kotlin中逐渐喜欢上了数据类,因此很想在Python中使用它们。

数据类实际上是一个类,其唯一目的是保存数据的类。类将具有可以访问和写入的变量,但上面没有额外的逻辑。

假设你有一个程序,在不同的类之间传递一个字符串和一个数字数组。使用pass(str,arr)这样的方法也可行,最好是创建一个只包含字符串作为字段和数组的数据类。通过创建一个数据类,你所做的将更加清晰,单元测试也将更加容易。

下面这个示例将说明如何创建一个表示三维向量的简单数据类,但这可以很容易地扩展为表示不同数据的任意组合:

from dataclasses import dataclass             # Definedataclass           @dataclass           classVector3D:              x: int              y: int              z: int           # Create a vector           u =Vector3D(1,1,-1)             # Outputs: Vector3D(x=1,y=1, z=-1)           print(u)

在这里,你可以看到数据类的定义与声明普通类非常相似,只是我们先用了@dataclass,然后每个字段的名称都是name:type

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

关于“Python3中的三大重要功能是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python3中的三大重要功能是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯