Function args

Yermat loic at fejoz.net
Fri Apr 9 05:10:57 EDT 2004


Michel Claveau/Hamster wrote:
> Bonjour !
> 
> 
>>>>En gros, tous les types primitifs de python sont "expansés", autrement
> 
> dit quand on les affecte à une autre variable, c'est une copie. Tous les
> types complexes sont des références.
> 
> Je comprend, mais, dans mon esprit, je préfère me dire qu'il y a copie de ce
> qui est pointé. Pour une variable simple (e.g.  a=2)  c'est l'objet '2' qui
> est pointé, et donc, copié. Dans le cas d'une liste, la liste pointe sur un
> ensemble de pointeurs vers différents objets, et donc, on copie ces
> pointeurs (qui sont pointés).
> 
> Malheureusement, mon point de vue accroche sur les tuples (non modifiables).
> Je me dis alors que les tuples sont non modifiables par exception...
> 
> 
> Cela revient un peu au même que ce que tu as exprimé, avec une image mentale
> un peu différente.
> 
> 
> @-salutations
> --
> Michel Claveau
> 
> 

Oui je comprends bien mais si j'ai bien compris votre représentation que 
devrait faire ceci :
 >>> l = ['a','b','c']
 >>>
 >>> d = l
 >>> d.append('d')
 >>> d
['a', 'b', 'c', 'd']

Que devrait valoir l maintenant ? Python fait :
 >>> l
['a', 'b', 'c', 'd']

votre représentation ferait :
['a','b','c']

Mais bon. L'important est d'avoir compris ;-)

Yermat




More information about the Python-list mailing list