¡Hola Pi! Empezando a programar en Raspberry Pi con Python

Raspberry Pi IDLE escritorio

Python es un lenguaje de programación fácil de aprender, muy popular y muy potente. Es un lenguaje de programación serio, usado en entornos profesionales. Además, es desarrollado bajo una licencia open-source, por lo que puede ser usado en cualquier sistema con total libertad, incluso con fines comerciales.

Python Logo

Por estos y otros motivos la Raspberry Pi Foundation lo ha elegido como el lenguaje de programación “estándar” para Raspberry Pi. Esto no significa que “la Raspberry Pi se programa en Python”, como muchos han oído de forma equivocada. Raspberry Pi es un ordenador corriendo un sistema operativo que puede ejecutar programas escritos en cualquier lenguaje (para el que existan las herramientas necesarias para interpretarlo/compilarlo).

Python es un lenguaje interpretado, que quiere decir que un “interprete” va leyendo las instrucciones y ejecutándolas en tiempo real. Un intérprete es un software encargado de convertir nuestras sentencias a código máquina. Puedes instalar cualquiera de los muchos intérpretes que existen para tu máquina, ya sea tu Raspberry Pi u ordenador personal.

IDLE, el intérprete de Python de Raspberry Pi

En este post vamos a utilizar el intérprete IDLE porque es el que viene preinstalado con Raspbian para Raspberry Pi y es muy sencillo de usar para aprender. Para abrirlo, haz click en Menú > Programación > Python 3 (IDLE).

IDLE terminal interactiva

Lo primero que vemos es la terminal interactiva de Python, que nos permite introducir y ejecutar instrucciones de Python una a una, mostrando los resultados de forma instantánea. Para aprender las instrucciones básicas de Python la terminal interactiva es muy útil, así que prueba lo que vamos a hacer en este post. Aprendemos mejor haciendo que leyendo.

Introduciendo expresiones en la terminal interactiva

Con IDLE abierto, justo detrás del prompt >>> veremos nuestro cursor parpadear, esa es la terminal interactiva. Introduce 2 + 2 para ver cómo Python hace un cálculo matemático sencillo. Pulsa intro para ejecutar la sentencia.

IDLE terminal interactiva expresion 2 + 2

En Python, 2 + 2 se llama una expresión, que es el tipo de instrucción más básico del lenguaje. Las expresiones consisten en valores (como 2) y operadores (como +) y siempre pueden evaluarse (es decir, reducirse) a un único valor (como 4). Esto nos da la posibilidad de usar expresiones en cualquier parte del programa donde podemos usar un único valor. En el ejemplo que acabamos de hacer, la expresión 2 + 2 es evaluada a un único valor, 4.

La expresión más simple contiene un único valor, que se evalúa a él mismo. Por ejemplo, si escribimos 2 y pulsamos intro:

IDLE-terminal interactiva expresion mínima 2

¡Hay muchos otros operadores que puedes usar en tus expresiones! La siguiente tabla muestra todos los operadores matemáticos de Python:

OperaciónOperadorEjemploResultado
Suma+2 + 24
Resta-5 - 23
Multiplicación*3 * 515
División/22 / 82.75
División entera con el cociente redondeado por defecto//22 // 82
Resto de la división%22 % 86
Exponente**2 ** 38

El orden de operación (precedencia) de los operadores matemáticos en Python es similar al de las matemáticas. El operador ** se evalúa primero, después se evalúan los operadores *, /, // y % de izquierda a derecha, y los operadores + y son los últimos en evaluarse (también de izquierda a derecha). Puedes usar paréntesis para alterar la precedencia por defecto si lo necesitas. Introduce estas expresiones en la terminal interactiva.

IDLE terminal interactiva expresiones varias

En cada caso, el programador debe introducir la expresión a evaluar, pero Python hace todo el trabajo duro reduciéndola a un único valor. Estas reglas para reducir expresiones son parte fundamental de Python, como nuestras reglas gramaticales para comunicarnos. Por ejemplo:

  • Esta es una frase gramaticalmente correcta.
  • Frase gramaticalmente esta una correcta es.

