Todos los lenguajes utilizan una serie de palabras para dirigir lo que hace el programa.
En lenguaje Python algunas de estas palabras son for, if, while, import, return, in o break. En total hay treinta y tres. Estas palabras solamente pueden usarse para la tarea que diseñaron los creadores del lenguaje.
Son símbolos especiales para hacer operaciones con datos. Los más comunes son +, -, *, /, <, >, o %.
Hay operadores matemáticos, como sumar o restar, y otros de comparación (mayor que y menor que). Otros comparadores son lógicos, y en Python se utilizan las palabras reservadas and, or y not para ello. Por último, existen los comparadores de asignación, como el signo =, que permite transferir un valor a una variable.
Una variable es un espacio que reservamos en la memoria del ordenador para guardar datos. A ese espacio le damos un nombre para poder usarlo en el programa. El nombre no puede ser una palabra reservada.
Lo que guardamos dentro de la variable, podemos ir cambiándolo mientras el programa funciona.
Hay varios tipos de datos: letras, palabras y frases, números enteros, números decimales, y combinaciones de ellos.
para crear una variable, basta con escribir su nombre y asignarle un valor. Esto es distinto de otros lenguajes, ya que los otros nos piden decir qué tipo de variable queremos, antes de usarla.
animal = "vaca"Esta variable es de tipo String, es decir, cadena de texto. Debemos encerrar el contenido entre comillas. Pueden ser comillas sencillas, triples sencillas, o comillas dobles. El signo = hace que la cadena "vaca" se almacene dentro de la memoria del ordenador, y le pone la etiqueta "animal" a ese espacio de memoria, para que después podamos recuperar la cadena.
Con estas variables podemos hacer diversas cosas. Entre ellas, mostrar mensajes a los usuarios. Se puede operar con las cadenas de texto: unirlas, buscar parte de su contenido, dividirlas, etc.
En Python se puede cambiar el tipo de variable sobre la marcha:
animal = 7Ahora animal ya no es una cadena, sino un número entero, y, por lo tanto, las operaciones que se pueden hacer son distintas.
Esta cualidad de Python simplifica la escritura de programas sencillos, pero suele ser también fuente de frecuentes errores, si planificamos hacer alguna operación con una variable que originalmente era de un tipo, pero que después tiene otro distinto:
animal = 6
print(animal+1)
# Aquí podrían venir muchas líneas de programa.
animal = "vaca" #Esta línea puede ser una modificación
#que hemos hecho después, y que está
#rodeada de mucho programa antes del error.
# Aquí podría haber muchas líneas más.
print(animal+1)Resultado:
6
/var/folders/k8/l3stnc1x1m5dhncb6mc96h9h0000gn/T/ipykernel_17651/3099013040.py in
6 #rodeada de mucho programa antes del error. 7 # Aquí podrían muchas líneas más de programa.----> 8 print(animal+1)
TypeError: can only concatenate str (not "int") to str
Puedes continuar este apartado por tu cuenta, pinchando en el enlace siguiente:
Contenidos y ejercicios de un curso
Indentación es el truco de mover el texto hacia la derecha para que se entienda mejor el programa. En la práctica totalidad de los lenguajes, es algo que todo programador hace para ver claramente cosas como repeticiones, o qué trozos pertenecen a un bloque. En Python es obligatoria. Hay que usar cuatro espacios para que una línea pertenezca a un trozo que se repite, y la primera linea que da comienzo al bloque, debe terminar con dos puntos (:)
Estos bloques se usan para controlar el flujo del programa, es decir, lo que hay que repetir, o lo que hay que hacer si se cumple una condición, o trozos que queremos reutilizar en lugar de copiarlos una y otra vez.
Una lista es un tipo especial de variable, que guarda varios datos, en lugar de uno solo. Cada dato tiene un índice, que sirve para poder acceder a leer o cambiar el contenido de ese dato. Las listas se crean usando corchetes [].
colores = ['rojo', 'azul', 'verde', 'amarillo', 'violeta', 'naranja']
print(colores[2])verde
Hay otros objetos parecidos a las listas: Los diccionarios agrupan los datos en parejas, y cada pareja contiene una etiqueta o clave y el dato que se desea guardar. Las tuplas guardan datos que no pueden ser modificados.
Una función es una sección de un programa, que realiza una tarea de manera independiente al resto del programa.
La ventaja de usar una función es que ese fragmento se puede utilizar en distintas partes del programa y no es necesario volver a escribirlo. Conseguimos más facilidad de lectura y reducimos la posibilidad de error.
Para crear una función se utiliza la palabra reservada def. A continuación se escribe el nombre de la función, que no debe ser una palabra reservada, y tras el nombre se deben escribir unos paréntesis.
Las variables pueden admitir datos para realizar su tarea, que se indicarían dentro de los paréntesis. Los datos que admiten las funciones se llaman parámetros.
Esa tarea, una vez finalizada, puede devolver un resultado. En este caso, dentro de la función se utilizará la palabra reservada return para asignar algún dato o cálculo a la salida de la función.
Usar la función dentro del programa principal es sencillo: se escribe el nombre con los paréntesis, y si la variable se ha definido de manera que debe usar datos, se escriben los mismos, separados por comas, dentro de los paréntesis.
Si la función devuelve un resultado, podemos utilizar un operador de asignación, para guardar el resultado en una variable, o directamente utilizarlo en alguna expresión que efectúe un cálculo o una comparación.
En el siguiente ejemplo creamos una función para imprimir un mensaje. No necesita parámetros ni devuelve un resultado:
# definición de la función:
def imprimir_error():
print("Un dato no es correcto")
# programa principal:
print("Sumaremos 2 números, pero queremos un resultado menor que 20")
num_A = int(input("Introduce un número menor que 10"))
if (num_A > 10):
imprimir_error()
num_B = int(input("Introduce otro número menor que 10"))
if (num_A > 10):
imprimir_error()
resultado = num_A + num_B
if (resultado > 10):
print("la suma es mayor que 10")En este ejemplo se crea una función que toma dos parámetros y los multiplica, tras lo cual nos avisa si el resultado es mayor que 50 o no. También nos indica si alguno de los números que le damos es negativo, usando la función del ejemplo anterior.
def dentro_de_limites(A: int, B: int):
if (A < 0):
imprimir_error()
elseif (B < 0):
imprimir_error()
elseif (A * B > 50):
print("Resultado mayor de 50")
else:
print("Resultado menor o igual que 50")
# programa principal:
print("Veamos que pasa con los números 10 y 4")
dentro_de_limites(10, 4)
print("Ahora probamos con 8 y 7")
dentro_de_limites(8, 7)
print("Ahora probamos con -2 y 7")
dentro_de_limites(-2, 7)