有代碼:號碼綁定到函數名
def somefun():
print "hi"
print somefun
結果是:
<function somefun at 0x0153DDF0>
什麼0x0153DDF0?
有代碼:號碼綁定到函數名
def somefun():
print "hi"
print somefun
結果是:
<function somefun at 0x0153DDF0>
什麼0x0153DDF0?
這是致電repr
的結果 - 所討論的數字是內存中函數的地址。
[...]表示是尖括號括起來的字符串與其他信息往往包括名稱和地址包含該對象的類型的名稱一起的對象。
(重點煤礦)
你還會發現,這是通過調用返回hex(id(somefun))
注意數 - 這是在內存中的地址是一個實現細節 CPython,不應該依賴。有關更多詳細信息,請參閱the doc for id
。
如果你只需要你可以在下面的使用功能名稱:
>>> print somefun.func_name
somefun
>>> print somefun.__name__
somefun
注意(到OP),這是不是唯一的函數對象。甚至可以這樣說:'class Foo(object):pass',然後'print Foo()'outputs:'<__ main__.Foo object at 0x7fbc1117f610>'' –