如何使用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)

相关推荐

  • Tomcat运行Java Web内存溢出的示例分析

    技术Tomcat运行Java Web内存溢出的示例分析这篇文章主要介绍Tomcat运行Java Web内存溢出的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果JVM里运行的程序, 它的

    攻略 2021年12月11日
  • 抖音粉丝哪里买,哪里有专门卖抖音粉丝的

    技术抖音粉丝哪里买,哪里有专门卖抖音粉丝的抖音是否能够刷粉,网站即可刷到粉丝,现如今抖音粉丝是大家比较关注的问题,只要在代刷网刷粉想要多少可以刷多少,粉丝都是活跃粉丝,都是真人粉丝。
    抖音在短视频app中是最大人流量之一

    测评 2021年10月20日
  • sqlserver登陆后报不能为空不能为null的错误该怎么办

    技术sqlserver登陆后报不能为空不能为null的错误该怎么办sqlserver登陆后报不能为空不能为null的错误该怎么办,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴

    攻略 2021年12月1日
  • Javascript对象原型是什么

    技术Javascript对象原型是什么本篇内容主要讲解“Javascript对象原型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript对象原型是什么”吧

    攻略 2021年11月20日
  • 工资核算方法,工资的正确计算方法?急

    技术工资核算方法,工资的正确计算方法?急1工资核算方法、正算法:工资=月薪÷21.75×月计薪天数×(出勤天数比例)2、反算法:工资=月薪-月薪÷21.75x缺勤天数×(出勤天数比例)3、月计薪天数=(月出勤天数 + 法

    生活 2021年10月21日
  • 关于nodejs4

    技术关于nodejs4 关于nodejs4创建数据结构:
    1.下载安装Mongodb并配置环境变量
    2.新建文件
    3.在新文件中安装包
    4.输入:npm install mongoose执行命令
    ---

    礼包 2021年11月30日