2005年07月01日 星期五 12:53
本来一直是用UserList的,Py2.4的manual一再建议subclass List,所以给个面子,就subclass了一个list。做的时候到也没什么难度。 ##--------------------------------------------- class MyList(list) : def __init__(self, itsepc) : list.__init__(self) self.item_specification = itspec @property def FirstDay(self) : self.sort() return self[0].date ........ ##--------------------------------------------- 但问题是,经过几次调用,这个llst就失去了其类型信息。当我再cl.FirstDay的时候,它就提示,list object has no FirstDay attriubte。 请问是不是我subclass的时候漏掉了什么过程? 谢谢!!
2005年07月01日 星期五 16:22
shhgs wrote: > 本来一直是用UserList的,Py2.4的manual一再建议subclass > List,所以给个面子,就subclass了一个list。做的时候到也没什么难度。 > > ##--------------------------------------------- > class MyList(list) : > def __init__(self, itsepc) : > list.__init__(self) > self.item_specification = itspec > @property > def FirstDay(self) : > self.sort() > return self[0].date > ........ > ##--------------------------------------------- > > 但问题是,经过几次调用,这个llst就失去了其类型信息。当我再cl.FirstDay的时候,它就提示,list object has no > FirstDay attriubte。 这几次调用是怎么调用的?是不是你中间把cl重新赋值了? > > 请问是不是我subclass的时候漏掉了什么过程? > > 谢谢!! > -- Qiangning Hong
2005年07月01日 星期五 21:33
我已经解决问题了。原来是要覆写__getslice__方法。其它方法不覆写没关系,但是如果要做[:]操作,一定要覆写这个,否则返回出来的东西,它就认为是一个list了。 On 7/1/05, Qiangning Hong <hongqn at gmail.com> wrote: > shhgs wrote: > > 本来一直是用UserList的,Py2.4的manual一再建议subclass > > List,所以给个面子,就subclass了一个list。做的时候到也没什么难度。 > > > > ##--------------------------------------------- > > class MyList(list) : > > def __init__(self, itsepc) : > > list.__init__(self) > > self.item_specification = itspec > > @property > > def FirstDay(self) : > > self.sort() > > return self[0].date > > ........ > > ##--------------------------------------------- > > > > 但问题是,经过几次调用,这个llst就失去了其类型信息。当我再cl.FirstDay的时候,它就提示,list object has no > > FirstDay attriubte。 > > 这几次调用是怎么调用的?是不是你中间把cl重新赋值了? > > > > > 请问是不是我subclass的时候漏掉了什么过程? > > > > 谢谢!! > > > > > -- > Qiangning Hong > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
Zeuux © 2025
京ICP备05028076号