PYTHON - ALCANCE DE VARIABLES

Puedes ver todo el contenido de este vídeo GRATIS, simplemente registrandote

En esta sesión demostramos aspectos fundamentales a considerar sobre el alcance de variables en funciones y programas, incluyendo el alcance de los parámetros pasados a funciones.

Cargando video...

NOTA: ¡Este curso se encuentra disponible, completo y 100% gratis para ti!. Solo es necesario registrarse para poder disfrutarlo sin coste.

Descripción del Vídeo

El alcance de una variable es la función o programa más cercano a su declaración (o la sesión en el caso de la consola interactiva de Python)

No es válido utilizar el valor de una variable antes de que haya sido declarada o asignada

Al hacer una referencia a una variable, Python la buscará primero dentro del alcance más específico, y en caso de no encontrarla, buscará progresivamente en los entornos externos, hasta llegar al entorno global del programa o de la sesión del intérprete.

Podemos inspeccionar las variables disponibles en nuestro entorno con las funciones locals() y globals().

La importación de módulos afecta el entorno de nuestro programa

Los parámetros pasados a una función se comportan como variables locales dentro de la misma, y ésta puede modificarlos. Sin embargo, estas modificaciones internas no son visibles fuera de la función, para cadenas, enteros o tuplas. Sí pueden ser visibles externamente los cambios realizados a parámetros correspondientes a otros objetos, como listas, diccionarios, etc.
Código disponible en:
https://github.com/networkfaculty/Fundamentos-Python/blob/master/09-alcance-variables.py

#!/usr/bin/env python

"""
Ejemplos de alcance de variables
"""

def f():
    s = 42
    print('Estoy en la función f')
    print(s)

# En este primer ejemplo, la variable 's' dentro de la función f es una variable local,
# y no afecta el valor de 's' fuera de ella
s = '¡Hola, mundo!'
f()
print(s)

def g():
    print('Estoy en la función g')
    print(s)
    #s = 3.14 # Esta instrucción ocasionaría un error en tiempo de ejecución
    if s:
        t = 'Adiós...' # la variable t existe sólo dentro de la función g
        print(t)

    print(t) # aunque se definió dentro del bloque if, aún podemos usar 't' dentro de 'g'

g()
print(s)
#print(t) # Esto ocasionaría un error en tiempo de ejecución: 't' existe sólo dentro de 'g'

def h():
    global s # De este modo podemos acceder a la variable 's' de alcance global
    print('Estoy en la función h')
    print(s)
    s = 3.14 # Esta instrucción modifica la variable global de 's'

h()
print(s)

import math

def circunferencia(radio):
    longitud = 2 * math.pi * radio
    radio = 0 # El parámetro se comporta como una variable local en la función.
              # Para valores 'sencillos' como cadenas, números o tuplas, el valor del
              # parámetro en el ámbito de donde se llama a la función no se ve alterado.
              # En caso de otros tipos, como listas, diccionarios y otros objetos, es
              # posible afectar el valor del parámetro dentro de la función y que dicho
              # cambio sea visible fuera de ella
    return longitud

r = 10
print(circunferencia(r))
print(r)

Rating

Global

Ver video en playlist

comments powered by Disqus

Headshot of Juan Paredes

Juan Paredes

Ingeniero de Sistemas con amplia experiencia, especializado en el desarrollo y arquitectura de software.