Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
python:bases:variables [2021/08/11 17:58] – phil | python:bases:variables [2022/09/25 10:33] (Version actuelle) – [Plus loin ...] phil | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{ : | + | [[python: |
- | ===== Python - Variables, types numériques et entrées / sorties dans la console ===== | + | ===== Python - Variables, constantes, types numériques et entrées / sorties dans la console ===== |
- | [Mise à jour le : 19/7/2021] | + | [Mise à jour le : 16/8/2022] |
* **Sources** | * **Sources** | ||
Ligne 17: | Ligne 17: | ||
* **Mots-clés** : programme, donnée, mémoire, variable, déclarer, initialiser | * **Mots-clés** : programme, donnée, mémoire, variable, déclarer, initialiser | ||
- | <note important>Les mots ci-dessous sont dits " | + | <callout type=" |
| and | continue | | and | continue | ||
Ligne 43: | Ligne 43: | ||
=== 1.2 Déclaration et initialisation === | === 1.2 Déclaration et initialisation === | ||
- | <note warning>En Python, la simple **déclaration** d'une variable ne suffit pas à la créer. Après avoir choisi son nom, il est nécessaire de lui **affecter** une **valeur initiale** (**initialisation**). En Python l' | + | <callout icon=" |
<code python | <code python | ||
Ligne 57: | Ligne 57: | ||
Le **type d'une variable** identifie la **nature de son contenu** : nombre entier, nombre décimal, texte, etc.. Ces différents types d' | Le **type d'une variable** identifie la **nature de son contenu** : nombre entier, nombre décimal, texte, etc.. Ces différents types d' | ||
- | <note>En Python, il n'est pas nécessaire de préciser le type d'une variable. Python est dit **typé // | + | <callout type=" |
* On dispose de quatre **types numériques** en Python : | * On dispose de quatre **types numériques** en Python : | ||
Ligne 65: | Ligne 65: | ||
* Les booléens (**bool**) sous ensemble des entiers | * Les booléens (**bool**) sous ensemble des entiers | ||
- | <note>Les **entiers** sont donnés **sans perte de précision**.</ | + | <callout type=" |
* **Connaître le type d'une variable** : pour cela, on utilise les fonctions natives // | * **Connaître le type d'une variable** : pour cela, on utilise les fonctions natives // | ||
Ligne 130: | Ligne 130: | ||
| and | | and | ||
- | <note important>Les variables booléennes prennent les valeurs **True** et **False** ou **1** et **0**</note> | + | <callout type=" |
// | // | ||
Ligne 147: | Ligne 147: | ||
| **& | | **& | ||
- | <note important>Les opérateurs de niveau bit s' | + | <callout type=" |
// | // | ||
Ligne 166: | Ligne 166: | ||
Par défaut, les nombres entiers saisis ou affichés sont en base 10. | Par défaut, les nombres entiers saisis ou affichés sont en base 10. | ||
- | <note>Pour manipuler des séquences de bits, de longueur arbitraire on utilise **0b** devant la valeur binaire ou **0x** devant la valeur hexadécimale.La fonction **bin**(**n**) renvoie la valeur de n en binaire. La fonction **hex**(**n**) renvoie la valeur de n en hexadécimale. Ces fonctions renvoient des chaînes de caractères.</ | + | <callout type=" |
// | // | ||
Ligne 178: | Ligne 178: | ||
=== 1.7 Variable sans valeur === | === 1.7 Variable sans valeur === | ||
- | <note>On peut réinitialiser une variable en l' | + | <callout type=" |
=== 1.8 Portée des variables === | === 1.8 Portée des variables === | ||
- | > La **portée** d'une variable est la portion de code source où elle est accessible. | + | La **portée** d'une variable est la portion de code source où elle est accessible. |
- | <note important>Pour connaître la portée d'une variable on utilise la règle **LEGB** : \\ **L**ocalement (variable déclarée dans une fonction) \\ **E**nglobante (variable déclarée dans une fonction qui contient la fonction où elle est appelée) \\ **G**lobalement (variable déclarée globalement) \\ **B**uiltins (est une variable Built-in</ | + | <callout type=" |
* **Espace local** | * **Espace local** | ||
- | <note warning>Les variables définies dans un corps de fonction ou passées en paramètres sont seulement accessibles dans le corps de la fonction.</ | + | <callout icon=" |
//Exemple// | //Exemple// | ||
Ligne 212: | Ligne 212: | ||
</ | </ | ||
- | //Résultat attendu// | + | //Résultat attendu// |
+ | Avant l' | ||
+ | Dans la fonction func, valext = 5 \\ | ||
+ | Dans la fonction func, valint * 2 = 10 \\ | ||
+ | Après l' | ||
+ | **Une exception s'est produite : NameError** \\ | ||
+ | **name ' | ||
- | > Avant l' | + | <callout icon="fa fa-hand-stop-o" |
- | > Dans la fonction func, valext | + | |
- | > Dans la fonction func, valint * 2 = 10 | + | |
- | > Après l' | + | |
- | > **Une exception s'est produite : NameError** | + | |
- | > **name ' | + | |
- | + | ||
- | <note warning>Une fonction ne peut pas modifier la valeur d'une variable extérieure à son espace local par une affectation.</ | + | |
* **Variable globale** | * **Variable globale** | ||
- | <note warning>Pour modifier une variable extérieure à une fonction, on la qualifie de **globale**.</ | + | <callout icon=" |
//Exemple// | //Exemple// | ||
Ligne 240: | Ligne 239: | ||
print(" | print(" | ||
</ | </ | ||
- | |||
==== 2. Entrée / sortie dans la console ==== | ==== 2. Entrée / sortie dans la console ==== | ||
- | > Il est fréquent qu'un utilisateur ait besoin de saisir des informations lors de l' | + | Il est fréquent qu'un utilisateur ait besoin de saisir des informations lors de l' |
=== 2.1 Afficher le contenu des variables | === 2.1 Afficher le contenu des variables | ||
Ligne 255: | Ligne 253: | ||
</ | </ | ||
- | <note>Par défaut l' | + | <callout type=" |
// Exemple // | // Exemple // | ||
Ligne 275: | Ligne 273: | ||
---- | ---- | ||
+ | |||
+ | ==== 3. Constantes ==== | ||
+ | |||
+ | {{ : | ||
+ | * **Real Python** : < | ||
==== Résumé ==== | ==== Résumé ==== | ||
Ligne 294: | Ligne 297: | ||
==== Plus loin ... ==== | ==== Plus loin ... ==== | ||
+ | * < | ||
+ | * < | ||
* < | * < | ||