La segunda línea es difícil de comprender porque no sigue las reglas del lenguaje. De forma similar, si escribes una expresión en Python de forma incorrecta, el intérprete será incapaz de entenderla y, por tanto, ejecutarla.

IDLE terminal interactiva expresión SyntaxError

Siempre podrás comprobar si una instrucción funciona introduciéndola en la terminal interactiva. No te preocupes por tu Raspberry Pi, no va a estropearse. Lo peor que puede pasar es que Python responda con un mensaje de error. Todos los programadores profesionales tienen mensajes de error cuando están escribiendo código. Esos te van a estar acompañando toda tu vida ;).

Enteros, coma flotante y cadenas de caracteres

Las expresiones constan de valores combinados con operadores, y siempre pueden evaluarse a un único valor. un tipo de dato es una categoría para los valores, y todos los valores pertenecen a un solo tipo de dato. Los tipos de datos más comunes están representados en la siguiente tabla:

Tipos de datosEjemplos
Enteros-2, -1, 0, 1, 2, 3, 4, 5
Números en coma flotante-1.25, -1.0, -0.5, -0.0, 0.5, 1.0, 1.25
Cadenas de caracteres'a', 'aa', 'aaa', '¡Hola!', '11 LEDs'

Por ejemplo, los valores -2 y 30 son enteros, mientras 3.14 es un número en coma flotante. Es importante diferenciar que, aunque 42 es un número entero, 42.0 es un número en coma flotante (son tipos de datos diferentes porque el intérprete los va a almacenar y procesar de forma diferente).

En Python también podemos tener valores en texto, llamadas cadenas (de caracteres). Una cadena siempre está acotada por comillas simples () como en ‘hola maker’, así el intérprete de Python puede saber dónde empieza y acaba la cadena. Puedes incluso tener una cadena sin caracteres (‘ ‘), llamada cadena vacía.

Si alguna vez te encuentras con el mensaje de error SyntaxError: EOL while scanning string literal, probablemente hayas olvidado la comilla simple al final de la cadena, como en:

IDLE terminal interactiva cadenas error EOL

Concatenación de cadenas y replicación

El efecto de un operador puede variar dependiendo de los tipos de datos implicados en la operación. Por ejemplo, el operador + representa la operación de adición cuando se realiza sobre dos enteros o números en coma flotante. Sin embargo, cuando lo usamos entre dos cadenas, su efecto es unirlas como operador de concatenación. Prueba a escribir lo siguiente en la terminal interactiva:

IDLE terminal interactiva operador de concatenación

La expresión ‘Hola’ + ‘Maker’ se evalúa a un solo valor, resultando ‘HolaMaker’, una única cadena con el valor de las dos anteriores concatenadas. Sin embargo, si intenamos utilizar el operador + con una cadena y un entero:

IDLE terminal interactiva error concatenación cadena-entero

En la última expresión, Python no sabe qué hacer con ‘Maker’ + 5 y lanza un error. Para concatenar una cadena y un entero, tu código tiene que transformar explícitamente ese entero a otra cadena, y así Python concatenará las dos. (Más adelante os contaré la conversión entre tipos de datos.)

El operador * representa la multiplicación cuando se encuentra entre dos enteros o números en coma flotante. Pero, cuando se usa entre una cadena y un entero, se convierte en el operador replicación. Introduce una cadena multiplicada por un entero para replicarla:

IDLE terminal interactiva operador replicación

Explora

¡Explorar es la mejor forma de aprender! Juega con la terminal interactiva a componer expresiones complejas, explora los operadores, intenta romperla…

 

Continuación

Este post tiene una continuación, ¡Hola Pi! Programa con variables en Python para Raspberry Pi.

 

Fuente:

Al Sweigart. Automate the boring stuff with Python. Abril, 2015. No Starch Press. ISBN: 978-1-59327-599-0. Licencia CC-BY-NC-SA.

0 Comentarios

Contesta

©2017 Fábrica Digital desde Jerez de la Frontera, España.

717 717 452 (Teléfono y Whatsapp) / hola@fabricadigital.org

De Lunes a Jueves de 09:00 a 18:00. Viernes de 09:00 a 14:00.

Calle del Comercio, 18, 11407 Jerez de la Frontera, Cádiz. - Cómo llegar

Información Legal - Aceptamos

 

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account