OVH Cloud OVH Cloud

Espace de nom

1 réponse
Avatar
R12y
Bonjour,
C'est quoi un "espace de nom"?
Supposons que j'ai des objets quelconques qui peuvent "s'appeler"

A.B.C
A.D.E
A.B.C.F
Z.X.Y

(il y a un mouton noir qui ne commence pas exprès par A)
Quel est l'espace de nom?

Supposons que par une quelconque manipulation, j'arrive à y accéder juste
avec, respectivement

B.C
D.E
B.C.F
Z.X.Y

Est ce que je suis dans un nouvel espace de nom? Quel est-il: "A"?
Jusque là je n'avait pas compris dans certain ouvrage sur Python.

Mais maintenant voilà que dans mon apprentissage Web, on m'en parle aussi:
http://www.zope.org/Wikis/DevSite/Projects/ZPT/TAL%20Specification%201.4

On parle de "TAL namespace", et ça semble une notion qui doit couler de
source si on veut faire du sérieux avec ce truc. Mais ça ne rentre pas
tout seul dans la tete. Y a t il quelqu'un qui saurait m'aider à
comprendre ce que c'est que la notion de namespace? en commençant par du
simple et on progressera dans la difficulté ensemble...

Merci.

J'ai crossposté et placé un suivi sur le groupe que j'ai trouvé adapté...
Tiens, quand j'y pense, la hiérarchie fr.*, ça ressemble à un "namespace",
mais je n'arrive pas à acquérir la chose de manière à voir une similitude
avec ce qui se fait en TAL (avec Python, ça va, le "." est assez
explicite... Mais je n'ai pas la définition dans ma tête)
--

http://www.onirik.net/article.php3?id_article=817
http://www.maemo.org/platform/docs/howtos/howto_new_application.html
http://www.linuxdevices.com/files/article057/index.html

1 réponse

Avatar
jean-michel bain-cornu
Bonjour,
R12y wrote:

Bonjour,
C'est quoi un "espace de nom"?


Voir le paragraphe 9.2 du tutoriel qui expique ça très bien. En résumé,
le namespace peut être expliqué comme tout ce qui est visible
directement à un moment donné.

Supposons que j'ai des objets quelconques qui peuvent "s'appeler"

A.B.C
A.D.E
A.B.C.F
Z.X.Y

(il y a un mouton noir qui ne commence pas exprès par A)
Quel est l'espace de nom?


Celui dans lequel tu es.
Imaginons ce qui suit, qui affiche 'bonne année' :
class obj1:
def __init__(self):
self.B= obj2()
class obj2:
def __init__(self):
self.C= 'bonne année'
A= obj1()
print A.B.C
Au moment du print :
- A est dans le namespace courant.
- B est un objet créé lors de la création de l'objet A par la classe
obj1 et est dans le namespace de A.
- C est un objet string créé lors de la création de l'objet B par la
classe obj2 et est dans le namespace de B.


Supposons que par une quelconque manipulation, j'arrive à y accéder juste
avec, respectivement

B.C
D.E
B.C.F
Z.X.Y

Est ce que je suis dans un nouvel espace de nom? Quel est-il: "A"?
Jusque là je n'avait pas compris dans certain ouvrage sur Python.

Mais maintenant voilà que dans mon apprentissage Web, on m'en parle
aussi:

http://www.zope.org/Wikis/DevSite/Projects/ZPT/TAL%20Specification%201.4

On parle de "TAL namespace", et ça semble une notion qui doit couler de


Le namespace de l'objet TAL ?

source si on veut faire du sérieux avec ce truc. Mais ça ne rentre pas
tout seul dans la tete. Y a t il quelqu'un qui saurait m'aider à
comprendre ce que c'est que la notion de namespace? en commençant par du
simple et on progressera dans la difficulté ensemble...

Merci.

J'ai crossposté et placé un suivi sur le groupe que j'ai trouvé adapté...
Tiens, quand j'y pense, la hiérarchie fr.*, ça ressemble à un
"namespace",

mais je n'arrive pas à acquérir la chose de manière à voir une similitude
avec ce qui se fait en TAL (avec Python, ça va, le "." est assez
explicite... Mais je n'ai pas la définition dans ma tête)


A+
jm

PS: je n'avais pas vu le crosspost, mon message a dû se perdre sur
l'autre news.