所有這一切,說的是,在Python,功能就像任何其他對象。
例如:
In [5]: def f(): pass
現在f
是function
類型的對象:
In [6]: type(f)
Out[6]: function
如果更仔細地檢查,它包含字段的一大堆:
In [7]: dir(f)
Out[7]:
['__call__',
...
'func_closure',
'func_code',
'func_defaults',
'func_dict',
'func_doc',
'func_globals',
'func_name']
要選擇一個實例中,f.func_name
是該函數的名稱:
In [8]: f.func_name
Out[8]: 'f'
和f.func_code
包含的代碼:
In [9]: f.func_code
Out[9]: <code object f at 0x11b5ad0, file "<ipython-input-5-87d1450e1c01>", line 1>
如果你真的很好奇,您可以向下進一步深入:
In [10]: dir(f.func_code)
Out[10]:
['__class__',
...
'co_argcount',
'co_cellvars',
'co_code',
'co_consts',
'co_filename',
'co_firstlineno',
'co_flags',
'co_freevars',
'co_lnotab',
'co_name',
'co_names',
'co_nlocals',
'co_stacksize',
'co_varnames']
等。
(以上輸出是用Python 2.7.3生產。)
來源
2014-03-28 06:46:05
NPE
glglgl - 按要求 – overexchange
我假設你想從其他一些問題繼續單獨查詢升高。堆棧溢出的每個問題應該是自包含的。您無需訪問任何鏈接即可使這個問題清晰易懂。按照現狀,很難說出你的實際問題是什麼。 –
我們在python中處理的所有東西都是'object'。 – fledgling