Comprender el alcance de las variables globales en Python

Understand Global Variables Scope Python



Se pueden definir dos tipos de variables en la mayoría de los lenguajes de programación. Estas son variables globales y variables locales. Las variables que se definen fuera de la función se denominan variable global. Esta variable es accesible y modificable desde cualquier lugar del script. La variable que se declara dentro de la función se llama variable local. Pero si existe el mismo nombre de variable como variables globales y locales, la variable dentro de la función obtendrá la prioridad y el valor de la variable global se ignorará. El alcance de la variable global en el script de Python se muestra en este tutorial usando varios ejemplos.

Ejemplo 1: uso simple de una variable global

El siguiente ejemplo muestra el uso simple de una variable global dentro y fuera de la función. Aquí, una variable global llamada texto se utiliza para asignar una cadena de datos. Una función personalizada llamada printMessage () se define para imprimir el valor de la variable global. El valor de la texto La variable se imprime dentro de la función y fuera de la función después de cambiar el valor.







#! / usr / bin / env python3

# Definir una variable global
texto= 'Bienvenido a LinuxHint'

# Definir una función
defprintMessage():

# Imprime la variable global de la función
impresión('Variable global dentro de la función: orte',texto)

# Llamar a la función
printMessage()

# Cambiar el valor de la variable global
texto= 'Aprenda a programar en Python'

# Imprime el valor actual de la variable global
impresión('Variable global fuera de la función: orte',texto)

Producción:



La siguiente salida aparecerá después de ejecutar el script. Imprimió el valor, ' Bienvenido a LinuxHint ’ que se asigna a la variable antes de llamar a la función. A continuación, imprimió el valor, 'Aprenda a programar en Python' después de cambiar el valor de la variable.







Ejemplo 2: uso de variable global y local con el mismo nombre

Si desea declarar un nombre de variable dentro de una función que ya está declarada como una variable global antes en Python y desea usar la variable, entonces tratará la variable como una variable local y generará un error. La siguiente secuencia de comandos mostrará el error. Aquí, el texto La variable se define como una variable global y local.

#! / usr / bin / env python3

# Definir una variable global
texto= 'Me gusta Python'

# Definir una función
defprintMessage():
impresión(texto)

texto= 'Me gusta PHP'

# Llamar a la función
printMessage()

Producción:



La siguiente salida aparecerá después de ejecutar el script.

Para evitar la situación anterior y si desea declarar una variable local con el mismo nombre que una variable global, primero debe asignar la variable local dentro de la función. El siguiente script muestra que los cambios en la variable local no hacen ningún cambio en la variable global. texto La variable se imprime aquí dentro y fuera de la función.

#! / usr / bin / env python3

# Definir una variable global
texto= 'Me gusta Python'

# Definir una función
defprintMessage():
# Degine valor local
texto= 'Me gusta PHP'
# Imprime la variable local, texto
impresión('El valor de' texto 'dentro de la función: orte',texto)

# Llamar a la función
printMessage()

# Imprime la variable global, texto
impresión('El valor de' texto 'fuera de la función: orte',texto)

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-3: uso de variable global dentro de la función

El ejemplo anterior muestra que la variable global no es accesible dentro de una función. Puedes usar lo global palabra clave para acceder a una variable global desde cualquier función. En el siguiente guión, cal_percentage () La función se define para calcular el porcentaje de cualquier número donde se utilizan variables tanto globales como locales. Aquí, en uno es una variable global y perVal es una variable local. global La palabra clave se usa aquí para identificar la variable global dentro de la función y el valor de la variable global se cambia dentro de la función.

#! / usr / bin / env python3

# Toma un valor entero
en uno= En t(aporte('Ingrese un numero : '))

# Definir la función
defcal_percentage():
# Reconocer la variable global usando palabra clave global
globalen uno

# Toma un valor entero como porcentaje
perVal= En t(aporte('Ingrese el valor porcentual:'))

# Calcule el valor porcentual
resultado= flotador((si * perVal)/100)

# Imprime el resultado formateado
impresión('% d porcentaje de% d =% f'%(perVal,en uno,resultado))

# Cambiar el valor de la variable global
en uno= 500

# Imprime el valor de la variable global antes de llamar a la función
impresión(' orteEl valor de num =% d '%en uno)

# Llamar a la función
cal_percentage()

# Imprime el valor de la variable global después de llamar a la función
impresión(' orteEl valor de num =% d '%en uno)

Producción:

La siguiente salida aparecerá después de ejecutar el script. Aquí, se calcula e imprime el 10% de 350.

Ejemplo 4: uso de variables globales de otro script

El siguiente ejemplo muestra cómo la variable global declarada en un script se puede utilizar en otro script. Supongamos que el nombre del archivo es global6.py que usará las variables globales definidas en el archivo llamado global5.py . Se declaran tres variables globales en global5.py . Tienes que importar global5 para usar las variables en otro script. El guión de global6.py calculará el salario de tres tipos de empleados en función de los valores de entrada y las variables globales.

#! / usr / bin / env python3
# este es el archivo global5.py

# Estructura salarial básica de una empresa
Básico= 5000
Médico= 500
Transporte= 500 #! / usr / bin / env python3
# este es el archivo global6.py

# Importar las variables globales de global5.py
importarglobal5

# Toma el nombre del empleado
nombre= aporte('Ingrese el nombre del empleado:')
# Toma el nombre de la publicación
correo= aporte('Ingrese la publicación:')

# Inicializar la variable de error
error= Falso

# Verifique la publicación y establezca el salario básico en función de la publicación
si(correo.superior() == 'CEO'):
básico=global5.Básico+(global5.Básico*0.4)
elif(correo.superior() == 'GERENTE'):
básico=global5.Básico+(global5.Básico*0.25)
elif(correo.superior() == 'CONTADOR'):
básico=global5.Básico+(global5.Básico*0.15)
demás:
# Establezca el error en verdadero si no se encuentra el valor de publicación
error= Cierto

# Imprime el salario si el error es flase
si (error== Falso):
salario=básico + global5.Médico+ global5.Transporte
impresión('El salario de% s es% d'%(nombre,salario))
demás:
impresión('La publicación no se encuentra')

Producción:

La siguiente salida aparecerá después de ejecutar el script. Aquí, el script se ejecuta dos veces con una publicación válida y una publicación no válida.

Conclusión:

El concepto de una variable global en Python se explica en este tutorial con varios ejemplos simples para los nuevos usuarios de Python. Espero que los lectores obtengan el conocimiento adecuado de las variables globales y locales después de leer este tutorial.

Ver el video del autor: aquí