Sujet: Re: Le module __builtin__ : où est-il ?
De: bruno.desthuilliers (l' arobase) gmail.com (bruno.desthuilliers@gmail.com)
Groupes: fr.comp.lang.python
Organisation: http://groups.google.com
Date: 20. Apr 2008, 17:27:21
On 20 avr, 17:43, Francois <mathsatta...@free.fr> wrote:
Merci pour la réponse, j'ai quelques remarques.
bruno.desthuilli...@gmail.com a écrit :
C'est un peu curieux alors d'appeler ça un module si c'est intégré dans
le noyau Python et que c'est préchargé automatiquement à chaque script,
non ? En quoi est-ce un module alors ?
En ce que ça ne fait pas partie du langage à proprement parler, et en
ce que tu peux l'importer, ce qui te donne un objet module.
Pardon de pinailler, mais si je regarde par exemple dans le «Python
Reference Manual» de Guido van Rossum dont le but est de décrire le
langage, il est question du type None. Ça me laisse penser que l'objet
None par exemple fait bien partie du langage Python. Pourtant, il est
clairement défini par le «module» __builtin__. Donc dire que __builtin__
ne fait pas partie du langage me gêne un peu car cela voudrait dire que
None par exemple ne ferait pas partie du langage. Non ?
Effectivement, il serait difficile de se passer de None... Pas
toujours évident de tracer une belle limite bien propre.
Moi j'aurais tendance à dire que
ça fait directement partie du langage, non ?
Non, dans le sens où 1/ ce n'est pas défini par la grammaire du
langage,
Mais dans les types de bases du langage il y a le type None qui est
défini par __builtin__ comme je l'ai dit juste au dessus, non ?
Oui. Là dessus, tu a raison et j'ai tort.
et 2/ un interpréteur Python peut charger une version
modifiée ou restreinte de ce module.
Est-il possible de charger l'interpréteur sans que __builtin__ soit chargé ?
Je me posais justement la question en te répondant. Je me demandais
aussi ce qu'il en était avec Jython et IronPython.
Bon, pour le professorat, il me reste encore du boulot !-)