Python中文
首页
教程
问答
标签
搜索
登录
注册
我可以覆盖Python列表显示吗?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想更改Python列表显示的行为,这样就不会生成<code>list</code>,而是生成我编写的<code>list</code>的子类。(注:我不认为这是个好主意;我这样做是为了好玩,而不是实际使用。)</p> <p>以下是我所做的:</p> <pre><code>old_list = list class CallableList(old_list): def __init__(self, *args): old_list.__init__(self) for arg in args: self.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(arg) def __call__(self, start, end=None): if end: return self[start:end] return self[start] list = CallableList </code></pre> <p>完成后,将返回列表的第三个元素:</p> ^{pr2}$ <p>但这仍然会产生一个错误:</p> <pre><code>x = [1, 2, 3] print x(2) </code></pre> <p>错误很简单:</p> <pre><code>Traceback (most recent call last): File "list_test.py", line 23, in <module> print x(2) TypeError: 'list' object is not callable </code></pre> <p>我肯定不会这么做的,但我肯定不会这么做。有什么想法吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不能简单地重写用于内置类型的语法糖,因为这发生在编译器级别。总是显式调用构造函数。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
9 回答
Jupyter运行不同版本的卸载库?
7 回答
Jupyter运行指定的键盘快捷键
10 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
10 回答
Jupyter重新加载自定义样式
4 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
9 回答
jupyter错误:无法在随机林中将决策树视为png
8 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
8 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
6 回答
Jupyter隐藏数据帧索引,但保留原始样式
1 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
6 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
1 回答
Jupy上Python的读/写访问问题
8 回答
jupy上没有模块cv
1 回答
Jupy上的排序错误
1 回答
Jupy中bqplot图形的紧凑布局
9 回答
Jupy中matplotlib plot的连续更新
7 回答
Jupy中Numpy函数的文档
6 回答
Jupy中Pandas的自动完成问题
5 回答
jupy中Qt后端的Matplotlib动画
7 回答