python namedtuple怎样定义一个类

Python (170) 2023-05-12 17:12:09

1、namedtuple是一个非常简单的类别,通过它我们可以很容易地定义我们想要的类别。

它的使用非常简单。例如,如果我们想定义一个学生类别,这个类别个字段:name、score和age,那么这个类别将被写成:

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
classStudent:
def__init__(self,name=None,score=None,age=None):
self.name=name
self.score=score
self.age=age
classStudent: def__init__(self,name=None,score=None,age=None): self.name=name self.score=score self.age=age
classStudent:
def__init__(self,name=None,score=None,age=None):
self.name=name
self.score=score
self.age=age

2、通过使用namedtuple,我们只需要一行就定义了一个类,但是这样定义的类是没有缺失值的,namedtuple很强大,我们可以通过传入defaults参数来定义缺失值。

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
Student=namedtuple('Student',['name','score','age'],defaults=(0,0))
Student=namedtuple('Student',['name','score','age'],defaults=(0,0))
Student=namedtuple('Student',['name','score','age'],defaults=(0,0))

可以注意到,虽然我们定义了三个字段,但是我们只设置了两个缺失值。在这种情况下,namedtuple会自动将缺失值匹配上score和age两个字段。因为在Python的规范当中,必选参数一定在可选参数前面。所以nuamdtuple会自动右对齐。

以上就是python namedtuple定义一个类的方法,希望对大家有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复