CursosEmpresasBlogLiveConfPrecios

Scope: alcance de las variables

Clase 7 de 21 • Curso Profesional de Python

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    ¿Qué necesitas saber para tomar el curso?

    ¿Qué necesitas saber para tomar el curso?

    03:15 min
  • 2
    ¿Cómo funciona Python?

    ¿Cómo funciona Python?

    07:49 min
  • 3
    Cómo organizar las carpetas de tus proyectos

    Cómo organizar las carpetas de tus proyectos

    07:15 min

Static Typing

  • 4
    ¿Qué son los tipados?

    ¿Qué son los tipados?

    10:26 min
  • 5
    Tipado estático en Python

    Tipado estático en Python

    14:26 min
  • 6
    Practicando el tipado estático

    Practicando el tipado estático

    13:33 min

Conceptos avanzados de funciones

  • 7
    Scope: alcance de las variables

    Scope: alcance de las variables

    Viendo ahora
  • 8
    Closures

    Closures

    08:21 min
  • 9
    Programando closures

    Programando closures

    07:00 min
  • 10
    Decoradores

    Decoradores

    06:19 min
  • 11
    Programando decoradores

    Programando decoradores

    13:05 min

Estructuras de datos avanzadas

  • 12
    Iteradores

    Iteradores

    13:52 min
  • 13
    La sucesión de Fibonacci

    La sucesión de Fibonacci

    14:01 min
  • 14
    Generadores

    Generadores

    07:22 min
  • 15
    Mejorando nuestra sucesión de Fibonacci

    Mejorando nuestra sucesión de Fibonacci

    06:53 min
  • 16
    Sets

    Sets

    10:58 min
  • 17
    Operaciones con sets

    Operaciones con sets

    06:09 min
  • 18
    Eliminando los repetidos de una lista

    Eliminando los repetidos de una lista

    05:20 min

Bonus

  • 19
    Manejo de fechas

    Manejo de fechas

    08:44 min
  • 20
    Time zones

    Time zones

    08:46 min

