¿Qué es la Libreria Turtle?

Explorando Turtle: Dibujo Creativo con Python

18/02/2026

Valoración: 4.46 (12595 votos)

Hoy nos adentraremos en un módulo de Python que, aunque simple en su concepto, abre un universo de posibilidades creativas: la librería Turtle. Esta herramienta didáctica, inspirada en el lenguaje de programación Logo de 1967, creado por Wally Feurzeig y Seymour Papert, permite a programadores de todos los niveles explorar los fundamentos de la programación gráfica de una manera intuitiva y visualmente gratificante. Prepárate para conocer a tu nueva compañera de código: una tortuga virtual capaz de dibujar cualquier cosa que le pidas.

¿Cómo ocultar la tortuga en Python?
La función showturtle () muestra el cursor (la tortuga). La función hideturtle () oculta el cursor (la tortuga). Si no se quiere mostrar la tortuga, es mejor ocultarla al principio del programa, ya que el programa se ejecutará más rápido.
Índice de Contenido

¿Qué es la Librería Turtle?

La librería Turtle es un módulo estándar de Python que proporciona una interfaz simple para gráficos de tortuga. Imagina que tienes una pequeña tortuga robot sobre un lienzo en blanco, que inicialmente se encuentra en el centro (coordenadas 0,0) y mira hacia la derecha. A medida que le das instrucciones de movimiento, la tortuga avanza o gira, dejando un rastro por donde pasa. Este rastro es lo que conforma tu dibujo. Es una forma excelente de visualizar algoritmos, entender coordenadas cartesianas y sumergirse en la programación de gráficos.

Cada comando en Turtle está diseñado para realizar una acción específica, lo que la hace ideal para fines educativos, especialmente para introducir conceptos de programación a principiantes. La tortuga no solo se mueve; también tiene una 'cabeza' que indica su dirección actual, la cual puedes ajustar en grados (de 0 a 360) o radianes.

Comandos Básicos de Movimiento de la Tortuga

Para que nuestra tortuga cobre vida y empiece a dibujar, necesitamos darle instrucciones. Aquí te presentamos los comandos más fundamentales:

  • nombre.forward(d): Avanza d pasos (píxeles) en la dirección actual de la tortuga.
  • nombre.backward(d): Retrocede d pasos (píxeles) en la dirección opuesta a la que mira la tortuga.
  • nombre.left(g): Gira la tortuga g grados hacia su izquierda.
  • nombre.right(g): Gira la tortuga g grados hacia su derecha.
  • nombre.penup(): Levanta el 'lápiz' de la tortuga. Al moverse, no dejará rastro.
  • nombre.pendown(): Baja el 'lápiz' de la tortuga. Volverá a dejar rastro al moverse.

Ejemplo de un Dibujo Simple

Veamos un ejemplo práctico de cómo usar estos comandos para dibujar una forma básica:

import turtle # Configurar la ventana de dibujo turtle.setup(800, 600) vent = turtle.Screen() # Definimos el objeto de la ventana vent.title("Mi Primer Dibujo con Turtle") # Establecemos el título # Crear nuestra tortuga alex = turtle.Turtle() # Dar instrucciones a Alex alex.forward(300) # Alex camina 300px hacia adelante alex.left(90) # Alex gira 90 grados a su izquierda alex.forward(200) # Alex avanza 200px # Mantener la ventana abierta hasta que se cierre manualmente (en algunos entornos) vent._root.mainloop() 

Al ejecutar este código, verás cómo la tortuga dibuja una forma de 'L' en la pantalla.

Personalización del Entorno y la Tortuga

Turtle no solo te permite mover una tortuga, sino que también ofrece amplias opciones para personalizar tanto la apariencia de la tortuga como el lienzo de dibujo. Puedes cambiar colores, grosores de línea, la forma de la tortuga y mucho más.

¿Cuáles son las funciones de Turtle?
Esto va a importar todas las funciones como speed, right, forward, etcétera (propias de turtle), mismas que puedes consultar aquí. Todos los trazos que turtle haga van dejando rastro, es importante saber esto. Con forward se avanza en la dirección establecida por el giro. Por defecto se avanza hacia la derecha.

Configuración de la Ventana de Dibujo

