N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
def f(a, b):
... print id(a) # Affiche l'identité de l'objet
a = 12 # Les entiters sont des objets non-modifiables !
b = 13
id(a)
135523628
id(b)
135523616
f(a, b) # Les identifiants imprimés sont bien les mêmes
135523628
a # L'objet que l'identifiant 'a' désigne n'a pas été modifié !
12
b
13
a = list('abc') # Les listes sont des objets modifiables !
b = list('def')
id(a)
-1210079796
id(b)
-1210079988
f(a, b) # Les identifiants sont toujours les mêmes
-1210079796
a # <-- L'objet que l'identifiant 'a' désigne a été modifié
['a', 'b', 'c', 'd', 'e', 'f']
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
def f(a, b):
... print id(a) # Affiche l'identité de l'objet
a = 12 # Les entiters sont des objets non-modifiables !
b = 13
id(a)
135523628
id(b)
135523616
f(a, b) # Les identifiants imprimés sont bien les mêmes
135523628
a # L'objet que l'identifiant 'a' désigne n'a pas été modifié !
12
b
13
a = list('abc') # Les listes sont des objets modifiables !
b = list('def')
id(a)
-1210079796
id(b)
-1210079988
f(a, b) # Les identifiants sont toujours les mêmes
-1210079796
a # <-- L'objet que l'identifiant 'a' désigne a été modifié
['a', 'b', 'c', 'd', 'e', 'f']
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
def f(a, b):
... print id(a) # Affiche l'identité de l'objet
a = 12 # Les entiters sont des objets non-modifiables !
b = 13
id(a)
135523628
id(b)
135523616
f(a, b) # Les identifiants imprimés sont bien les mêmes
135523628
a # L'objet que l'identifiant 'a' désigne n'a pas été modifié !
12
b
13
a = list('abc') # Les listes sont des objets modifiables !
b = list('def')
id(a)
-1210079796
id(b)
-1210079988
f(a, b) # Les identifiants sont toujours les mêmes
-1210079796
a # <-- L'objet que l'identifiant 'a' désigne a été modifié
['a', 'b', 'c', 'd', 'e', 'f']
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Bonjour,
Le Fri, 18 Feb 2005 02:14:39 +0100, Christophe a écrit :N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Les passages se font par référence. Simplement, certains types d'objets
sont non-modifiables (immutables), d'autres le sont (mutables).
Exemple :def f(a, b):
... print id(a) # Affiche l'identité de l'objet
... print id(b)
... a += b
... print id(a) # a peut parfois désigner un objet suivant les cas
Bonjour,
Le Fri, 18 Feb 2005 02:14:39 +0100, Christophe a écrit :
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Les passages se font par référence. Simplement, certains types d'objets
sont non-modifiables (immutables), d'autres le sont (mutables).
Exemple :
def f(a, b):
... print id(a) # Affiche l'identité de l'objet
... print id(b)
... a += b
... print id(a) # a peut parfois désigner un objet suivant les cas
Bonjour,
Le Fri, 18 Feb 2005 02:14:39 +0100, Christophe a écrit :N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Les passages se font par référence. Simplement, certains types d'objets
sont non-modifiables (immutables), d'autres le sont (mutables).
Exemple :def f(a, b):
... print id(a) # Affiche l'identité de l'objet
... print id(b)
... a += b
... print id(a) # a peut parfois désigner un objet suivant les cas
Bonjour !
Je partage tes propos, même si je ne pense pas que j'aurais pu trouver
d'aussi bonnes tournures de phrases.
Je voulais juste dire que ces paragraphes expliquent aussi la confusion que
beaucoup font à propos du typage et de Python. Beaucoup ont l'habitude
d'associer les types aux variables, alors que, avec Python, ce sont les
objets qui sont typés (et pas les noms).
Et enfin, je me demande si l'emploi systématique du terme "pointeur", à la
place de "variable" ne serait pas une solution.
Bonjour !
Je partage tes propos, même si je ne pense pas que j'aurais pu trouver
d'aussi bonnes tournures de phrases.
Je voulais juste dire que ces paragraphes expliquent aussi la confusion que
beaucoup font à propos du typage et de Python. Beaucoup ont l'habitude
d'associer les types aux variables, alors que, avec Python, ce sont les
objets qui sont typés (et pas les noms).
Et enfin, je me demande si l'emploi systématique du terme "pointeur", à la
place de "variable" ne serait pas une solution.
Bonjour !
Je partage tes propos, même si je ne pense pas que j'aurais pu trouver
d'aussi bonnes tournures de phrases.
Je voulais juste dire que ces paragraphes expliquent aussi la confusion que
beaucoup font à propos du typage et de Python. Beaucoup ont l'habitude
d'associer les types aux variables, alors que, avec Python, ce sont les
objets qui sont typés (et pas les noms).
Et enfin, je me demande si l'emploi systématique du terme "pointeur", à la
place de "variable" ne serait pas une solution.
Je partage tes propos, même si je ne pense pas que j'aurais pu
trouver d'aussi bonnes tournures de phrases.
Grands mercis, n'en jetez plus, c'est trop...
Je voulais juste dire que ces paragraphes expliquent aussi la
confusion que beaucoup font à propos du typage et de Python.
Beaucoup ont l'habitude d'associer les types aux variables, alors
que, avec Python, ce sont les objets qui sont typés (et pas les
noms).
Et enfin, je me demande si l'emploi systématique du terme
"pointeur", à la place de "variable" ne serait pas une solution.
Compte tenu du fait que les pointeurs existent aussi en C/C++ et que
la notion n'est pas vraiment la meme en Python, ça ne me parait pas
une très bonne idée...
En fait, j'aime bien ces termes de "nom" et d'"objet" à la place de
"variable" et "valeur": ça a l'avantage de ne pas trop déclencher
d'associations hasardeuses dans la tete du lecteur. Vu que la façon de
faire de Python est assez spécifique, c'est plutot un avantage.
Je partage tes propos, même si je ne pense pas que j'aurais pu
trouver d'aussi bonnes tournures de phrases.
Grands mercis, n'en jetez plus, c'est trop...
Je voulais juste dire que ces paragraphes expliquent aussi la
confusion que beaucoup font à propos du typage et de Python.
Beaucoup ont l'habitude d'associer les types aux variables, alors
que, avec Python, ce sont les objets qui sont typés (et pas les
noms).
Et enfin, je me demande si l'emploi systématique du terme
"pointeur", à la place de "variable" ne serait pas une solution.
Compte tenu du fait que les pointeurs existent aussi en C/C++ et que
la notion n'est pas vraiment la meme en Python, ça ne me parait pas
une très bonne idée...
En fait, j'aime bien ces termes de "nom" et d'"objet" à la place de
"variable" et "valeur": ça a l'avantage de ne pas trop déclencher
d'associations hasardeuses dans la tete du lecteur. Vu que la façon de
faire de Python est assez spécifique, c'est plutot un avantage.
Je partage tes propos, même si je ne pense pas que j'aurais pu
trouver d'aussi bonnes tournures de phrases.
Grands mercis, n'en jetez plus, c'est trop...
Je voulais juste dire que ces paragraphes expliquent aussi la
confusion que beaucoup font à propos du typage et de Python.
Beaucoup ont l'habitude d'associer les types aux variables, alors
que, avec Python, ce sont les objets qui sont typés (et pas les
noms).
Et enfin, je me demande si l'emploi systématique du terme
"pointeur", à la place de "variable" ne serait pas une solution.
Compte tenu du fait que les pointeurs existent aussi en C/C++ et que
la notion n'est pas vraiment la meme en Python, ça ne me parait pas
une très bonne idée...
En fait, j'aime bien ces termes de "nom" et d'"objet" à la place de
"variable" et "valeur": ça a l'avantage de ne pas trop déclencher
d'associations hasardeuses dans la tete du lecteur. Vu que la façon de
faire de Python est assez spécifique, c'est plutot un avantage.
En fait ayant fait beaucoup de C, c'est comme ça que je me suis à peu
près représenté la chose : il est impossible de changer la valeur d'une
variable passée en paramètre, par contre dans le cas d'un vecteur ou
d'un tableau, la variable n'est qu'un pointeur vers les données, données
qui elles sont modifiables (mais pas le pointeur lui même).
En fait ayant fait beaucoup de C, c'est comme ça que je me suis à peu
près représenté la chose : il est impossible de changer la valeur d'une
variable passée en paramètre, par contre dans le cas d'un vecteur ou
d'un tableau, la variable n'est qu'un pointeur vers les données, données
qui elles sont modifiables (mais pas le pointeur lui même).
En fait ayant fait beaucoup de C, c'est comme ça que je me suis à peu
près représenté la chose : il est impossible de changer la valeur d'une
variable passée en paramètre, par contre dans le cas d'un vecteur ou
d'un tableau, la variable n'est qu'un pointeur vers les données, données
qui elles sont modifiables (mais pas le pointeur lui même).
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Bonjour,
Une petite question me turlupine depuis que je débute Python :
Est-il possible de passer des paramètres d'une fonction par référence ?
Ou bien est-ce toujours par valeur ?
N'est-il pas possible comme en C d'utiliser une sorte de pointeur pour
simuler un passage par référence ?
Supposons que je veuille construire une fonction foo qui prennent en
entrée deux paramètres a et b et les modifie, est-ce qu'il y a un moyen
de faire autrement que :
a,b = foo (a,b)
(même pas sûr que cela marche soi dit en passant...)
Merci d'avance pour tout éclaircissement...
Christophe wrote:
J'ai écrit une petite page là dessus dans le wiki, il y a quelques années
http://wikipython.flibuste.net/moin.py/QuestionsGenerales
A priori c'est encore valable.
Christophe wrote:
J'ai écrit une petite page là dessus dans le wiki, il y a quelques années
http://wikipython.flibuste.net/moin.py/QuestionsGenerales
A priori c'est encore valable.
Christophe wrote:
J'ai écrit une petite page là dessus dans le wiki, il y a quelques années
http://wikipython.flibuste.net/moin.py/QuestionsGenerales
A priori c'est encore valable.