• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Encuestas: Tamaño de Muestra
    • Lotería: Probabilidad de Ganar
    • Reparto de Escaños (D’Hondt)
    • Tres en Raya con IA
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

¿Por qué recibo ‘NameError: name X is not defined’ en Python? Aprende cómo solucionarlo

marzo 17, 2025 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

El error “NameError: name X is not defined” es uno de los más comunes en Python, especialmente entre quienes están comenzando a programar. Ocurre cuando intentas usar una variable, función u otro identificador que no ha sido definido previamente en el código.

En esta entrada, explicaremos qué significa este error, por qué ocurre y cómo solucionarlo paso a paso. Además, veremos ejemplos prácticos y buenas prácticas para evitarlo en el futuro.

Tabla de contenidos

  • 1 ¿Qué significa 'NameError: name X is not defined’?
  • 2 Causas comunes del error ‘NameError’
    • 2.1 Variable no definida
    • 2.2 Error tipográfico
    • 2.3 Orden incorrecto en el código
    • 2.4 Falta de importaciones
    • 2.5 Alcance incorrecto de variables
  • 3 Cómo solucionar el error ‘NameError’
    • 3.1 Define las variables antes de usarlas
    • 3.2 Revisa errores tipográficos
    • 3.3 Declara las variables en el orden correcto
    • 3.4 Importa los módulos necesarios
    • 3.5 Usa variables dentro de su alcance
  • 4 Conclusiones

¿Qué significa 'NameError: name X is not defined’?

En Python, el error 'NameError: name X is not defined' aparece cuando intentas utilizar un nombre (ya sea una variable, función o módulo) que el intérprete no reconoce porque no ha sido definido previamente en el ámbito actual del código. Esto es, no se ha definido o importado previamente para que el intérprete de Python la conozca.

Por ejemplo, si intentas imprimir una variable que no existe, obtendrás un NameError:

print(variable_inexistente)

Lo que producirá una salida del error en la consola como la que se muestra a continuación:

NameError: name 'variable_inexistente' is not defined

En este caso, la variable variable_inexistente no ha sido declarada antes de su uso, lo que provoca el error.

Publicidad


Causas comunes del error ‘NameError’

Este error se produce cuando intentamos acceder a un nombre que no existe en el contexto actual del código. Algunas de las causas más comunes incluyen:

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)
En Analytics Lane
Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

Variable no definida

Intentar usar una variable que nunca ha sido declarada o que está fuera del alcance actual del código.

if True:
    x = 10

print(y)  # Error: 'y' no está definida

En este caso, la variable y nunca fue declarada antes de su uso, lo que genera el error.

Publicidad


Error tipográfico

A veces, el error se debe a un simple fallo al escribir el nombre de la variable o función.

mi_variable = 42

print(mi-varaible)  # Error tipográfico

Aquí se ha escrito mi-varaible en lugar de mi_variable, lo que causa el NameError.

Orden incorrecto en el código

Si intentas usar una variable antes de definirla, obtendrás este error.

print(valor)

valor = 100

En este caso, la variable valor se usa antes de ser declarada, lo que genera el error.

Publicidad


Falta de importaciones

Cuando se trabaja con módulos, es posible olvidar importar un módulo antes de usarlo.

math.sqrt(16)  # Error: el módulo 'math' no ha sido importado

Para corregirlo, asegúrate de importar el módulo antes de usarlo:

import math

print(math.sqrt(16))  # Correcto

Alcance incorrecto de variables

Si intentas acceder a una variable fuera de su ámbito de definición, también obtendrás este error.

def funcion_local():
    variable_local = 10

print(variable_local)  # Error: la variable no existe fuera de la función

La variable variable_local solo existe dentro de la función funcion_local(), por lo que intentar acceder a ella fuera de la función genera un NameError.

Publicidad


Cómo solucionar el error ‘NameError’

Para evitar este problema, sigue estas buenas prácticas al escribir tu código:

Define las variables antes de usarlas

Asegúrate siempre de que las variables estén definidas antes de utilizarlas.

mensaje = "Hola, mundo"

print(mensaje)  # Correcto

Publicidad


Revisa errores tipográficos

Verifica que los nombres de variables y funciones estén escritos correctamente.

edad_usuario = 25

print(edad_usuario)  # Correcto

Declara las variables en el orden correcto

Siempre define las variables antes de usarlas en el código.

valor = 100

print(valor)  # Correcto

Publicidad


Importa los módulos necesarios

Antes de utilizar funciones o clases de un módulo, asegúrate de importarlo correctamente.

import math

print(math.sqrt(25))  # Correcto

Usa variables dentro de su alcance

Si necesitas acceder a una variable definida dentro de una función, devuélvela como parte de su resultado.

def obtener_valor():
    variable_local = 10
    return variable_local

print(obtener_valor())  # Correcto

Publicidad


Conclusiones

El error “NameError: name X is not defined” puede parecer frustrante al principio, pero con un poco de atención y siguiendo las buenas prácticas mencionadas en esta entrada, podrás evitarlo fácilmente.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)
  • La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento
  • Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows
  • Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte
  • Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)
  • Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato
  • ¿Media, mediana o moda en variables ordinales? Guía práctica para el análisis de datos
  • Cómo ejecutar JavaScript desde Python: Guía práctica con js2py
  • Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Curiosidad: ¿Por qué los datos “raros” son tan valiosos?

noviembre 6, 2025 Por Daniel Rodríguez

Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)

noviembre 4, 2025 Por Daniel Rodríguez

Cómo ejecutar JavaScript desde Python: Guía práctica con js2py

octubre 30, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Curiosidad: ¿Por qué los datos “raros” son tan valiosos? publicado el noviembre 6, 2025 | en Ciencia de datos, Opinión
  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Redondear la hora en Python para agrupar datos publicado el octubre 26, 2020 | en Python
  • Usar macros de 32 bits en Excel de 64 bits publicado el marzo 9, 2022 | en Herramientas
  • ¿Cómo comprobar si un archivo existe en Python sin generar excepciones? publicado el junio 2, 2025 | en Python

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown
  • Daniel Rodríguez en Tutorial de Mypy para Principiantes

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto