编译器输入list,返回<type 'list'>
请问这样的输出是怎么样做到的,如何自己写一个类可以有类似的输出,比如自己写的类
class A(object):
pass
>>> A
<class '__main__.A'>
1
sudo987 OP 我能想到的是 list 类中存在元类,元类中的__str___和__repr__输出了这样的结果,不知道怎么看 list 的源码,请高手告知,谢谢。
|
2
sudo987 OP @sudo987 试了下, list 中并没有__metaclass__ 这个属性,应该不是元类的问题,有高手知道怎么看 list 的源码么?
|
3
lowzoom 2016-07-14 21:20:52 +08:00
没有明白楼主在问什么
|
4
baocaixiong 2016-07-14 21:32:25 +08:00
>>> list
<type 'list'> >>> print list <type 'list'> >>> |
5
SErHo 2016-07-14 21:35:32 +08:00
|
6
shyling 2016-07-14 23:13:33 +08:00 via iPad
print 默认调用__str__,没有则调用__repr__,builtin 的东西要看 python 源码
|
7
nealfeng 2016-07-14 23:30:28 +08:00
python 3.5.1:
>>> list <class 'list'> |