这是完成以下任务的最佳方式,是子类化元组还是其他一些技巧?
region = ( "buffer", "region" )
region.cmd = ( "kill", "mark" )
答案 0 :(得分:6)
您可以简单地将tuple
子类化而无需修改,它将起作用。通过子类化内置类,它可以为其分配任意属性,就像普通的用户定义类一样。
class Region(tuple):
pass
region = Region(( "buffer", "region" ))
region.cmd = ( "kill", "mark" )
答案 1 :(得分:1)
class Region(tuple):
def __init__(self, *args):
super(Region, self).__init__(self, *args)
self.cmd = None
region = Region(("buffer", "region"))
region.cmd = ("kill", "mark")
答案 2 :(得分:0)
我不确定你在问什么。
如果你想要嵌套的数据结构,我可能会使用字典而不是元组。
region = {
"buffer" : ("kill", "mark"),
"region" : ("kill", "mark")
}
我认为元组也是不可变的。
答案 3 :(得分:0)