0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享Python 3中三个鲜为人知但非常有用的功能

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-10-08 10:34 次阅读

Python 3上线已有一段时间,大多数开发人员(特别是那些首次编程的人)已经在使用它了。不过,你确定已经对Python 3研究透彻了吗?

事实上,其中还有许多新功能对大多数人来说仍处于未知状态。本文就将讨论Python 3中三个鲜为人知但非常有用的功能,我在其他语言中接触到并爱上了这些功能,它们的加入使得使Python 3体验更佳。

枚举

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

分享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以前使用的格式更易读。以下是使用格式的示例:

分享Python 3中三个鲜为人知但非常有用的功能

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

分享Python 3中三个鲜为人知但非常有用的功能

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

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

数据类

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

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

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

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

分享Python 3中三个鲜为人知但非常有用的功能

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

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

以上三点就是我的新发现。你在Python 3中尝试过哪些鲜为人知的功能呐?
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7188

    浏览量

    89755
  • python
    +关注

    关注

    56

    文章

    4811

    浏览量

    85089
  • 枚举
    +关注

    关注

    0

    文章

    16

    浏览量

    4626
收藏 人收藏

    相关推荐

    使用LDO进行设计的一些鲜为人知的方面

    低压差线性稳压器 (LDO) 在电路设计无处不在。许多只有三个终端;VIN、VOUT 和 GND。什么可能出错?某些 LDO 设计标准已得到充分证明,例如需要观察正确的输出电容和等效串联电阻
    的头像 发表于 04-12 13:51 1.8w次阅读
    使用LDO进行设计的一些<b class='flag-5'>鲜为人知</b>的方面

    鲜为人知的秘密—键盘选购技巧

    鲜为人知的秘密—键盘选购技巧  很多用户在购买电脑配件的时候,对CPU、主板、显卡等主要部件慎之又慎,即便是鼠标和机箱也选之又选,不过说到另外一主要输入设备键盘,许多购机者却认为没有精挑细选的必要
    发表于 02-23 16:25

    鲜为人知的手机特殊功能

    鲜为人知的手机特殊功能      1、你的手机电量不足了,为了
    发表于 12-19 15:09 999次阅读

    那些鲜为人知的非主流移动操作系统

    以操作系统来说,Google Android及苹果(Apple)iOS两大龙头占据过半市场,其余则由数个小众系统瓜分。不过这些非主流操作系统存在数个鲜为人知风格独特的操作系统,值得一探究竟。
    发表于 06-30 09:02 6066次阅读

    PCB软件不为人知的技巧

    PCB软件不为人知的技巧,该技巧鲜为人知
    发表于 08-29 14:22 17次下载

    最后悔的事情,马云鲜为人知的柔情面

    在我们的印象当中,马云是一在互联网电商领域叱咤风雨的枭雄,一被今天很多年轻人视为互联网创业大神的人物。可即便是在他那样的铮铮铁骨之下,也隐藏着鲜为人知的柔情。
    发表于 12-21 02:33 502次阅读

    17非常有用Python 技巧

    实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然。此外,Python 的编写使用方式有多种,数据科学、网页开发、机器学习皆可使用 Python
    的头像 发表于 08-27 17:56 4981次阅读
    17<b class='flag-5'>个</b><b class='flag-5'>非常有用</b>的 <b class='flag-5'>Python</b> 技巧

    Vim默认未启用实际非常有用的选项

    Vim 作为一款功能强大、选项丰富的编辑器,为许多用户所热爱。本文介绍了一些在 Vim 默认未启用实际非常有用的选项。虽然可以在每个 Vim 会话
    的头像 发表于 09-25 17:54 5468次阅读

    浅谈泰克示波器鲜为人知的10特异功能

    的关键测试扮演着重要角色。在提供准确测试数据以外,泰克示波器还具有10鲜为人知的独特功能。这些功能可以帮助您提高测试精度,更好的观察图形,更便捷的提交报告……泰克示波器帮您“剑走偏锋
    发表于 03-24 10:03 4458次阅读

    泰克示波器鲜为人知的十特异功能

    示波器在不同行业的关键测试扮演着重要角色。在提供准确测试数据以外,泰克示波器还具有10鲜为人知的独特功能。这些功能可以帮助您提高测试精度
    的头像 发表于 10-12 01:49 600次阅读

    示波器十大鲜为人知的特异功能

    射频行业,泰克示波器在不同行业的关键测试扮演着重要角色。在提供准确测试数据以外,泰克示波器还具有10鲜为人知的独特功能,这些功能可以帮助
    发表于 03-01 17:37 1103次阅读
    示波器十大<b class='flag-5'>鲜为人知</b>的特异<b class='flag-5'>功能</b>

    20非常有用Python单行代码

    有用Python 单行代码片段,只需一行代码即可解决特定编码问题!
    的头像 发表于 03-14 17:45 962次阅读

    17非常有用Python技巧

    Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 带我们回顾了 17 非常有用
    的头像 发表于 04-10 14:28 592次阅读

    简单非常有用的小前置放大器电路

    简单非常有用的小前置放大器电路可以通过连接几个晶体管来构建。该装置可轻松将 1mV 信号提升至 100mV 甚至更高。因此,它非常方便放大不能直接与功率放大器一起使用的极小信号。
    的头像 发表于 06-10 17:27 1702次阅读
    一<b class='flag-5'>个</b>简单<b class='flag-5'>但</b><b class='flag-5'>非常有用</b>的小前置放大器电路

    没有什么是完美的,FPGA可能非常有用

    FPGA是非常有用的器件,通常与ADI公司的ADC或功率IC等一起设计到客户的设计。FPGA 可以实现微控制器和所需的任何胶水逻辑。在这篇博客,我将讨论一些与功能安全和FPGA相关
    的头像 发表于 06-29 10:28 1547次阅读
    没有什么是完美的,<b class='flag-5'>但</b>FPGA可能<b class='flag-5'>非常有用</b>