La ventana de dibujo es tu lienzo. Puedes definir su tamaño, posición y título:

  • turtle.setup(ancho, alto, posicionX, posicionY): Define el tamaño y la posición inicial de la ventana en píxeles. posicionX y posicionY son opcionales y controlan dónde aparece la ventana en tu pantalla.
  • vent.title("Mi Título"): Establece el título que se muestra en la barra superior de la ventana.
  • vent.bgcolor("color"): Cambia el color de fondo de la ventana. Puedes usar nombres de colores (ej. "black", "lightblue") o códigos RGB.
  • vent.screensize(ancho, alto): Define el tamaño del área de dibujo dentro de la ventana. Si es más grande que la ventana, aparecerán barras de desplazamiento.
  • vent.exitonclick(): Mantiene la ventana abierta hasta que el usuario haga clic en ella, ideal para programas que se ejecutan desde la línea de comandos.

Personalización de la Tortuga y el Trazo

Puedes cambiar la apariencia de tu tortuga y del rastro que deja:

  • nombre.color("color"): Establece el color del trazo de la tortuga.
  • nombre.pensize(grosor): Define el grosor del trazo en píxeles.
  • nombre.shape("forma"): Cambia la forma de la tortuga. Las formas predefinidas incluyen "arrow" (predeterminada), "turtle", "circle", "square", "triangle" y "classic".
  • nombre.hideturtle(): Oculta la tortuga. El dibujo seguirá creándose, pero el cursor no será visible. Esto puede acelerar el dibujo.
  • nombre.showturtle(): Muestra la tortuga si estaba oculta.
  • nombre.speed(velocidad): Controla la velocidad de animación de la tortuga. Los valores van de 0 (más rápido, sin animación visible) a 10 (más lento).

Ejemplo de Personalización

Aquí un ejemplo que combina varias personalizaciones:

import turtle turtle.setup(800, 600) vent = turtle.Screen() vent.bgcolor("black") # Fondo negro vent.title("Este es Spade") # Título personalizado spade = turtle.Turtle() spade.color("white") # Trazo blanco spade.pensize(5) # Grosor de 5 píxeles spade.shape("turtle") # La tortuga se ve como una tortuga real # Dibujamos un '8' spade.forward(300) spade.left(120) spade.forward(300) spade.left(120) spade.forward(600) spade.right(120) spade.forward(300) spade.right(120) spade.forward(300) vent.exitonclick() 

Este código no solo dibuja una figura, sino que lo hace con un estilo visual que tú defines.

Dibujo Avanzado: Funciones, Bucles y Recursión

La verdadera potencia de Turtle se revela cuando la combinamos con conceptos de programación más avanzados como funciones, bucles y recursión. Esto nos permite crear patrones complejos y figuras geométricas con muy pocas líneas de código.

Creando Polígonos con Funciones

Podemos definir una función que dibuje cualquier polígono regular, simplemente especificando el número de lados y la longitud de cada lado:

import turtle def polygon(n, m): """ Dibuja un polígono regular de n lados, cada lado de tamaño m. n: número de lados m: longitud de cada lado """ angulo = 360 / n turtle.setup(800, 600) vent = turtle.Screen() vent.bgcolor("lightblue") vent.title("Polygon Maker") poly = turtle.Turtle() poly.shape("turtle") poly.color("black") poly.pensize(3) # Bucle para dibujar cada lado y girar for _ in range(n): # Usamos _ si la variable del bucle no se usa poly.forward(m) poly.left(angulo) vent._root.mainloop() # Para dibujar un pentágono de 100 píxeles por lado: # polygon(5, 100) 

Si llamas a polygon(5,100), la tortuga dibujará un pentágono perfecto. Este ejemplo demuestra cómo las funciones y los bucles simplifican la creación de figuras repetitivas.

Dibujando Fractales: La Curva de Koch

Los fractales son fascinantes figuras geométricas que presentan auto-similitud, es decir, que cada parte de la figura es una versión a escala de la figura completa. La librería Turtle es una herramienta fantástica para explorar la recursión y dibujar fractales. Un ejemplo clásico es la Curva de Koch.

¿Qué es la Libreria Turtle?
En esta entrada me limitare a hablar de solamente una libreria de las cientas que tiene Python, pero que da mucho para hablar. La libreria Turtle, son una serie de comandos completamente dedicados a una acción especifica. Esta libreria puede crear una "Tortuga robot" que crea trazos dentro de un plano cartesiano determinado.
import turtle def koch(n, m): """ Dibuja un segmento de la Curva de Koch. n: orden del fractal (nivel de recursión) m: longitud del segmento """ kochy = turtle.Turtle() vent = turtle.Screen() vent.setup(800, 200) kochy.penup() kochy.backward(m / 2) # Mover al inicio para centrar el fractal kochy.pendown() def koch_segment(n_level, length): if n_level == 0: kochy.forward(length) else: # Reglas de la Curva de Koch: dividir en 4 segmentos # y girar en los puntos intermedios koch_segment(n_level - 1, length / 3) kochy.left(60) koch_segment(n_level - 1, length / 3) kochy.right(120) koch_segment(n_level - 1, length / 3) kochy.left(60) koch_segment(n_level - 1, length / 3) koch_segment(n, m) # Llamada inicial a la función recursiva vent.exitonclick() # Para dibujar una Curva de Koch de orden 5 y longitud 500: # koch(5, 500) 

