2017-06-19 116 views
1

我認爲Eclipse有Java std lib。我相信你可以搜索Object然後去查看Object課程的來源。Pycharm:有沒有辦法去聲明內置的數據結構?

我希望能夠在Python中搜索並查看像list之類的東西。

在Pycharm中,我可以去申報任何東西,如import osc = ClassFromMyModule(),但用字典或列表,它是不一樣的。

我不能去文字或操作員的聲明。如:

d = {} 
l = ['hello', 'there'] 
my_str = "hello there" 
a = b + c 

回答

1

你可以簡單地寫類似:

x = list() 

,然後按下Ctrl鍵點擊list。它會給你帶來一個叫做builtins.py的文件,但是列表和字典都是內置的,這些通常是由解釋器執行。因此,作爲一個結果,這些都沒有Python實現,它會告訴你是這樣的:

class list(object): 
    """ 
    list() -> new empty list 
    list(iterable) -> new list initialized from iterable's items 
    """ 
    def append(self, p_object): # real signature unknown; restored from __doc__ 
     """ L.append(object) -> None -- append object to end """ 
     pass 

    def clear(self): # real signature unknown; restored from __doc__ 
     """ L.clear() -> None -- remove all items from L """ 
     pass 
    # ... 

所以它實際上更多的是基於文檔上生成的「虛擬」的類定義。 list對象是而不是在Python中實現:它是一個在Python解釋器中實現的對象。這是有道理的,因爲不可能實現一個列表(具有快速隨機訪問),而不需要像列表/數組那樣的東西。

+0

難道我的解釋器會使用這個實現嗎? –

+1

@JamesT .:這些通常是用C/C++編寫的。這是例如'list'對象:https://hg.python.org/releasing/3.6/file/tip/Objects/listobject.c –

1
import builtins 

去的這個聲明。

相關問題