'Python内置类型的子类化'

2024-10-03 11:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

这个密码怎么了?在

class MyList(list):
  def __init__(self, li): self = li

当我创建一个MyList的实例,例如,MyList([1, 2, 3]),然后打印这个实例,得到的只是一个空列表[]。如果MyDictlist的子类,那么MyDictalist本身不是吗?在

注意:Python2.x和3.x都有


Tags: 实例self密码列表initdefli子类
2条回答

您需要调用列表初始值设定项:

class MyList(list):
     def __init__(self, li):
         super(MyList, self).__init__(li)

在函数中赋值给self只会用列表替换局部变量,而不给实例赋值:

^{pr2}$

我自己弄明白了:selflist的子类的一个实例,所以它不能被强制转换为仍然是MyList对象的list。在

相关问题 更多 >