如何使用attrs来告别Python中的样板

技术如何使用attrs来告别Python中的样板如何使用attrs来告别Python中的样板,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在

Python中如何使用attrs告别模板,很多新手都不清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

在我们涵盖7个PyPI库的系列文章中,了解更多关于解决Python问题的信息。

Python是当今最流行的编程语言之一,因为它是开源的,用途广泛(如Web编程、商业应用、游戏、科学编程等)。),并且它有一个充满活力和专注的社区来支持它。这个社区是我们在Python包索引(PyPI)中提供如此庞大多样的软件包来扩展和改进Python的原因。并解决不可避免的问题。

在本系列中,我们将介绍七个PyPI库,它们可以帮助您解决常见的Python问题。今天,我们将学习attrs,这是一个Python包,可以帮助您快速编写简洁正确的代码。

00-1010如果您已经编写Python有一段时间了,您可能已经习惯于这样编写代码:

class book(object): def _ _ init _ _(self,ISBN,姓名,作者):self。ISBN=ISBN自身。name=nameelf。author=author然后编写一个__repr__ _函数。否则,很难记录Book的实例:

DEF _ _ REPR _ _(自我):返回一本书({自我。ISBN},{self。姓名},{自我。下一步,您将编写一个漂亮的文档字符串来记录预期的类型。但是你注意到忘记添加edition和published_year属性了,所以必须在五个地方进行修改。

如果你不必这么做呢?

@ attr . s(auto _ attribs=true)class book(object): ISBN 3360 strname 3360 strauthor : str published _ year : int edition : int使用新的类型注释语法注释类型属性,attr将检测注释并创建一个类。

国际标准书号有特定的格式。如果我们想强制这种格式呢?

@attr.s(auto_attribs=true)classbook(object):isbn:str=attr.ib()@isbn.validatordefpattern_match(self,attribute,value):m=re.match(r'^(\ d { 3 }-)\ d { 1,3}-\ d {2,3}-\ d {1,7}-\ d $ ',值)if not m : raisevalueerror(' format for issbn不正确,值)name: strauthor 3330。将* * *行更改为@ attr.s (auto _ attribs=true,frozen=true)意味着Book现在是不可变的:尝试修改属性将引发异常。相反,例如,如果我们想将发布日期设置为一年后,我们可以将其修改为attr.evolve (old _ book,published _ year=old _ book . published _ year 1)以获得一个新实例。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50253.html

(0)

相关推荐

  • net native支持winform(net native 是什么)

    技术什么是.NET Native这篇文章给大家分享的是有关什么是.NET Native的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是.NET Native? .NET Native是一套

    攻略 2021年12月16日
  • 2021.46 人工智能之父

    技术2021.46 人工智能之父 2021.46 人工智能之父说起人工智能之父,很多人会想到图灵,但你用bing搜索,会发现它默认是马文·明斯基,第一个获得图灵奖的人工智能学者。马文·明斯基(1927年

    礼包 2021年11月22日
  • Visual Studio版本的示例分析

    技术Visual Studio版本的示例分析这篇文章给大家分享的是有关Visual Studio版本的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Visual Studio 支持在同

    攻略 2021年12月1日
  • 如何使用远程命令登录香橙派开发板

    技术如何使用远程命令登录香橙派开发板这期内容当中小编将会给大家带来有关如何使用远程命令登录香橙派开发板,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。香橙派Orange Pi 系列开发板

    攻略 2021年11月2日
  • 圆锥体的表面积,圆柱圆锥体积表面积公式

    技术圆锥体的表面积,圆柱圆锥体积表面积公式圆柱体积=底面积×高=πr²×h(r是底面圆半径圆锥体的表面积,h为高)圆锥体积=同底圆柱体积×1/3圆柱表面积=2个圆的面积+侧面面积=2•πr²+πd×h(d是底面圆直径)(

    生活 2021年10月28日
  • 网络协议tcp和udp(tcp和udp协议通过什么区分)

    技术网络协议TCP和UDP怎么理解这篇文章主要讲解了“网络协议TCP和UDP怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网络协议TCP和UDP怎么理解”吧!国际

    攻略 2021年12月21日