如何在python中获取继承自named_tuple的类的所有属性

时间:2017-07-20 18:56:51

标签: python inheritance namedtuple

我有一个python类,我从一个命名的元组继承。我为它的实例添加了另一个属性

from collections import namedtuple
class Test(namedtuple("Test", ('a', 'b', 'c', 'd', 'e'))):
     pass
T = Test(1,2,3,4,5)
T.list = [ 1,2,3,4,5,6,7,8]

所以T有6个属性:a,b,c,d,e,list。有没有办法使用一个命令打印所有属性? “T .__ dict”给了我“list”属性。 “T .__ fields”给了我所有的namedtuple字段。

我不认为我完全理解从namedtuple继承的内容。

1 个答案:

答案 0 :(得分:1)

使用dir(T)命令将打印T的所有属性(包括内置属性,类属性)。

from collections import namedtuple
class Test(namedtuple("Test", ('a', 'b', 'c', 'd', 'e'))):
     pass
T = Test(1,2,3,4,5)
T.list = [ 1,2,3,4,5,6,7,8]
print dir(T)

输出:

  
    

['添加','','包含',' delattr ','< strong> dict ',' doc ',' eq ','格式',' ge ',' getattribute ',' getitem ',' getnewargs ',' getslice ',' getstate ',' gt ','哈希',' init ',' iter ',' le ',' len ',' LT ','模块',' mul ',' ne ','','减少',' reduce_ex ' ,' repr ',' rmul ',' setattr ',' sizeof ','广告位',' str ',' subclasshook ','_ asdict','_ fields','_ make','_ place','a','b ','c','count','d','e','index','list']