Programmation Python/Type de données complexe
Un livre de Wikibooks.
| Programmation Python |
| Partie 1 : Introduction |
| Partie 2 : Le langage |
| Partie 3 : Les bibliothèques |
| Partie 4 : Autour de Python |
| Annexe |
| Modifier ce modèle |
Sections |
[modifier] Les chaînes de caractères
Une chaîne de caractères se déclare par l'utilisation de single quote (') ou de double quote ("):
chaine='une chaine de caractère' chaine2="une autre chaîne de caractères" |
| chaine de caractère : Déclaration d'une chaîne de caractères |
On peut aussi imbriquer les chaînes de caractères :
chaine='Il lui a dit "Bonjour!"'
pour insérer des caractères spéciaux (saut de ligne,tabulation,etc), il est nécessaire de les échapper :
- Retour de ligne: \n
- Tabulation: \t
- backslash: \\
- etc...
Exemple :
print "une phrase\npar ligne"
Résultat :
une phrase par ligne
de nombreuses méthodes sont associées à l'objet chaîne de caractère (str) :
[modifier] Constructeur
les fonctions
str()
et
repr()
permettent de transformer un objet python quelconque en chaîne de caractères. Ces deux fonctions sont différentes :
str('chaine')
retournera 'chaine' tandis que
repr('chaine')
retournera "'chaine'".
[modifier] Autres méthodes
Les principale méthodes sont :
- capitalize() qui retourne la chaîne avec le premier caractère en majuscule
- index(car) qui retourne la position du caractère car ou déclenche une erreur (IndexError)
- replace(old,new) remplace la sous-chaîne old par new
- split(car) renvoie une liste en séparant la chaîne par le caractère car. Si car n'est pas donné, split sépare par les sauts de ligne et les espaces
- strip() enlève les espaces au début et à la fin
- upper() met en majuscule
- lower() en minuscule
- ... (voir le résultat de help(str) pour la liste complète)
[modifier] Les tuples
Python propose un type de données appelé tuple, qui est assez semblable à une liste mais qui n'est pas modifiable. Du point de vue de la syntaxe, un tuple est une collection d'éléments séparés par des virgules :
>>> tuple = 'a', 'b', 'c', 'd', 'e'
>>> print tuple
('a', 'b', 'c', 'd', 'e')
Bien que cela ne soit pas nécessaire, il est vivement conseillé de mettre le tuple en évidence en l'enfermant dans une paire de parenthèses, comme l'instruction print de Python le fait elle-même. (Il s'agit simplement d'améliorer la lisibilité du code, mais vous savez que c'est important) :
>>> tuple = ('a', 'b', 'c', 'd', 'e')
Les opérations que l'on peut effectuer sur des tuples sont syntaxiquement similaires à celles que l'on effectue sur les listes, si ce n'est que les tuples ne sont pas modifiables :
>>> print tuple[2:4]
('c', 'd')
>>> tuple[1:3] = ('x', 'y') ==> ***** erreur *****
>>> tuple = ('André',) + tuple[1:]
>>> print tuple
('André', 'b', 'c', 'd', 'e')
Remarquez qu'il faut toujours au moins une virgule pour définir un tuple (le dernier exemple ci-dessus utilise un tuple contenant un seul élément : 'André'). Vous comprendrez l'utilité des tuples petit à petit. Signalons simplement ici qu'ils sont préférables aux listes partout où l'on veut être certain que les données transmises ne soient pas modifiées par erreur au sein d'un programme. En outre, les tuples sont moins « gourmands » en ressources système (ils occupent moins de place en mémoire).
[modifier] Les listes
Les listes fonctionnent sur le même principe que les tuples.
L'encodage est comme suit
>>MaListe['a','b','c'] >>MaListe ['a','b','c']
Une sortie indicée donne
>>Maliste[0] 'a'
Une séquence d'indice donne
>>Maliste[0:2] ['a','b']
[modifier] Les dictionnaires
Le dictionnaire ou tableau associatif fonctionne dans la même logique
Ajout d'une occurence à la pile
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'sape': 4139, 'guido': 4127, 'jack': 4098}
Sortie d'un élément de la pile
>>> tel['jack'] 4098
Suppression et ajout d'un élément
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
Sortie des clés
>>> tel.keys()
['guido', 'irv', 'jack']
>>> tel.has_key('guido')
1