all:bibles:langages:python:variables
Différences
Ci-dessous, les différences entre deux révisions de la page.
| all:bibles:langages:python:variables [2024/06/14 11:10] – créée - modification externe 127.0.0.1 | all:bibles:langages:python:variables [2025/08/20 10:09] (Version actuelle) – omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Variables ====== | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les types numériques ===== | ||
| + | |||
| + | ==== Les entiers (simple ou long) ==== | ||
| + | |||
| + | Les entiers sont des nombres qui s’étendent sur une machine 32 bits entre les valeurs -2e31+1 et 2e31-1, soit entre -2147483647 et 2147483647. | ||
| + | |||
| + | === Bases === | ||
| + | |||
| + | * La forme décimale commence par un chiffre de 1 à 9 suivi de chiffre de 0 à 9. | ||
| + | * La base octale commence par “0” suivi de chiffres de 0 à 7. | ||
| + | * La base hexadécimale commence par “0x” suivi de chiffres 0 à 9 et de lettres de A à F. | ||
| + | |||
| + | === Les entiers longs === | ||
| + | |||
| + | Les entiers longs sont eux limités uniquement par la capacité mémoire de la machine.\\ | ||
| + | Ils sont représentés de la même manière que les entiers mais sont suffixés de la lettre L.\\ | ||
| + | Depuis la version de 2.4 un nombre entier est automatiquement transtypé s'il dépasse la plage autorisée. | ||
| + | |||
| + | |||
| + | ==== Les flottants ==== | ||
| + | |||
| + | * Les flottants permettent de représenter des nombres réels. | ||
| + | * La partie entière est séparée de la partie fractionnelle par un “.” | ||
| + | |||
| + | ==== Les nombres complexes ==== | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | (3+3j) | ||
| + | >>> | ||
| + | 1.0 | ||
| + | >>> | ||
| + | 2.0 | ||
| + | >>> | ||
| + | (2-1j) | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les séquences ===== | ||
| + | |||
| + | Une séquence est une collection ordonnée d’éléments indexés par des nombres positifs.\\ | ||
| + | Les index varient de 0 à n-1 pour une séquence de n éléments. | ||
| + | |||
| + | ^ élément | ||
| + | | index | 1 | 2 | | i-1 | | n-2 | n-1 | | ||
| + | | index | -n | -n+1 | | | | -2 | -1 | | ||
| + | |||
| + | Les séquences peuvent être coupées en tranches qui forment alors des sous séquences. sequence[i, | ||
| + | Un troisième paramètre permet de faire varier le pas. | ||
| + | |||
| + | === Exemples === | ||
| + | |||
| + | sequence[1, | ||
| + | sequence[0: | ||
| + | sequence[0: | ||
| + | sequence[:: | ||
| + | |||
| + | === Primitives === | ||
| + | |||
| + | | len | retourne le nombre d’élements de la séquence | ||
| + | | min | renvoie l’élement à valeur minimale de la séquence | ||
| + | | max | renvoie l’élement à valeur maximale de la séquence | ||
| + | | sum | renvoie la somme des élements lorsque ceux ci sont additionnables | ||
| + | |||
| + | Il existe 2 grandes familles de séquences, les séquences immuables (string, unicode et tuple) et les séquences modifiables (liste). | ||
| + | |||
| + | ==== Les strings (immuables) ==== | ||
| + | |||
| + | * Les string sont des valeurs alphanumériques, | ||
| + | * Une string est une séquence ordonnée d’éléments. | ||
| + | * Une string n’est plus modifiable une fois instanciée. | ||
| + | * Les strings sont des séquences de caractères, | ||
| + | * Il n’existe pas en python de type caractère, un caractère est une string de longueur 1. | ||
| + | * En python 3, les strings sont portés par une nouvelle classe: les bytes. | ||
| + | * Les strings sont des séquences, les différents éléments sont donc accessibles comme décrit plus haut. | ||
| + | * Les strings sont des séquences immuables, leurs valeurs ne sont donc pas modifiables. | ||
| + | |||
| + | === Primitives === | ||
| + | |||
| + | | chr | renvoi le caractère dont le code ASCII est passé en paramètre | ||
| + | | ord | renvoi le code ASCII du caractère passé en paramètre | ||
| + | |||
| + | === Liste des méthodes === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | [' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | ==== Les unicodes (immuables) ==== | ||
| + | |||
| + | Le type unicode fonctionne de la même façon mais sur une plage de 32 bits. Ils sont standards en python 3.x. (format encodage utilisé par défaut). | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | u' | ||
| + | >>> | ||
| + | 㺀 | ||
| + | >>> | ||
| + | 8364 | ||
| + | </ | ||
| + | |||
| + | === Conversion entre string et unicode === | ||
| + | |||
| + | La conversion est possible grâce aux méthodes encode et décode à l'aide d'un codec qui permet d’établir la correspondance entre les deux. | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | é | ||
| + | >>> | ||
| + | >>> | ||
| + | é | ||
| + | </ | ||
| + | |||
| + | === Formatage des chaines de caractères | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | Hello John | ||
| + | >>> | ||
| + | Hello John Cleese | ||
| + | </ | ||
| + | |||
| + | Il existe certaines expression pour modifier la valeur de l’argument. Exemple, pour les float, la syntaxe est .[P]f où P est un paramètre optionnel qui précise la précion utilisée. | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | </ | ||
| + | |||
| + | ==== Les tuples (immuables) ==== | ||
| + | |||
| + | * Les tuples sont des séquences qui contiennent des éléments qui peuvent être hétérogènes. | ||
| + | * Un tuple est encadré par des parenthèses et chaque élément est séparé par une virgule. | ||
| + | * Une fois créé il est impossible de modifier sa valeur. | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 3 | ||
| + | >>> | ||
| + | 'Terry Gilliam' | ||
| + | |||
| + | >>> | ||
| + | Traceback (most recent call last): | ||
| + | File "< | ||
| + | TypeError: ' | ||
| + | </ | ||
| + | |||
| + | ==== Les listes (modifiable) ==== | ||
| + | |||
| + | * Les listes sont des séquences d’élements qui peuvent être hétérogènes et dont la valeur peut être modifiée après sa création. | ||
| + | * Une liste est encadrée par des crochets et chaque élément est séparé par une virgule. | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 1 | ||
| + | </ | ||
| + | |||
| + | === Liste des méthodes | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | [' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | >>> | ||
| + | >>> | ||
| + | ['John Cleese', | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | ['John Cleese', | ||
| + | >>> | ||
| + | >>> | ||
| + | ['John Cleese', | ||
| + | >>> | ||
| + | >>> | ||
| + | [' | ||
| + | >>> | ||
| + | ' | ||
| + | >>> | ||
| + | [' | ||
| + | >>> | ||
| + | 2 | ||
| + | >>> | ||
| + | >>> | ||
| + | [' | ||
| + | >>> | ||
| + | 2 | ||
| + | >>> | ||
| + | >>> | ||
| + | ['Eric Idle', 'Terry Gilliam', | ||
| + | >>> | ||
| + | >>> | ||
| + | [' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les ensembles (type set) ===== | ||
| + | |||
| + | Un ensemble est encadré par des accolades et chaque élément est séparé par une virgule. | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 2 | ||
| + | >>> | ||
| + | >>> | ||
| + | 2 | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les dictionnaires ===== | ||
| + | |||
| + | * Le mapping, appelé dictionnaire, | ||
| + | * Un dictionnaire n’est pas ordonné. | ||
| + | * Les clefs doivent être des objets immuables (chaines de caractère, entier, flottant…) | ||
| + | * Les élements peuvent être hétérogènes | ||
| + | * Un dictionnaire est encadrée par des accolades, chaque élement est séparé par une virgule, Chaque élement est préfixé par sa clef suivi de “:”. | ||
| + | |||
| + | === Exemples === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 4 | ||
| + | >>> | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | {' | ||
| + | >>> | ||
| + | {' | ||
| + | </ | ||
| + | |||
| + | === Liste des méthodes === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== None ===== | ||
| + | |||
| + | Type à valeur unique qui représente une absence de valeur. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les booléens ===== | ||
| + | |||
| + | * Représentés par “True” ou “False” | ||
| + | * Tout les types de valeur peuvent être interprétés de manière booléénne | ||
| + | |||
| + | ^type ^ False ^ True ^ | ||
| + | | int | 0 | les autres valeurs | ||
| + | | float | .0 | les autres valeurs | ||
| + | | list | [] | les listes non vides | | ||
| + | | tuple | () | les tuples non vides | | ||
| + | | dict | {} | les dicts non vides | | ||
| + | | type NONE | None | X | | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Synthèse des types ===== | ||
| + | |||
| + | ^ type ^ exemple | ||
| + | | int | 1 | NON | NON | | ||
| + | | float | 1.0 | NON | NON | | ||
| + | | complex | ||
| + | | string | ||
| + | | unicode | ||
| + | | tuple | (“string”, | ||
| + | | list | [“string”, | ||
| + | | dict | {“key”: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Transtypage ===== | ||
| + | |||
| + | ^ primitive | ||
| + | | str(el) | ||
| + | | int(el) | ||
| + | | float(el) | ||
| + | | list(el) | ||
| + | | tuple(el) | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Les opérateurs ===== | ||
| + | |||
| + | ==== Opérateurs mathématiques ==== | ||
| + | |||
| + | | Addition | ||
| + | | Soustraction | ||
| + | | Multiplication | ||
| + | | Division | ||
| + | | Modulo (reste) | ||
| + | | Puissance | ||
| + | |||
| + | === Exemples === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | 5 | ||
| + | >>> | ||
| + | -2 | ||
| + | >>> | ||
| + | 14 | ||
| + | >>> | ||
| + | ' | ||
| + | >>> | ||
| + | 'hello world' | ||
| + | >>> | ||
| + | 0 | ||
| + | >>> | ||
| + | 0.16666666666666666 | ||
| + | >>> | ||
| + | 1 | ||
| + | >>> | ||
| + | 256 | ||
| + | </ | ||
| + | |||
| + | ==== Opérateurs de comparaison ==== | ||
| + | |||
| + | | Inférieur | ||
| + | | Supérieur | ||
| + | | Inférieur ou égal | %%< | ||
| + | | Supérieur ou égal | %%> | ||
| + | | Egalité | ||
| + | | Différent | ||
| + | | est | is | | ||
| + | | n'est pas | is not | | ||
| + | |||
| + | * Une comparaison travaille sur deux objets et renvoie un résultat booléen. | ||
| + | * Les strings sont immuables, l’affectation mémoire des deux objets est identique. | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 39756736 | ||
| + | >>> | ||
| + | 39756736 | ||
| + | >>> | ||
| + | True | ||
| + | </ | ||
| + | |||
| + | ==== Autres opérateurs ==== | ||
| + | |||
| + | === Négation === | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | -10 | ||
| + | </ | ||
| + | |||
| + | === Appartenance === | ||
| + | |||
| + | S’applique à toutes les séquences. | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | True | ||
| + | >>> | ||
| + | True | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Trucs & astuces ===== | ||
| + | |||
| + | ==== Interroger le type d'un objet ==== | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | </ | ||
| + | |||
| + | ==== Lister les méthodes d'un objet ==== | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | [' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