Conclusión

  • 21
    Completaste la trilogía. ¿Cómo seguir?

    Completaste la trilogía. ¿Cómo seguir?

    01:30 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Brayan Alexis Lechon Andrango

        Brayan Alexis Lechon Andrango

        student•
        hace 5 años

        Resumen

        El scope es el alcance que tienen las variables. Depende de donde declares o inicialices una variable para saber si tienes acceso. Regla de oro:

        una variable solo esta disponible dentro de la region donde fue creada

        Local Scope

        Es la región que corresponde el ámbito de una función, donde podremos tener una o mas variables, las variables van a ser accesibles únicamente en esta region y no serán visibles para otras regiones

        Global Scope

        Al escribir una o mas variables en esta region, estas podrán ser accesibles desde cualquier parte del código.

        Untitled.png

          Luis Alejandro Vera Hernandez

          Luis Alejandro Vera Hernandez

          student•
          hace 4 años

          Muy buen aporte. Gracias

          María Jimena Rodríguez Contreras

          María Jimena Rodríguez Contreras

          student•
          hace 4 años

          gracias

        Andrés Gutiérrez Arcia

        Andrés Gutiérrez Arcia

        student•
        hace 5 años

        Tambien tenemos keywords como '''global''' y '''nonlocal''' Mas aqui: https://stackabuse.com/how-to-use-global-and-nonlocal-variables-in-python

          Carlos Celemín

          Carlos Celemín

          student•
          hace 4 años

          Gracias por el enlace

          Nicolas Von Muhlinen

          Nicolas Von Muhlinen

          student•
          hace 4 años

          Gracias!!

        Wilson Delgado

        Wilson Delgado

        student•
        hace 5 años

        Para visualizar el ámbito local y global de las variables:

        scope.jpg

        Para ampliar información este recurso puede ser útil: elclubdelautodidacta .es/wp/2012/12/python-vida-y-muerte-de-una-variable/

        Juan Carlos Zabaleta Lozano

        Juan Carlos Zabaleta Lozano

        student•
        hace 4 años

        Hay un curso de esto mismo pero en JavaScript recomendado

          Rodrigo Ramos Xochiteotzin

          Rodrigo Ramos Xochiteotzin

          student•
          hace 4 años

          Esto lo entendí gracias a JS, también los clousures. Me encanta que aprender algo no es en vano y se relaciona con otras cosas que también aprendes.

          Reinaldo Mendoza

          Reinaldo Mendoza

          student•
          hace 4 años

          Cada vez que escucho scope recuerdo js, fue ahi donde en realidad aprendí el significado del scope

        Pablo .

        Pablo .

        student•
        hace 4 años

        Como añadidura, les adjunto un enlace sobre el alcance de las variables en Python: LEGB

        • Local
        • Enclose
        • Global
        • Built-in

        Algunas otras referencias:

        • Python Scope & the LEGB Rule: Resolving Names in Your Code
        • Namespaces and Scope in Python
          Lucas abel cruz santana

          Lucas abel cruz santana

          student•
          hace 4 años

          la de medium estuvo genial, gracias por compartirla pablo.

        Leonardo Carvallo

        Leonardo Carvallo

        student•
        hace 4 años

        Para los que preguntan por la Keyword 'Global'

        Básicamente es para indicar que alguna variable dentro de la función va a ser global y va a poder ser utilizada en otros bloques de código sin necesidad de ser pasada como parámetro.

        def func1(A,B): global C C = A + B print(C) def func2(D): E = C + D print(E) func1(1,2) func2(3)
        Capture.PNG
          Javier Suárez Meerhoff

          Javier Suárez Meerhoff

          student•
          hace 4 años

          gracias!

        david roberto urquiza rivera

        david roberto urquiza rivera

        student•
        hace 4 años

        Les recomiendo esta pagina que te ayuda a correr el código online paso por paso y te va indicando que esta pasando en cada linea que se lee

        https://pythontutor.com/

          Dacia Arminda Flores Ojeda

          Dacia Arminda Flores Ojeda

          student•
          hace 4 años

          increible!

          Rubén Gustavo García Málaga

          Rubén Gustavo García Málaga

          student•
          hace 3 años

          Gran aporte!

        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        student•
        hace 5 años

        Scope: alcance de las variables

        Una variable solo está disponible dentro de la región donde fue creada.

        # Local Scope def my_func(): y = 5 #La variable solo está disponible en esta función print(y) my_func() # 5

        # Global Scope y = 5 def my_func(): print(y) def my_other_func(): print(y) my_func() # 5 my_other_func() # 5

        z = 5 # global def my_func(): z = 3 # z local print(z) my_func() # 3 - local print(z) # 5 - global

        z = 5 def my_func(): z = 3 def my_other_func(): z = 2 print(z) my_other_func() # 2 print(z) # 3 my_func() print(z) # 5
          david alvarez

          david alvarez

          student•
          hace 3 años

          Me parece más apropiado así

          py.png

        Santiago Lopera Naranjo

        Santiago Lopera Naranjo

        student•
        hace 4 años

        Pequeño reto, que saldría en la terminal? :D

        string1: str = 'de aprender' def printSomething(): string1: str = "Nunca pares" def printSomething(): print(string1)```
          Reinaldo Mendoza

          Reinaldo Mendoza

          student•
          hace 4 años

          Nunca pares de aprender

          Manuel G. Pineda

          Manuel G. Pineda

          student•
          hace 4 años

          Que bueno! Me gustan los retos. Solo que la segunda no seria una definición de la función printSomething, sino mas bien la invocación de la misma para que te imprima "Nunca pares" Es decir, la linea 5 no sería def printSomething(): sino solo printSomething(). Muchas gracias por la iniciativa!

        Pedro Alvarado Garcia

        Pedro Alvarado Garcia

        student•
        hace 5 años

        Aquí un ejemplo de como puedes comprobar que no son la misma variable usando la built-in function id()

        Captura de Pantalla 2021-07-28 a la(s) 13.54.33.png

        Carlos José Tun Pinzón

        Carlos José Tun Pinzón

        student•
        hace 5 años

        Scope

        Se refiere al alcance de las variables, es decir, desde donde son vistas o "viven". Estas pueden ser ya sea locales o globales. Como regla principal se tiene: "La variable está disponible en la región donde fue creada" Si una variable se crea dentro de una función, solo estará disponible dentro de esta, en cambio si una variable se crea por ejemplo en la raíz del programa puede estar disponible para todas las funciones.

        Ejemplos:

        # Local Scope defmy_func(): y = 5 #La variable solo está disponible en esta función print(y) my_func() # 5

        # Global Scope y = 5 defmy_func(): print(y) defmy_other_func(): print(y) my_func() # 5 my_other_func() # 5
        Sebastián Andrade

        Sebastián Andrade

        student•
        hace 4 años

        Hola, tengo una duda. El siguiente codigo me da un error, me dice que la variable x esta siendo referenciada antes de asignarle un valor, lo que yo esperaba que pasara era que foo, sumara 1 a lo que ya habia antes en x, lo imprimiera y despues ver como la variable global x no cambia, ¿Alguien me puede explicar por què no sucede esto?

        x = 10 def foo(): x = x + 1 print(x) if __name__ == '__main__': foo()
          A CM

          A CM

          student•
          hace 4 años

          Hola Sebastian. Dado que en el interior de la función estas realizando una asignación x = x + 1 debes tener una variable x inicializada con anterioridad en el cuerpo de la función. Nota que esto solaparia el valor de tu x global (x = 10), por lo tanto la solución a tu problema seria print(x + 1) ya que puedes leer el valor y por ende usarlo.

          Sebastián Andrade

          Sebastián Andrade

          student•
          hace 4 años

          Gracias

        Jose Barboza

        Jose Barboza

        student•
        hace 4 años

        interesante lo aprendí con js

        Daniel Toro

        Daniel Toro

        student•
        hace 4 años

        Encontré algo curioso en el funcionamiento de mypy. A continuación les pongo mi código para saber si un número es primo o no.

        def is_prime(number: int) -> bool: if number > 1: for i in range(2, int(number/2) + 1): if number % i == 0: return False return True def run(): print(is_prime(True)) if __name__=='__main__': run()

        Si se fijan bien, le estoy pasando como parámetro un valor de tipo booleano (en este caso True) a mi función. El mypy debería identificar que hay un problema de tipado, ya que, en la función is_prime está especificado que recibe un entero como parámetro, sin embargo, al correrlo me dice que todo está en órden. se me hizo un caso curioso y por eso se los comparto, si alguien tiene la respuesta de por qué pasa esto, me encantaría saberla!

          Mateo Echavarria

          Mateo Echavarria

          student•
          hace 4 años

          Dentro de python el valor de True = 1 y el de False = 0, por eso cuando le pasar True la función lo toma como 1

        Antonio Demarco Bonino

        Antonio Demarco Bonino

        student•
        hace 4 años

        Tuve que verla más de una vez a esta clase para poder entenderla. La verdad es que se saca mucho provecho de las clases aunque hay que ponerle mucho pienso y cabeza a los conceptos vertidos.

        Antonio Demarco Bonino

        Antonio Demarco Bonino

        student•
        hace 4 años

        Quedémonos con esto: Una variable solo está disponible dentro de la región donde fue creada.

        Victor Martinez Giron

        Victor Martinez Giron

        student•
        hace 4 años

        Aqui podemos observar la varaible "c" en un scope global y local. No hay conflicto entre los Scope y que es independiente de donde se llame.

        def cajanegra(): c = 3 print('La variable c dentro de la función tiene por valor', c) a = 1 b = 2 c = 5 print(a) print(b) cajanegra() print('La variable c fuera de la función tiene por valor', c)
        >>> 1 2 La variable c dentro de la función tiene por valor 3 La variable c fuera de la función tiene por valor 5
        Leonardo Ramos Soto

        Leonardo Ramos Soto

        student•
        hace 4 años

        lo entiendo como el ámbito donde se encuentra la variable y que alcance tiene y desde donde se le puede acceder y hasta donde se puede tomar en cuenta la variable

        Gabriel Missael Barco

        Gabriel Missael Barco

        student•
        hace 4 años

        Scope: alcance de las variables

        • Una variable solo está disponible dentro de la región donde fue creada 🧠.

        • Local scope: Región que se corresponde al ámbito de una función:

          # Local scope def my_func(): y = 5 print(y) my_func() # 5

          En este caso, la variable y no puede ser leída fuera de la función.

        • Global scope: Variables que tienen alcance en todo nuestro programa. 🌎

          # Global scope y = 5 def my_func(): print(y) def my_other_func(): print(y) my_func() my_other_func() # 5 # 5
        • Podemos tener dos variables que se llaman igual, pero dado a que una es global y otra es local, son objetos diferentes. En la función, se le da prioridad a la variable más local. 🤔

        Emmanuel Corral Marco

        Emmanuel Corral Marco

        student•
        hace 5 años

        The Scope of variables

        Scope refers to the action range of a variable.

        • Gold tip: variables only can be use into the region where they was created.

        • Local Scope: the range of action for this variables are within a function.

        def my_func(): local_variable = "Python" print(local_variable)
        • Global Scope: In this case the range of variables are in all program.
        global_variable = "Profesional" def my_func(): print(global_variable) def my_other_func(): local_variable = "Python" print(local_variable + global_variable)