La función koch_segment se llama a sí misma repetidamente (recursión) para dibujar segmentos cada vez más pequeños, creando la complejidad característica del fractal. Es un ejemplo brillante de cómo un concepto matemático abstracto se puede visualizar con programación.

Más Allá de las Líneas: Puntos y Rellenos

Turtle no se limita solo a dibujar líneas. También puedes dibujar puntos y rellenar figuras con color, añadiendo más detalle a tus creaciones.

Dibujando Puntos

La función dot() te permite dibujar un punto en la posición actual de la tortuga:

  • nombre.dot(grosor, color): Dibuja un punto con el grosor especificado (en píxeles) y el color. El color puede ser un nombre o una tupla RGB.

Para dibujar solo puntos sin líneas, puedes usar penup() antes de mover la tortuga y luego dot().

Rellenando Figuras

Para rellenar una forma cerrada, sigues estos pasos:

  • nombre.begin_fill(): Indica que cualquier figura que se dibuje a partir de este punto debe ser rellenada.
  • nombre.end_fill(): Finaliza el proceso de relleno y rellena la figura dibujada desde begin_fill().
  • nombre.fillcolor("color"): Establece el color con el que se rellenará la figura. Si no se especifica, el color predeterminado es negro.

Es importante notar que Python intentará rellenar la figura incluso si no la cierras completamente (conectará el último punto con el primero automáticamente). Si las líneas se cruzan, rellenará cada parte cerrada individualmente.

Trabajando con Colores (RGB y Nombres)

Turtle ofrece flexibilidad para definir colores:

  • Nombres de colores: Puedes usar nombres como "red", "blue", "green", "white", "black", etc.
  • Valores RGB: Puedes usar tuplas de 3 números para Rojo, Verde y Azul. La escala de estos números se define con turtle.colormode():
    • turtle.colormode(255): Los valores RGB van de 0 a 255 (ej. (255, 0, 0) para rojo puro).
    • turtle.colormode(1): Los valores RGB van de 0.0 a 1.0 (ej. (1.0, 0.0, 0.0) para rojo puro).

Preguntas Frecuentes sobre la Librería Turtle

PreguntaRespuesta
¿Necesito instalar Turtle?No, la librería Turtle viene incluida por defecto con la instalación estándar de Python 3. Solo necesitas importarla.
¿Cómo detengo la ejecución de un programa Turtle?Puedes usar vent.exitonclick() para que la ventana se cierre al hacer clic, o vent._root.mainloop() (en algunos entornos) para mantenerla abierta indefinidamente hasta que la cierres manualmente.
¿Por qué mi tortuga se mueve tan rápido/lento?Usa el comando nombre.speed(velocidad). Un valor de 0 es el más rápido (sin animación), mientras que valores de 1 a 10 controlan la velocidad de animación.
¿Puedo dibujar fuera de la ventana inicial?Sí, la tortuga puede dibujar fuera de los límites iniciales de la ventana. Puedes usar screensize() para ajustar el área de dibujo y ver más de tu creación, o simplemente hacer la ventana más grande con setup().
¿Cómo puedo limpiar la pantalla o resetear la tortuga?Puedes usar nombre.clear() para borrar el dibujo pero mantener la tortuga en su lugar, o nombre.reset() para borrar el dibujo y devolver la tortuga a su estado y posición iniciales.

La librería Turtle es una herramienta excelente para aprender y experimentar con gráficos y programación en Python. Su simplicidad es su mayor fortaleza, permitiendo a los usuarios centrarse en los conceptos lógicos y creativos sin preocuparse por complejidades subyacentes. Desde dibujar cuadrados y estrellas hasta explorar la belleza de los fractales, Turtle demuestra que la programación puede ser una forma de arte. ¡Anímate a explorar sus posibilidades y a crear tus propias obras maestras digitales!

Si quieres conocer otros artículos parecidos a Explorando Turtle: Dibujo Creativo con Python puedes visitar la categoría Librerías.

Subir