Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Le module __builtin__ : où est-il ?

29 réponses
Avatar
Francois
Bonjour à tous,

Il parait qu'un certain module, nommé «__builtin__», serait
automatiquement préchargé au début de n'importe quel script python. Il
permet apparemment de prédéfinir plein d'objets, comme par exemple les
objets True, False, None et plein d'autres choses.

J'ai voulu voir ce qu'il y avait dedans par curiosité uniquement, mais
impossible de le trouver sur mon ordinateur. Où est-il ? Existe-t-il ou
est-ce je ne sais quelle abstraction ?

Je suis sur Ubuntu 7.10 et j'ai Python version 2.5.1

Merci d'avance.


--
François

10 réponses

1 2 3
Avatar
bruno.desthuilliers
On 20 avr, 19:06, Francois wrote:

Le Sun, 20 Apr 2008 16:21:58 +0000, yves a écrit:

En clair, None n'est pas "défini que par le module __builtin__"


Autrement dit, quand on fait dir(__builtins__) (noter le "s"), sans
importer quoi que ce soit, on constate que None est là.

Note pour moi-même: recopier 100 fois: "Explicit is better than implic it."


Non non, la question est légitime je trouve. Il y a en effet une
subtilité entre le module __builtin__ et l'attribut __builtins__ (avec
un "s") qui m'échappe complètement et que j'aimerais bien comprendre.

Effectivement, quand on charge l'interpréteur tel quel (sans rien
importer), on a accès à tout ce que définit __builtin__, comme None ou
max() par exemple. Mais en revanche, l'interpréteur ne connaît pas
__builtin__ mais connaît __builtins__ (avec un "s"). Exemple :
(snip)

Je ne comprends pas ce qu'est ce __builtins__ (avec un "s") exactement ?


C'est dans le FameuxManuel(tm):

http://docs.python.org/lib/module-builtin.html

HTH



Avatar
Francois
Je ne comprends pas ce qu'est ce __builtins__ (avec un "s") exactement ?


C'est dans le FameuxManuel(tm):

http://docs.python.org/lib/module-builtin.html

HTH



C'est curieux. Dans le __main__,

#----------------------------------------
import __builtin__
__builtin__ == __builtins__ # donne True

mais dans un module

import __builtin__
__builtin__ == __builtins__ # donne False
#----------------------------------------

J'ai l'impression que dans le __main__ on a :

__builtin__ == __builtins__

Alors que dans un module autre que le __main__, on a :

__builtin__.__dict__ == __builtins__

Il y a là une subtilité qui m'échappe complètement.





--
François


Avatar
Bruno Desthuilliers
Je ne comprends pas ce qu'est ce __builtins__ (avec un "s") exactement ?


C'est dans le FameuxManuel(tm):

http://docs.python.org/lib/module-builtin.html

HTH



C'est curieux. Dans le __main__,

#----------------------------------------
import __builtin__
__builtin__ == __builtins__ # donne True

mais dans un module

import __builtin__
__builtin__ == __builtins__ # donne False
#----------------------------------------

J'ai l'impression que dans le __main__ on a :

__builtin__ == __builtins__

Alors que dans un module autre que le __main__, on a :

__builtin__.__dict__ == __builtins__


Il me semble que c'est évoqué dans le lien ci-avant...

Il y a là une subtilité qui m'échappe complètement.



Heu... Comment dire... Ce n'est pas que la question soit totalement
dépourvue d'intérêt, et ta curiosité est légitime, mais par ailleurs, on
est là quelque peu dans les détails d'implémentation, et je n'ai
moi-même jamais eu à me soucier de ces détails depuis que j'utilise
Python (sachant que mes premiers contacts avec la bête remonte quand
même à quelque part entre fin 1999 et fin 2000).

Maintenant, si ton niveau en anglais est à peu près correct, tu peux
toujours aller poser la question sur c.l.py où rodent quelques membre du
dev-team. Ils seront certainement les plus à même de t'éclairer sur ces
points. Moi à ce stade, je déclare forfait !-)



Avatar
Francois

