0
這是結果如預期,當我在shell中運行ipython3(Python3.2.3):爲什麼ipython3和ipython3筆記本之間的map()有區別?
In [1]: sum(map(int, str(79)))
Out[1]: 16
現在,這是在ipython3筆記本相同的代碼:
In [5]: sum(map(int, str(79)))
Out[5]: <builtins.map at 0x5c26950>
有什麼不對?
在各種情況下,「repr(map)」和「repr(sum)」是什麼?你有沒有pylab模式或任何環境中設置的任何東西? – minrk
@minrk幾乎肯定是對的 - 這就是如果'sum'由'numpy'' sum'取代的話。 'repr(sum)'不會直接顯示出來(你不會看到'<內建函數sum>',但它本身就是證據),但'sum .__ module__'可能會給出''numpy.core .fromnumeric''。 – DSM
@minrk,@DSM:你說得對!我用'ipython3 notebook --pylab inline'啓動了筆記本。在這種情況下,sum___ module__'確實會給出'numpy.core.fromnumeric',它的行爲與內建版本不同。我需要做些什麼才能獲得內聯圖,但是如果不覆蓋內建函數,那麼會有numpy?乾杯! – sjakobi