3

Scope o alcance (Computer Science)

Scope o alcance (Computer Science)

El scope o alcance es una región del programa, y el scope de variables se refiere al área del programa donde las variables del programa pueden ser accedidas después de haber sido declaradas. De manera general, podemos decir que hay 3 lugares donde las variables pueden ser declaradas:

  • Dentro de una función o un bloque de código, las cuales se conocen como variables locales.
  • Fuera de una función, las cuales se conocen como variables globales.
  • En la definición de parámetros de una función, conocidos como parámetros formales.

Una variable solo está disponible dentro de la región en la cual es creada.

<h3>Variables locales o local variables</h3>

Son variables que son declaradas dentro de una función o un bloque de código y pueden solo pueden ser usadas dentro de la misma.

Veamos un ejemplo:

deffunc_one():
  x = 10
  print(x)

func_one()

La variable x está declarada dentro de la función func_one y solo puede ser utilizada dentro de esta función mas no fuera de esta.

Es importante tener en cuenta que sucede cuando una función está dentro de una función. Como se explica arriba, la variable x no está disponible fuera de la función func_one, sin embargo, es importante tener presente que la variable x si estará disponible para todas las funciones que estén dentro de la función func_one.

Aquí las palabras claves son fuera y dentro.

Veamos el siguiente ejemplo. Supongamos que yo defino una función llamada inner_func dentro de la función func_one:

deffunc_one():
    x = 10
    print(x)
    definner_func():
        print(x)
    inner_func()

func_one()

<h3>Variables globales o global variables</h3>

Una variable creada en el cuerpo principal de un programa es una variable global. Esta variable pertenece al scope o al alcance global, es decir, que están disponibles para cualquier scope o región del programa - tanto para el global como para el local.

Veamos el siguiente ejemplo:

x = 10deffunc_one():
    print(x)

func_one()

print(x)

En este caso, la variable x está declarada fuera de la función func_one pero puede ser utilizada dentro de esta.

Un programa puede tener el mismo nombre para una variable local y una variable global pero tomará preferencia la variable local dentro de la función:

x = 10deffunc_one():
    x = 20
    print(x)

func_one()

print(x)

Al ejecutar el código veremos qué arrojará primero 20 y luego 10. Eso es porque dentro de la función la variable local tiene preferencia sobre la variable global. Ten en cuenta que estamos imprimiendo tanto la variable x de la función func_one que tiene un valor de 20 como la variable x definida globalmente que tiene un valor de 10.

Escribe tu comentario
+ 2