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
  • 2
    ¿Cómo funciona Python?

    ¿Cómo funciona Python?

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

    Cómo organizar las carpetas de tus proyectos

    07:15
Static Typing
  • 4
    ¿Qué son los tipados?

    ¿Qué son los tipados?

    10:26
  • 5
    Tipado estático en Python

    Tipado estático en Python

    14:26
  • 6
    Practicando el tipado estático

    Practicando el tipado estático

    13:33
Conceptos avanzados de funciones
  • 7
    Scope: alcance de las variables

    Scope: alcance de las variables

    06:32
  • 8
    Closures

    Closures

    08:21
  • 9
    Programando closures

    Programando closures

    07:00
  • 10
    Decoradores

    Decoradores

    06:19
  • 11
    Programando decoradores

    Programando decoradores

    13:05
Estructuras de datos avanzadas
  • 12
    Iteradores

    Iteradores

    13:52
  • 13
    La sucesión de Fibonacci

    La sucesión de Fibonacci

    14:01
  • 14
    Generadores

    Generadores

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

    Mejorando nuestra sucesión de Fibonacci

    06:53
  • 16
    Sets

    Sets

    10:58
  • 17
    Operaciones con sets

    Operaciones con sets

    06:09
  • 18
    Eliminando los repetidos de una lista

    Eliminando los repetidos de una lista

    05:20
Bonus
  • 19
    Manejo de fechas

    Manejo de fechas

    08:44
  • 20
    Time zones

    Time zones

    08:46
Conclusión
  • 21
    Completaste la trilogía. ¿Cómo seguir?

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

    01:30
    Brayan Alexis Lechon Andrango

    Brayan Alexis Lechon Andrango

    student•
    hace 4 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 4 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 4 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 4 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 4 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 4 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 4 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)

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