从Python列表继承后重写append方法

从Python列表继承后重写append方法,第1张

从Python列表继承后重写append方法

我对你的课做了一些改动。这似乎正在工作。

一些建议:不要

type
用作关键字-
type
是内置函数。使用
self.
前缀访问Python实例变量。所以用
self.<variablename>

class TypedList(list):    def __init__(self, type):        self.type = type    def append(self, item):        if not isinstance(item, self.type): raise TypeError, 'item is not of type %s' % self.type        super(TypedList, self).append(item)  #append the item to itself (the list)from types import *tl = TypedList(StringType)tl.append('abc')tl.append(None)Traceback (most recent call last):  File "<pyshell#25>", line 1, in <module>    tl.append(None)  File "<pyshell#22>", line 7, in append    raise TypeError, 'item is not of type %s' % self.typeTypeError: item is not of type <type 'str'>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5646633.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存