Heu... Comment dire... Ce n'est pas que la question soit totalement
dépourvue d'intérêt, et ta curiosité est légitime, mais par ailleurs, on
est là quelque peu dans les détails d'implémentation, et je n'ai
moi-même jamais eu à me soucier de ces détails depuis que j'utilise
Python (sachant que mes premiers contacts avec la bête remonte quand
même à quelque part entre fin 1999 et fin 2000).

Maintenant, si ton niveau en anglais est à peu près correct, tu peux
toujours aller poser la question sur c.l.py où rodent quelques membre du
dev-team. Ils seront certainement les plus à même de t'éclairer sur ces
points. Moi à ce stade, je déclare forfait !-)



Moi aussi, je vais déclarer forfait à ce stade. Merci encore pour ton
aide. :-)

En parlant de niveau d'anglais, je voulais savoir s'il existait une
traduction française du "Python Reference Manual" de Guido van Rossum.
La dernière version datant du 21 février 2008, mais même s'il existe une
traduction plus ancienne, j'en serais pleinement satisfait.

J'ai du voir quelque part une traduction du "Python Tutorial" de Guido
van Rossum, mais pas du "Python Reference Manual". Je me demandais si ça
existait...


Merci encore.


--
François

Avatar
Bruno Desthuilliers

Heu... Comment dire... Ce n'est pas que la question soit totalement
dépourvue d'intérêt, et ta curiosité est légitime, mais par ailleurs,
on est là quelque peu dans les détails d'implémentation, et je n'ai
moi-même jamais eu à me soucier de ces détails depuis que j'utilise
Python (sachant que mes premiers contacts avec la bête remonte quand
même à quelque part entre fin 1999 et fin 2000).

Maintenant, si ton niveau en anglais est à peu près correct, tu peux
toujours aller poser la question sur c.l.py où rodent quelques membre
du dev-team. Ils seront certainement les plus à même de t'éclairer sur
ces points. Moi à ce stade, je déclare forfait !-)



Moi aussi, je vais déclarer forfait à ce stade. Merci encore pour ton
aide. :-)


Sur ce coup, y a vraiment pas de quoi.

En parlant de niveau d'anglais, je voulais savoir s'il existait une
traduction française du "Python Reference Manual" de Guido van Rossum.
La dernière version datant du 21 février 2008, mais même s'il existe une
traduction plus ancienne, j'en serais pleinement satisfait.

J'ai du voir quelque part une traduction du "Python Tutorial" de Guido
van Rossum, mais pas du "Python Reference Manual". Je me demandais si ça
existait...


Y avait eu un effort dans ce sens il y a quelques temps (une paire
d'années SJMSB), mais je ne sais pas où ça en est. De toutes façons,
trad ou pats trad, l'informatique, si tu lis pas l'anglais technique,
t'es dans la m...


Avatar
Francois
De toutes façons, trad ou pats trad, l'informatique, si tu lis pas l'anglais technique,
t'es dans la m...


Oui tu as tout à fait raison, et je m'en veux tellement d'avoir négligé
l'anglais dans ma scolarité...


--
François

Avatar
Pierre Maurette
De toutes façons, trad ou pats trad, l'informatique, si tu lis pas
l'anglais technique, t'es dans la m...


Oui tu as tout à fait raison, et je m'en veux tellement d'avoir négligé
l'anglais dans ma scolarité...


Pôvreu kon...

--
Pierre Maurette


Avatar
Francois
Oui tu as tout à fait raison, et je m'en veux tellement d'avoir
négligé l'anglais dans ma scolarité...


Pôvreu kon...


Je ne comprends pas cette insulte ?


--
François


Avatar
Pierre Maurette
Oui tu as tout à fait raison, et je m'en veux tellement d'avoir négligé
l'anglais dans ma scolarité...


Pôvreu kon...


Je ne comprends pas cette insulte ?


Dont acte...

--
Pierre Maurette



Avatar
Francois
Pôvreu kon...


Je ne comprends pas cette insulte ?


Dont acte...


Franchement, je vois pas trop à quoi vous jouez exactement et je ne vais
pas chercher à le savoir. Je suis simplement navré qu'on puisse manquer
de courtoisie à ce point.


--
François



1 2 3