<type 'list'>

2016-07-14 21:03:24 +08:00
 sudo987

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

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

class A(object):
    pass

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

>>> list
<class 'list'>
sudo987
2016-07-15 08:09:03 +08:00
@nealfeng 这…

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

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

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

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

© 2021 V2EX