作者sbob (hmm)
看板Python
标题[问题] 请教一个很蠢的问题@@
时间Sun Jul 7 08:24:23 2013
这个问题我也不晓得这样问对不对
int 是 type object 的 instance
所以看int 的 type 会是 type,int 是 type object
>>> type(int)
<type 'type'>
看数值2 的 type 会是 int, 2 是 int object
>>> type(2)
<type 'int'>
我的问题是 function object 是谁的instance?
我不晓得我的问题对不对,或许我该问的是
function object 是谁的 subclass
因为我想知道 function object 是从哪来的
我用下面的程式码定义了一个function object a
>>> def a():pass
>>> type(a)
<type 'function'>
>>> id(a)
4437405896
然後我很愚蠢的以为type(def)会有东西
>>> type(def)
File "<stdin>", line 1
type(def)
^
SyntaxError: invalid syntax
也很愚蠢的以为type(function)会有东西
>>> type(function)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined
>>>
那 function object 到底是从哪里来的@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.223.76
1F:推 Prius:help('def') 07/07 08:30
2F:→ Prius:def是用来定义user-defined函数的"命令" 07/07 08:32
3F:→ os653:非常没信心的猜测,是从 Python source code 里来的 07/07 08:58
4F:→ os653:记忆有误XD 也有可能是从 types.FunctionType 来的 07/07 09:03
5F:→ os653:印象中 types 里面的东西有些不能产生物件,不知是否记错 07/07 09:09
6F:→ os653:当初想抄 pickle 时遇过类似问题,有些东西就是无法 dump 07/07 09:12
7F:推 tiefblau:痾... 这样试试? type(type(a)) ---> <type 'type'> 07/07 15:00