2010-02-03 4 views
0

Est-ce que quelqu'un connaît de bons livres qui traitent des architectures sous-jacentes, une analyse en profondeur de l'implémentation de CPython. Quelque chose commePython sous-jacent livres d'analyse/articles?

  • comment liste/tuple/dict mis en œuvre (et comparaison des performances ...)
  • discussion OOP dans le contexte Python

Désolé si cela semble une question stupide :(

+0

L'impression des sources serait-elle suffisante? – SilentGhost

+0

La lecture de la source serait-elle suffisante? –

+0

Pour moi, c'est beaucoup plus facile et révélateur de lire l'analyse des gens sur le code source. – huy

Répondre

3

Vous devriez absolument, à un certain moment de votre carrière en Python, lire chaque mot du Python Data Model et du Python Execution Model. Bien qu'ils ne soient pas spécifiques à CPython, ces articles sont essentiels pour comprendre Python en profondeur.

+0

bien, c'est quelque chose que je dois absolument lire :-) – huy

2

Beau livre de code a une bonne explication sur la façon dont les dicts sont mis en œuvre

2

Cela ne répond pas directement à votre question mais il est utile de savoir néanmoins:

Le code source de CPython est bien écrit et bien documenté, et il y a quelques PEP qui éclairent certaines parties de l'implémentation. Vous devriez vraiment essayer juste de le lire.

+0

"Utilisez la source, Luke". –

3

fonctions Python sont décrites et discutées dans Python Enhancement Proposals ("PEPs") Ceux-ci décrivent la mise en œuvre, aussi PEPs contiennent souvent de travail du code Python pour expliquer l'algorithme mais peut être C. la mise en œuvre finale Si vous avez besoin de plus de détails que ce qui peut être obtenu à partir des PEP alors vous devriez jeter un oeil sur le code source.

Remarque: Les PEP sont écrites du point de vue de l'amélioration proposée, plutôt que d'une description globale de l'implémentation. Ainsi, par exemple, il pourrait y avoir un PEP pour Dict-Compréhensions mais pas pour Dicts dans son ensemble. Pour une vue descendante des internes Python, le code source est l'endroit où aller.