Formation I.S.N.

Les tuples

A la différence des listes, les tuples, une fois créés, ne peuvent être modifiés. On ne peut ni y ajouter ni y retirer d’objets.



La syntaxe pour créer un tuple est la suivante :


			tuple_vide = ()
			tuple_non_vide1 = (1,)
			tuple_non_vide2 = (1, 3, 5)
			

Une petite subtilité ici : si on veut créer un tuple contenant un unique élément, on doit quand même saisir la virgule après celui-ci. A défaut, Python ne considérera pas l’objet comme un tuple mais comme une variable dont la valeur sera celle indiquée entre parenthèses (qui deviendront donc inutiles).

Il est assez rare que l’on travaille directement sur les tuples. Néanmoins, il est bon de savoir que cela existe car nous avons eu l’occasion de les utiliser à plusieurs reprises sans nous en rendre réellement compte.

Affectation multiple

L’affectation multiple consiste à affecter plusieurs valeurs à plusieurs variables (une valeur par variable) en une seule ligne de code.


			a, b = 3, 4
			

Cette syntaxe passe par les tuples qui ne sont pas déclarés explicitement. On pourrait d’ailleurs écrire aussi :


			(a, b) = (3, 4)
			

Une fonction renvoyant plusieurs valeurs

Comme indiqué dans le chapitre 6, une fonction peut renvoyer plusieurs valeurs. Voyons un exemple.


			def decomposer(entier, divise_par):
				"Cette fonction retourne la partie entière et le reste de entier / divise_par"
				partie_entiere = entier // divise_par
				reste = entier % divise_par
				return partie_entiere, reste

			partie_entiere, reste = decomposer(20, 3)
			print(partie_entiere)
			print(reste)
			

		
		

Là encore, on passe par les tuples sans que ce soit indiqué explicitement à Python. La fonction decomposer retourne un tuple composé respectivement de la partie entière de la division (p_e) et de son reste (reste). On peut donc affecter ces valeurs à deux variables en procédant à une affectation multiple.