Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Palabra clave global de Python

Palabra clave global de Python

En este artículo, aprenderá sobre la palabra clave global, la variable global y cuándo usar palabras clave globales.

Antes de leer este artículo, asegúrese de tener algunos conceptos básicos de variables globales, locales y no locales de Python.


¿Qué es la palabra clave global

En Python, global La palabra clave le permite modificar la variable fuera del alcance actual. Se utiliza para crear una variable global y realizar cambios en la variable en un contexto local.


Reglas de palabra clave global

Las reglas básicas para global palabra clave en Python son:


Uso de palabra clave global

Tomemos un ejemplo.

Ejemplo 1:Acceder a una variable global desde dentro de una función

c = 1 # global variable

def add():
    print(c)

add()

Cuando ejecutamos el programa anterior, la salida será:

1

Sin embargo, es posible que tengamos algunos escenarios en los que necesitemos modificar la variable global desde dentro de una función.


Ejemplo 2:Modificación de la variable global desde dentro de la función

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

add()

Cuando ejecutamos el programa anterior, la salida muestra un error:

UnboundLocalError: local variable 'c' referenced before assignment

Esto se debe a que solo podemos acceder a la variable global pero no podemos modificarla desde dentro de la función.

La solución para esto es usar el global palabra clave.


Ejemplo 3:cambiar la variable global desde dentro de una función usando global

c = 0 # global variable

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

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

Cuando ejecutamos el programa anterior, la salida será:

Inside add(): 2
In main: 2

En el programa anterior, definimos c como palabra clave global dentro del add() función.

Luego, incrementamos la variable c por 2 , es decir, c = c + 2 . Después de eso, llamamos al add() función. Finalmente, imprimimos la variable global c .

Como podemos ver, también se produjo un cambio en la variable global fuera de la función, c = 2 .


Variables globales en módulos de Python

En Python, creamos un único módulo config.py para contener variables globales y compartir información entre módulos de Python dentro del mismo programa.

Así es como podemos compartir variables globales entre los módulos de python.

Ejemplo 4:compartir una variable global entre módulos de Python

Crea un config.py archivo, para almacenar variables globales

a = 0
b = "empty"

Crea un update.py archivo, para cambiar las variables globales

import config

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

Crea un main.py archivo, para probar cambios en el valor

import config
import update

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

Cuando ejecutamos el main.py archivo, la salida será

10
alphabet

En lo anterior, hemos creado tres archivos:config.py , update.py y main.py .

El módulo config.py almacena variables globales de a y b . En el update.py archivo, importamos el config.py módulo y modificar los valores de a y b . Del mismo modo, en el main.py archivo, importamos ambos config.py y update.py módulo. Finalmente, imprimimos y probamos los valores de las variables globales, ya sea que hayan cambiado o no.


Global en funciones anidadas

Así es como puede usar una variable global en una función anidada.

Ejemplo 5:uso de una variable global en una función anidada

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 salida es:

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

En el programa anterior, declaramos una variable global dentro de la función anidada bar() . Dentro de foo() función, x no tiene efecto de la palabra clave global.

Antes y después de llamar al bar() , la variable x toma el valor de la variable local, es decir, x = 20 . Fuera del foo() función, la variable x tomará el valor definido en el bar() función, es decir, x = 25 . Esto se debe a que hemos usado global palabra clave en x para crear una variable global dentro del bar() función (alcance local).

Si hacemos algún cambio dentro del bar() función, los cambios aparecen fuera del ámbito local, es decir, foo() .


python

  1. Tipos de datos de Python
  2. Operadores de Python
  3. Declaración de paso de Python
  4. Argumentos de la función de Python
  5. Variables globales, locales y no locales de Python
  6. Diccionario de Python
  7. Iteradores de Python
  8. Cierres Python
  9. Fecha y hora de Python
  10. Python - Descripción general
  11. Python - Tipos de variables