<type 'list'>

2016 年 7 月 14 日
 sudo987

编译器输入list,返回<type 'list'>

请问这样的输出是怎么样做到的,如何自己写一个类可以有类似的输出,比如自己写的类

class A(object):
    pass

>>> A
<class '__main__.A'>
3367 次点击
所在节点    Python
8 条回复
sudo987
2016 年 7 月 14 日
我能想到的是 list 类中存在元类,元类中的__str___和__repr__输出了这样的结果,不知道怎么看 list 的源码,请高手告知,谢谢。
sudo987
2016 年 7 月 14 日
@sudo987 试了下, list 中并没有__metaclass__ 这个属性,应该不是元类的问题,有高手知道怎么看 list 的源码么?
lowzoom
2016 年 7 月 14 日
没有明白楼主在问什么
baocaixiong
2016 年 7 月 14 日
>>> list
<type 'list'>
>>> print list
<type 'list'>
>>>
SErHo
2016 年 7 月 14 日
shyling
2016 年 7 月 14 日
print 默认调用__str__,没有则调用__repr__,builtin 的东西要看 python 源码
nealfeng
2016 年 7 月 14 日
python 3.5.1:

>>> list
<class 'list'>
sudo987
2016 年 7 月 15 日
@nealfeng 这…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/292563

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX