Jupyter notebook Práctica Introductoria/Introducción a Python.ipynb
Breve introducción a Python
Operaciones con números
Las operaciones básicas en Python se representarán de forma usual: suma (), resta (), producto () y cociente (). Asimismo, los paréntesis permitirán agrupar determinadas expresiones matemáticas. A continuación, mostramos algunos ejemplos de aplicación de las citadas operaciones.
Para ejecutar una celda hay que pulsar la combinación de teclas MAYÚSCULA+INTRO o bien usar el botón de Play del menú
Para modificar la precisión de la solución proporcionada por Python, puede utilizarse el comando round
. Así, podemos obtener redondear el número calculado en la celda anterior a cifras significativas de la siguiente forma:
Los números enteros (e.g., ) son de tipo int
, mientras que los números decimales (e.g., ) son de tipo float
. La operación cociente devuelve por defecto expresiones de tipo float
. Para calcular una división entera, basta con utilizar el símbolo //
. Asimismo, %
permite obtener el resto de una división entre números. Veamos los siguientes ejemplos.
Para calcular potencias de números, utilizaremos el símbolo **
. Así, por ejemplo,
Es interesante mencionar que el símbolo igual () se utiliza en Python para asignar valores a variables. Por ejemplo, el volumen de un cono cuya base tiene área y altura puede calcularse como
En caso de realizar operaciones que combinen objetos de tipo int
con objetos de tipo float
, se obtendrán resultados de tipo float
. A continuación se muestra un par de ejemplos.
Manipulación de listas en Python
Una lista (o vector) es una colección de objetos separados por comas. En Python, las listas se representan mediante corchetes. Sus elementos se enumeran separados por comas. Una lista puede contener elementos de diferente naturaleza, aunque lo más habitual es que los elementos de una lista sean del mismo tipo.
Es posible acceder a cualquier entrada de una lista. Para ello, basta con incluir entre corchetes, después del identificador de dicha lista, la posición a la que queremos acceder. Es importante observar que el primer elemento de dicha lista está indexado en . Asimismo, es posible hacer referencia al último elemento de la lista mediante el índice . Así, por ejemplo,
Para obtener sublistas de una lista dada, se utilizará el símbolo :
indicando el rango de elementos a seleccionar de la misma. Obsérvense los siguientes ejemplos:
Dos listas pueden ser concatenadas mediante el símbolo de suma () aplicado a dichas listas. Así,
El siguiente ejemplo muestra cómo modificar el contenido de los elementos de una lista:
Para añadir nuevos elementos a una lista existente, Python dispone del comando append()
. Por ejemplo,
Es posible eliminar ciertos elementos de una lista asignándoles una lista vacía (sin elementos). Así,
La función len()
resulta de gran utilidad para conocer el número de elementos (longitud) de una lista:
También es posible generar listas anidadas, es decir, listas cuyos elementos son listas a su vez. Un ejemplo es el siguiente:
Un ejemplo sencillo de programación en Python
El comando while
El siguiente ejemplo muestra cómo generar una lista de números de Fibonacci, donde cada elemento de la lista se calcula como la suma de los dos valores que le preceden. Para ello, haremos uso de la estructura de control while
, que permite programar la repetición de una determinada tarea hasta que el criterio de parada especificado deje de verificarse.
Los siguientes operadores pueden utilizarse en código Python con la finalidad de comparar cantidades: (menor que), (mayor que), (igual a), (menor o igual que), (mayor o igual que) y (distinto de).
Otras estructuras de control en Python
Además del comando while
mostrado en el ejemplo anterior, en esta sección repasaremos otras estructuras de control utilizadas frecuentemente en Python.
El comando if
En primer lugar, veamos un ejemplo relativo al comando condicional if
.
En estructuras de tipo if
, el comando elif
(abreviatura de "else if") es opcional. Así pues, pueden haber varios elif
o incluso ninguno.
El comando for
En Python, la estructura for
varía entre los elementos de una lista. Así, por ejemplo,
La función range()
Si es preciso realizar un proceso iterativo sobre una sucesión de números, la instrucción range()
resulta de utilidad. Así, por ejemplo,
De forma más compacta:
Obsérvese que el valor introducido en el comando range()
queda excluído de la secuencia obtenida. También es posible indicar a range()
que comience en otro valor distinto de cero:
e incluso que la diferencia entre dos valores cualesquiera a mostrar sea mayor que uno. Por ejemplo,
Cómo definir funciones en Python
A continuación, mostramos cómo crear una función en Python que permite calcular los primeros términos de la sucesión de Fibonacci. Para un mejor entendimiento del código listado a continuación, es recomendable revisar las líneas de código incluidas al comienzo de la sección dedicada al comando while
. Recuérdese que dicho comando permitía listar todos los términos de la citada sucesión de valor inferior a un número indicado.
Calculemos los términos de la sucesión de Fibonacci :
Obsérvese que la palabra def
indica que estamos definiendo una función en Python. A continuación, indicamos su nombre así como el o los parámetros de entrada (en este caso, el único parámetro hace referencia a los primeros términos de dicha sucesión). Las líneas siguientes contienen el código de la función, que ha de estar indentado.
La siguiente función proporciona una modificación de la anterior. Ésta almacena el resultado obtenido en una lista, lo cual facilita posteriores operaciones.