2013-08-06 12 views
7

Volevo dare un'occhiata alla classe deque python. Quando ho controllato the source code, ho trovato il seguente alla linea 10trovare _collections in python source

from _collections import deque, defaultdict 

esattamente dove posso trovare questo modulo _collections? Ho cercato sulla mia copia del codice Python, ma non sono riuscito a riconoscerlo.

Dove si trova questa classe?

risposta

10

_collections è integrato modulo di estensione.

È possibile trovare l'origine per il modulo _collection here.

Setup.dist contiene il mapping tra il nome del modulo di estensione incorporato nel file di origine.

1

_collections è un'implementazione privata di una classe in base a questa risposta: "Private" (implementation) class in Python.

Essendo privato, non penso che sarete in grado di accedere al suo sorgente Python ma potete controllare l'implementazione C here.

+1

In questo caso, '_collections' è un modulo implementato in C per supportare il principale modulo python' collections'; poiché deve essere un modulo distinto e separato, viene utilizzato un nome 'interno'. Dopo tutto, è solo un dettaglio di implementazione, non parte dell'API pubblica. –

0

In questi giorni il codice sorgente CPython (inclusi i moduli incorporati) è hosted on Github, quindi è possibile trovare il codice sorgente del modulo collezioni here.

Per il modulo collections.abc, vedere here.

Problemi correlati