python:bases:variables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:bases:variables [2022/08/16 08:42] – [1.6 Opérations arithmétiques et logiques] philpython:bases:variables [2022/09/25 10:33] (Version actuelle) – [Plus loin ...] phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]+[[python:bases:controle|{{ :suivant.png?nolink&30|Les instructions de contrôle}}]] {{ :retour.png?nolink&30|}} [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
  
-===== 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 43: Ligne 43:
  
 === 1.2 Déclaration et initialisation === === 1.2 Déclaration et initialisation ===
-<callout type="warningicon="true">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'**affectation** s'effectue avec le symbole "**=**".</callout>+<callout icon="fa fa-hand-stop-ocolor="red" title="ATTENTION">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'**affectation** s'effectue avec le symbole "**=**".</callout>
  
 <code python  exvar1.py> <code python  exvar1.py>
Ligne 181: Ligne 181:
  
 === 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)</note>+<callout type="warning" icon="true">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>
  
   * **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.</note>+<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">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>
  
 //Exemple// //Exemple//
Ligne 212: Ligne 212:
 </code> </code>
  
-//Résultat attendu//+//Résultat attendu// \\ 
 +Avant l'appel de func, valext =  5 \\ 
 +Dans la fonction func, valext = 5 \\ 
 +Dans la fonction func, valint * 2 =  10 \\ 
 +Après l'appel de func et l'opération valext = func(valext), valext =  10  car valint <- valext lors de l'appel \\ 
 +**Une exception s'est produite : NameError** \\ 
 +**name 'valint' is not defined** \\
  
-> Avant l'appel de func, valext  5 +<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">Une fonction ne peut pas modifier la valeur d'une variable extérieure à son espace local par une affectation.</callout>
-> Dans la fonction func, valext +
-> Dans la fonction func, valint * 2  10 +
-> Après l'appel de func et l'opération valext = func(valext), valext =  10  car valint <- valext lors de l'appel +
-> **Une exception s'est produite : NameError** +
-> **name 'valint' is not defined** +
- +
-<note warning>Une fonction ne peut pas modifier la valeur d'une variable extérieure à son espace local par une affectation.</note>+
  
   * **Variable globale**   * **Variable globale**
  
-<note warning>Pour modifier une variable extérieure à une fonction, on la qualifie de **globale**.</note>+<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">Pour modifier une variable extérieure à une fonction, on la qualifie de **globale**.</callout>
  
 //Exemple// //Exemple//
Ligne 240: Ligne 239:
 print("Après l'appel de func, valext = ", func()) print("Après l'appel de func, valext = ", func())
 </code> </code>
- 
  
 ==== 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'exécution d'un programme. Les fonctions **print()** et **input()** permettent d'interragir avec l'utilisateur dans la console.+Il est fréquent qu'un utilisateur ait besoin de saisir des informations lors de l'exécution d'un programme. Les fonctions **print()** et **input()** permettent d'interragir avec l'utilisateur dans la console.
  
 === 2.1 Afficher le contenu des variables  === === 2.1 Afficher le contenu des variables  ===
Ligne 255: Ligne 253:
 </code> </code>
  
-<callout type="primary" icon="trie">Par défaut l'instruction **print** provoque un retour à la ligne après l'affichage. On peut changer ce comportement en fournissant une autre chaîne de caractère à accoler à l'affichage comme ci-dessus ou même rien.</callout>+<callout type="primary" icon="true">Par défaut l'instruction **print** provoque un retour à la ligne après l'affichage. On peut changer ce comportement en fournissant une autre chaîne de caractère à accoler à l'affichage comme ci-dessus ou même rien.</callout>
  
 // Exemple // // Exemple //
Ligne 275: Ligne 273:
  
 ---- ----
 +
 +==== 3. Constantes ====
 +
 +{{ :python:bases:realpython.png?nolink|}}
 +  * **Real Python** : <html><a href="https://realpython.com/python-constants/" target=_blank">Python Constants: Improve Your Code's Maintainability</a></html>
  
 ==== Résumé ==== ==== Résumé ====
Ligne 294: Ligne 297:
  
 ==== Plus loin ... ==== ==== Plus loin ... ====
 +  * <html><a href="https://realpython.com/python-numbers/" target="_blank">Numbers in Python</a></html>
 +  * <html><a href="https://realpython.com/python-boolean/#the-in-operator" target="_blank">Python Booleans: Optimize Your Code With Truth Values</a></html>
   * <html><a href="https://realpython.com/python-namespaces-scope/" target="_blank">Namespaces and Scope in Python</a></html>   * <html><a href="https://realpython.com/python-namespaces-scope/" target="_blank">Namespaces and Scope in Python</a></html>
  
  • python/bases/variables.1660632165.txt.gz
  • Dernière modification : 2022/08/16 08:42
  • de phil