il est écrit " plusieurs noms peuvent être utilisés pour faire référence
au même objet ... Ceci est habituellement peu apprécié lors d’un premier
coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles
- on peut modifier individuellement les éléments
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle
liste.
la premier est agréable, la second me parait contraignante.
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la
mécanique interne de python ?
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Francois Lafont
Bonjour,
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence au même objet ... Ceci est habituellement peu apprécié lors d’un premier coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles - on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c'] l = my_list
la premier est agréable, la second me parait contraignante. Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien entre les 2 points ci-dessus. En revanche, le comportement du point 2 me semble assez classique. Je me trompe peut-être (je ne suis pas expert dans le domaine) mais il me semble que dans la plupart des langages objet, les variables stockent des références aux objets et non les objets eux-mêmes ce qui entraîne que, dans la plupart de ces langages, quand on a var1 qui est une variable qui fait référence à un objet donné, après ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des langages objets pour des listes ou n'importe quoi qui est un objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code et parfois le rendre plus lisible. Imaginons que tu as une liste « personnels » qui contient un objet « patron » en première position dans la liste et que cet objet « patron » contient un attribut « reunions » qui est aussi un objet dont tu veux appliquer plein de méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...) etc.
Mes 2 centimes.
-- François Lafont
Bonjour,
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence
au même objet ... Ceci est habituellement peu apprécié lors d’un premier
coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles
- on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle
liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas
pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c']
l = my_list
la premier est agréable, la second me parait contraignante.
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la
mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien
entre les 2 points ci-dessus. En revanche, le comportement du
point 2 me semble assez classique. Je me trompe peut-être (je
ne suis pas expert dans le domaine) mais il me semble que dans
la plupart des langages objet, les variables stockent des
références aux objets et non les objets eux-mêmes ce qui
entraîne que, dans la plupart de ces langages, quand on a var1
qui est une variable qui fait référence à un objet donné, après
ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau
n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des
langages objets pour des listes ou n'importe quoi qui est un
objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code
et parfois le rendre plus lisible. Imaginons que tu as une liste
« personnels » qui contient un objet « patron » en première position
dans la liste et que cet objet « patron » contient un attribut
« reunions » qui est aussi un objet dont tu veux appliquer plein de
méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...)
etc.
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence au même objet ... Ceci est habituellement peu apprécié lors d’un premier coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles - on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c'] l = my_list
la premier est agréable, la second me parait contraignante. Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien entre les 2 points ci-dessus. En revanche, le comportement du point 2 me semble assez classique. Je me trompe peut-être (je ne suis pas expert dans le domaine) mais il me semble que dans la plupart des langages objet, les variables stockent des références aux objets et non les objets eux-mêmes ce qui entraîne que, dans la plupart de ces langages, quand on a var1 qui est une variable qui fait référence à un objet donné, après ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des langages objets pour des listes ou n'importe quoi qui est un objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code et parfois le rendre plus lisible. Imaginons que tu as une liste « personnels » qui contient un objet « patron » en première position dans la liste et que cet objet « patron » contient un attribut « reunions » qui est aussi un objet dont tu veux appliquer plein de méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...) etc.
Mes 2 centimes.
-- François Lafont
Couloigner François
Le 29/03/2014 19:50, Francois Lafont a écrit :
Bonjour,
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence au même objet ... Ceci est habituellement peu apprécié lors d’un premier coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles - on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c'] l = my_list
la premier est agréable, la second me parait contraignante. Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien entre les 2 points ci-dessus. En revanche, le comportement du point 2 me semble assez classique. Je me trompe peut-être (je ne suis pas expert dans le domaine) mais il me semble que dans la plupart des langages objet, les variables stockent des références aux objets et non les objets eux-mêmes ce qui entraîne que, dans la plupart de ces langages, quand on a var1 qui est une variable qui fait référence à un objet donné, après ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des langages objets pour des listes ou n'importe quoi qui est un objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code et parfois le rendre plus lisible. Imaginons que tu as une liste « personnels » qui contient un objet « patron » en première position dans la liste et que cet objet « patron » contient un attribut « reunions » qui est aussi un objet dont tu veux appliquer plein de méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...) etc.
Mes 2 centimes.
Merci pour ces détails et en particulier l'exemple
Le 29/03/2014 19:50, Francois Lafont a écrit :
Bonjour,
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence
au même objet ... Ceci est habituellement peu apprécié lors d’un premier
coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles
- on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle
liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas
pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c']
l = my_list
la premier est agréable, la second me parait contraignante.
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la
mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien
entre les 2 points ci-dessus. En revanche, le comportement du
point 2 me semble assez classique. Je me trompe peut-être (je
ne suis pas expert dans le domaine) mais il me semble que dans
la plupart des langages objet, les variables stockent des
références aux objets et non les objets eux-mêmes ce qui
entraîne que, dans la plupart de ces langages, quand on a var1
qui est une variable qui fait référence à un objet donné, après
ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau
n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des
langages objets pour des listes ou n'importe quoi qui est un
objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code
et parfois le rendre plus lisible. Imaginons que tu as une liste
« personnels » qui contient un objet « patron » en première position
dans la liste et que cet objet « patron » contient un attribut
« reunions » qui est aussi un objet dont tu veux appliquer plein de
méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...)
etc.
Mes 2 centimes.
Merci pour ces détails et en particulier l'exemple
Le 29/03/2014 18:26, Couloigner François a écrit :
il est écrit " plusieurs noms peuvent être utilisés pour faire référence au même objet ... Ceci est habituellement peu apprécié lors d’un premier coup d’œil à Python"
Je confirme !
Les listes obéissent aux 2 règles - on peut modifier individuellement les éléments
Oui on peut modifier l'état de l'objet :
my_list[2] = 'truc'
ce qui est, en Python, un raccourci (bien pratique) pour dire :
my_list.__setitem__(2, 'truc')
- l'égalité entre 1 nom et une liste créé un alias et pas une nouvelle liste.
L'expression est un peu ambiguë. Tu veux dire que ceci ne crée pas pas de nouvel objet liste je suppose :
my_list = ['a', 'b', 'c'] l = my_list
la premier est agréable, la second me parait contraignante. Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ?
Je ne sais pas trop. À vrai dire je ne vois pas trop le lien entre les 2 points ci-dessus. En revanche, le comportement du point 2 me semble assez classique. Je me trompe peut-être (je ne suis pas expert dans le domaine) mais il me semble que dans la plupart des langages objet, les variables stockent des références aux objets et non les objets eux-mêmes ce qui entraîne que, dans la plupart de ces langages, quand on a var1 qui est une variable qui fait référence à un objet donné, après ceci :
var2 = var1
var2 fait référence au même objet que var1 et aucun objet nouveau n'est créé.
Il me semble vraiment qu'on retrouve cela dans la plupart des langages objets pour des listes ou n'importe quoi qui est un objet d'ailleurs.
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Le seul exemple qui me vient, c'est pour raccourcir un peu le code et parfois le rendre plus lisible. Imaginons que tu as une liste « personnels » qui contient un objet « patron » en première position dans la liste et que cet objet « patron » contient un attribut « reunions » qui est aussi un objet dont tu veux appliquer plein de méthodes tout au long d'une portion de code.
Plutôt que d'écrire à plusieurs reprises des trucs comme :
personnels[0].reunions.ajouter(...)
tu peux simplement écrire une bonne fois pour toutes :
patron_reunions = personnels[0].reunions
et ensuite patron_reunions.ajouter(...), patron_reunions.supprimer(...) etc.
Mes 2 centimes.
Merci pour ces détails et en particulier l'exemple
Damien Wyart
* Couloigner François in fr.comp.lang.python:
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ? Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments : http://software-carpentry.org/v4/python/alias.html http://nedbatchelder.com/text/names.html
-- DW
* Couloigner François <couloif@free.fr> in fr.comp.lang.python:
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la
mécanique interne de python ?
Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments :
http://software-carpentry.org/v4/python/alias.html
http://nedbatchelder.com/text/names.html
Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la mécanique interne de python ? Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments : http://software-carpentry.org/v4/python/alias.html http://nedbatchelder.com/text/names.html
-- DW
Damien Wyart
* Couloigner François in fr.comp.lang.python: > Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la > mécanique interne de python ? > Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments : http://software-carpentry.org/v4/python/alias.html http://nedbatchelder.com/text/names.html
Il y a aussi le chapitre "The Dynamic Typing Interlude" du livre _Learning Python_ (O'Reilly) qui explique cela très bien. Je t'encourage à acheter l'ouvrage qui est de très bonne qualité (et connu dans l'écosystème Python), mais tu peux aussi trouver ce chapitre en ligne sous diverses formes si tu veux juste le parcourir rapidement.
-- DW
* Couloigner François <couloif@free.fr> in fr.comp.lang.python:
> Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la
> mécanique interne de python ?
> Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments :
http://software-carpentry.org/v4/python/alias.html
http://nedbatchelder.com/text/names.html
Il y a aussi le chapitre "The Dynamic Typing Interlude" du livre _Learning
Python_ (O'Reilly) qui explique cela très bien. Je t'encourage à acheter
l'ouvrage qui est de très bonne qualité (et connu dans l'écosystème
Python), mais tu peux aussi trouver ce chapitre en ligne sous diverses
formes si tu veux juste le parcourir rapidement.
* Couloigner François in fr.comp.lang.python: > Est-ce que ces 2 points ne peuvent pas aller l'un sans l'autre dans la > mécanique interne de python ? > Pouvez-vous me donner un exemple où l'alias a de l'intérêt ?
Quelques éléments de réponse et compléments : http://software-carpentry.org/v4/python/alias.html http://nedbatchelder.com/text/names.html
Il y a aussi le chapitre "The Dynamic Typing Interlude" du livre _Learning Python_ (O'Reilly) qui explique cela très bien. Je t'encourage à acheter l'ouvrage qui est de très bonne qualité (et connu dans l'écosystème Python), mais tu peux aussi trouver ce chapitre en ligne sous diverses formes si tu veux juste le parcourir rapidement.
Il y a aussi des langages où on n'a pas le droit de modifier la valeur d'un objet. Dans ce cas, c'est conceptuellement plus simple, parce qu'il n'y a aucun problème à avoir plusieurs noms quand la valeur ne pe ut pas changer.
Il y a aussi des langages où on n'a pas le droit de modifier la valeur
d'un objet. Dans ce cas, c'est conceptuellement plus simple, parce qu'il
n'y a aucun problème à avoir plusieurs noms quand la valeur ne pe ut pas
changer.
Il y a aussi des langages où on n'a pas le droit de modifier la valeur d'un objet. Dans ce cas, c'est conceptuellement plus simple, parce qu'il n'y a aucun problème à avoir plusieurs noms quand la valeur ne pe ut pas changer.