APUNTES PYTHON TICO I
Salida por pantalla print()
- Cadenas literales (entre comillas simples o dobles)
- Variables (entre comas)
Capturas por teclado input()
- Lo toma como string
- Hay que asignarlo a una variable
- (Opcional) Se puede dar un mensaje al usuario
Comentarios
- De una línea (poniendo delante #)
- De varias líneas (entre comillas triples)
- Sirven para:
- Explicar el código
- Desactivar una parte del código
- Hay que empezar el programa con una pequeña descripción, autor, contacto, etc.
- Hay que empezar las FUNCIONES con una pequeña descripción (Docstring)
- Se aconseja que el código esté tan claro que no haya que comentarlo demasiado,
pero poned los necesarios, los lectores de vuestro código (incluido vuestro Yo
futuro) os lo agradecerán.
Variables
- Tres cosas importantes
1. Nombre
2. Tipo
3. Valor
- Si pongo altura = 1.43
- Nombre: altura
- Tipo: float (real, decimal)
- Valor: 1.43
- Las variables pueden VARIAR su valor durante el programa.
- Para asignar el valor a una variable usamos el signo igual
- (edad = 50, nombre = 'Pepe', altura = 1.50)
Tipado dinámico
- La variable toma el tipo del valor que le asignas
Casting (cambio de tipo)
- int() float() tratan de convertir lo que pongas dentro en un entero o decimal,
respectivamente
- str() convierte en una string lo que pongas dentro
Listas
- Es otra estructura de datos para cuando las variables se nos quedan cortas
- Se escribe entre corchetes [ ]
- Los elementos se separan por comas
- clase = ['Pedro', 'Juan', 'María', 'Rosa']
- Para identificar cada elemento están "numerados".
- La numeración empieza en CERO
- clase[0] es el "primer" elemento
- Los elementos pueden ser de distinto tipo
lista_rara = ['Javi', 12.3, 24, 'Juan', [2, 4]] tipos: string, float, int, string, lista
Diccionarios
- Es otra estructura de datos para cuando se nos quedan cortas las demás…
- Se escriben entre llaves { }
- Son "parejas" de clave y valor (key, value)
- Se accede a cada valor, "llamando" a su clave
- (la clave hace el papel del índice en las listas)
-
Estructuras de control
Condicionales
- Con una condición
Tres elementos:
1. Condición. Puede cumplirse (True) o no (False)
2. Acciones a tomar cuando se cumple
3. Acciones a tomar cuando NO se cumple (opcional)
- Con varias condiciones
Mira la primera, si se cumple ejecuta su código
Si no se cumple la primera mira la segunda..
Si no se cumple la segunda mira la tercera..
Cuando se cumpla una ejecuta su código y no mira más condiciones
Si no se cumple ninguna ejecuta lo que pone en else
NOTA: Observa que después de los dos puntos va un bloque de código indentado.
Bucles
- Por número de repeticiones
1. Usando range: range(start, stop, step)
2. Recorriendo un iterable
- Bucles condicionales
Se repite MIENTRAS (while) se cumpla la condición
- Bucles infinitos
Se repite sin parar (al poner True como condición siempre será verdadera)
Instrucciones útiles en los bucles (continue y break)
- CONTINUE
Termina LA ITERACIÓN y pasa a la iteración siguiente
- BREAK
Termina EL BUCLE y se sale
Ejemplo aplicación combinada de break y continue
- Si no aciertas el nombre, termina la iteración y te lo pregunta otra vez
- Si aciertas el nombre te pregunta la contraseña
- Si no la aciertas, termina la iteración y va al principio a preguntar el nombre
- Si la aciertas se sale te da la bienvenida y se sale del bucle.
Funciones
- Son trozos de código que se ejecutarán al decir una "palabra": print(), input(), etc.
- Permiten simplificar la lectura del programa y reutilizar código
- Se reconocen porque llevan siempre paréntesis (aunque estén vacíos)
Tipos de funciones
1. Propias de Python
- Las que ya tiene definidas el lenguaje: print(), int(), len(), etc.
- Las llamamos directamente y se ejecutarán sin problema
2. Definidas por el usuario
- Hay que definirlas primero
- Luego las podemos "invocar" tantas veces como queramos
- Si no se llama, aunque esté definida, NO se ejecuta
- Estructura:
def nombre_de_la_función(parámetros):
""" Docstring (explicación de lo que hace la función) """
Instrucciones
return valor_que_devuelve
- Sabemos que es una definición de función porque empieza con def
- Se añade un comentario diciendo lo que hace (Docstring)
- Las instrucciones que va a llevar a cabo la función
- Después de return se pone el valor que "devuelve" la función
- Para "recoger" ese valor hay que asignarlo a una variable
Ejemplo 1 (Sin parámetros, Sin retorno)
Ejemplo 2 (Con DOS parámetros, Sin retorno)
Ejemplo 3 (Con DOS parámetros, Con retorno)
Si no hacemos nada con el valor "devuelto" no sale nada por pantalla
Si lo imprimos, saldrá por pantalla
Si lo guardamos en una variable, no sale por pantalla directamente, PEEERO
podemos usarlo e imprimirlo luego cuando queramos.
Lo ideal es programar las funciones de manera:
- Que tomen valores de entrada y DEVUELVAN valores de salida. Nada más,
ni prints, ni cambien valores de otras variables, ni nada.
- Que cada función haga solo una cosa
- Que dados los mismos parámetros, devuelva el mismo valor (esté como
esté el resto del programa: otras variables, en qué momento de su
ejecución, etc.)
3. MÓDULOS
- Los usuarios pueden escribir muchas funciones y guardarlas en un archivo que se
llama módulo
- Podemos IMPORTAR esos archivos a nuestro programa y usar sus funciones
- Se llaman así módulo.función()
Ejemplo. MÓDULO RANDOM
- Contiene funciones asociadas con cosas aleatorias.
Ejemplo: MÓDULO MATH
- Contiene funciones matemáticas
4. MÉTODOS
- Son funciones que se aplican a un objeto concreto y lo transforman.
- Los hay para listas, diccionarios y todo tipo de estructuras de datos.
- Veamos unos ejemplos para listas.
- append(elemento) añade elemento al final de la lista
- insert(i, elemento) inserta el elemento en la posición i
- pop(i) elimina un elemento en la posición i
Hasta aquí.