Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Mot-clé global Python

Mot-clé global Python

Dans cet article, vous découvrirez le mot-clé global, la variable globale et quand utiliser des mots-clés globaux.

Avant de lire cet article, assurez-vous d'avoir quelques notions de base sur les variables globales, locales et non locales de Python.

Quel est le mot-clé global

En Python, global Le mot clé vous permet de modifier la variable en dehors de la portée actuelle. Il est utilisé pour créer une variable globale et apporter des modifications à la variable dans un contexte local.

Règles du mot-clé global

Les règles de base pour global mot-clé en Python sont :

  • Lorsque nous créons une variable dans une fonction, elle est locale par défaut.
  • Lorsque nous définissons une variable en dehors d'une fonction, elle est globale par défaut. Vous n'êtes pas obligé d'utiliser global mot-clé.
  • Nous utilisons global mot-clé pour lire et écrire une variable globale dans une fonction.
  • Utilisation de global un mot-clé en dehors d'une fonction n'a aucun effet.

Utilisation du mot-clé global

Prenons un exemple.

Exemple 1 :Accéder à une variable globale depuis l'intérieur d'une fonction

c = 1 # global variable

def add():
    print(c)

add()

Lorsque nous exécutons le programme ci-dessus, la sortie sera :

1

Cependant, nous pouvons avoir des scénarios dans lesquels nous devons modifier la variable globale depuis l'intérieur d'une fonction.

Exemple 2 :Modification d'une variable globale depuis l'intérieur de la fonction

c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

Lorsque nous exécutons le programme ci-dessus, la sortie affiche une erreur :

UnboundLocalError: local variable 'c' referenced before assignment

En effet, nous ne pouvons accéder qu'à la variable globale, mais nous ne pouvons pas la modifier depuis l'intérieur de la fonction.

La solution pour cela est d'utiliser le global mot-clé.

Exemple 3 :Modification de la variable globale depuis l'intérieur d'une fonction à l'aide de global

c = 0 # global variable

def add():
    global c
    c = c + 2 # increment by 2
    print("Inside add():", c)

add()
print("In main:", c)

Lorsque nous exécutons le programme ci-dessus, la sortie sera :

Inside add(): 2
In main: 2

Dans le programme ci-dessus, nous définissons c en tant que mot-clé global à l'intérieur du add() fonction.

Ensuite, on incrémente la variable c par 2 , soit c = c + 2 . Après cela, nous appelons le add() fonction. Enfin, nous imprimons la variable globale c .

Comme nous pouvons le voir, le changement s'est également produit sur la variable globale en dehors de la fonction, c = 2 .

Variables globales dans les modules Python

En Python, nous créons un seul module config.py pour contenir des variables globales et partager des informations entre les modules Python au sein du même programme.

Voici comment nous pouvons partager des variables globales entre les modules Python.

Exemple 4 :Partager une variable globale entre les modules Python

Créer un config.py fichier, pour stocker des variables globales

a = 0
b = "empty"

Créer un update.py fichier, pour modifier les variables globales

import config

config.a = 10
config.b = "alphabet"

Créer un main.py fichier, pour tester les changements de valeur

import config
import update

print(config.a)
print(config.b)

Lorsque nous exécutons le main.py fichier, la sortie sera

10
alphabet

Dans ce qui précède, nous avons créé trois fichiers :config.py , update.py , et main.py .

Le module config.py stocke les variables globales de a et b . Dans le update.py fichier, nous importons le config.py module et modifier les valeurs de a et b . De même, dans le main.py fichier, nous importons les deux config.py et update.py module. Enfin, nous imprimons et testons les valeurs des variables globales qu'elles soient modifiées ou non.

Global dans les fonctions imbriquées

Voici comment utiliser une variable globale dans une fonction imbriquée.

Exemple 5 :Utilisation d'une variable globale dans une fonction imbriquée

def foo():
    x = 20

    def bar():
        global x
        x = 25
    
    print("Before calling bar: ", x)
    print("Calling bar now")
    bar()
    print("After calling bar: ", x)

foo()
print("x in main: ", x)

La sortie est :

Before calling bar: 20
Calling bar now
After calling bar: 20
x in main: 25

Dans le programme ci-dessus, nous avons déclaré une variable globale dans la fonction imbriquée bar() . À l'intérieur de foo() fonction, x n'a aucun effet sur le mot-clé global.

Avant et après avoir appelé le bar() , la variable x prend la valeur de la variable locale c'est-à-dire x = 20 . En dehors du foo() fonction, la variable x prendra la valeur définie dans le bar() fonction c'est-à-dire x = 25 . C'est parce que nous avons utilisé global mot clé en x pour créer une variable globale dans le bar() fonction (portée locale).

Si nous apportons des modifications dans le bar() fonction, les modifications apparaissent en dehors de la portée locale, c'est-à-dire foo() .


Python

  1. Types de données Python
  2. Opérateurs Python
  3. Instruction de passe Python
  4. Arguments de la fonction Python
  5. Variables Python globales, locales et non locales
  6. Dictionnaire Python
  7. Itérateurs Python
  8. Fermetures Python
  9. Date-heure Python