Introducción a Python y Jupyter Notebooks
Introducción a Python y Jupyter Notebooks
ipynb
Previas
• Antes de comenzar, explore la interfaz ofrecida por Jupyter Notebook en "Help, User
Interface Tour". Observe que en dicho menú puede encontrar otras ayudas disponibles.
• Los Notebooks de Jupyter permiten desarrollar código con formatos de salida. Requiere
que se ejecute sobre un servidor de notebook IPython.
• Los archivos de programas de Python tienen extesión " .py ", por ejemplo, el archivo
" [Link] " estaría compuesto por sentencias Python organizadas por cada linea.
• Los comentarios en el código comienzan con # y el interprete ignora estas lineas.
Para evaluar una celda con código (como la siguiente), haga click en la celda y presione
" Shift + Enter "
Out[1]: 12
Variables
In [2]: 1 b
Out[2]: 4
Nombres
Pueden contener letras sin incluir " ñ " o " Ñ ", en minúscula ( a-z ), en mayúscula ( A-Z ),
números ( 0-9 ) y el caracter especial " _ ".
Palabras prohibidas
Las siguientes palabras son prohibidas para nombrar, pues Python las usa como instrucciones:
1 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
from
<class 'int'>
2 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
In [11]: 1 x1 = 2
2 float(x1)
Out[11]: 2.0
+ Suma 2+3
- Resta 3-6.7
* Multiplicación 4*5.5
/ División 3/2
** Potencia 5**2
Tipos compuestos
3 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
Strings
In [12]: 1 s = "Hola mundo :)"
2 print(type(s))
<class 'str'>
In [13]: 1 # longitud
2 len(s)
Out[13]: 13
In [14]: 1 s = [Link]('mundo','Medellin')
In [15]: 1 s
Hola Medellin :)
Hola Medellin :)
Indexación
4 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
Hola Medellin :)
H
Hol
la Me
Hola Me
dellin :)
ola Medellin :
oaMd
Hl eeln:
Listas
Son listas de elementos que pueden ser diferente tipo y pueden ser indexados.
5 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
[3, 'dos', '432', (2-3j), [3.14], [5, 8, 2, 9], [3, 2, 5, 'a']] <class 'list'
>
3
[3, 'dos']
s
[5, 8, 2, 9]
[3, 2, 5, 'a']
In [20]: 1 print(lista2)
2 print(lista2[4])
In [21]: 1 type(lista2)
Out[21]: list
• Las listas juegan un rol primordial en Python y son, por ejemplo, usadas en bucles y otras
estructuras de control de flujo.
• Existen funciones convenientes para generar listas de varios tipos, por ejemplo la función
range :
6 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
In [22]: 1 desde = 10
2 hasta = 36
3 paso = 5
4
5 lista3 = range(desde, hasta, paso)
6 print(lista3,type(lista3))
7 print()
8 print(len(lista3))
9 print()
10 print(lista3[0])
11 print(lista3[1])
12 print(lista3[2])
13 print(lista3[3])
14 print(lista3[4])
15 print(lista3[5])
16 print(lista3[6])
10
15
20
25
30
35
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
Input In [22], in <cell line: 16>()
14 print(lista3[4])
15 print(lista3[5])
---> 16 print(lista3[6])
In [ ]: 1 print([lista1[1],lista1[0],lista1[2]])
2 print(lista1)
Out[24]: [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
• La instrucción list puede convertir un elemento tipo str a uno tipo list .
7 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
[' ', 'H', 'M', 'a', 'd', 'l', 'n', 'o', 'o', 'u']
In [ ]: 1
Out[27]: []
In [28]: 1 [Link]('i')
2 lista4
Out[28]: ['i']
In [29]: 1
2
3 # agrega un elemento a la lista, usando `append`
4 [Link]("R")
5 [Link]("a")
6 [Link]("n")
7 [Link]("a")
8
9 print(lista4)
8 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
In [31]: 1 lista4[Link] = ["C", "s"] # los elementos desde 0 hasta 3 cada 2, [0 y 2], se ca
2
3 print(lista4)
In [35]: 1 help([Link])
Help on method_descriptor:
remove(self, value, /)
Remove first occurrence of value.
In [36]: 1 [Link]("a")
2
3 print(lista4)
9 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
Tuplas
Tuplas son similares a las listas, excepto que no pueden ser modificadas una vez creadas, es
decir, son inmutables.
Se puede separar una tupla asignándola a una lista de variables separadas por coma:
In [40]: 1 x, y = punto
2
3 print("x =", x,type(x))
4 print("y =", y,type(y))
x = 10 <class 'int'>
y = 20 <class 'int'>
In [41]: 1 punto[1] = 3
2 # punto(0) = 54
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [41], in <cell line: 1>()
----> 1 punto[1] = 3
Diccionarios
Los diccionarios son listas más amplias en las que cada elemento se define por un par clave-
valor. La sintaxis de los diccionarios es {clave1 : valor1, ...} :
10 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
<class 'dict'>
{'clave1': 1.0, 'clave2': True, 'clave3': 'hola', 1: 'algo', 2: [5, 8, 2, 9]}
In [43]: 1 parametros["clave1"]
Out[43]: 1.0
In [44]: 1 parametros[1]
Out[44]: 'algo'
clave1 = A
clave2 = False
clave3 = hola
clave4 = D
{'clave1': 'A', 'clave2': False, 'clave3': 'hola', 1: 'algo', 2: [5, 8, 2,
9], 'clave4': 'D'}
Control de flujo
11 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
• Los bloques del programa se definen por el símbolo " : " y su indentación (los espacios
antes de cada linea).
digite su peso:
Out[48]: str
12 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
digite su peso:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [49], in <cell line: 1>()
----> 1 peso = float(input("digite su peso:"))
2 estatura = float(input("digite su estatura:"))
3 print(type(peso))
final
Input In [51]
print("¿qué pasó con las afirmaciones?") # esta línea está mal indentada
^
IndentationError: expected an indented block after 'if' statement on line 3
13 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
afirmacion1 es verdadera
aun estamos dentro del bloque if
In [53]: 1 if afirmacion1:
2 print("afirmacion1 es verdadera")
3
4 print("ahora estamos fuera del bloque")
afirmacion1 es verdadera
ahora estamos fuera del bloque
Ciclos
For
• Itera sobre los elementos de la lista, o algún tipo iterable, suministrada y ejecuta el bloque
de programa una vez para cada elemento.
• Cualquier tipo de lista puede ser usada para un ciclo for . Por ejemplo:
1
2
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
14 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
-3
-2
-1
0
1
2
Python
para
programar
5
In [58]: 1 parametros
In [59]: 1 str("s")
Out[59]: 's'
clave1 = A
clave2 = False
clave3 = hola
1 = algo
2 = [5, 8, 2, 9]
clave4 = D
In [61]: 1 texto1
15 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
H
o
l
a
M
u
n
d
o
Si se requiere conocer los índices de los valores mientras se itera sobre una lista se usa la
función enumerate :
0 -3
1 -2
2 -1
3 0
4 1
5 2
0 H
1 o
2 l
3 a
4
5 M
6 u
7 n
8 d
9 o
[0, 1, 4, 9, 16]
While
• Itera siempre que se cumpla una condición y ejecuta el bloque de programa una vez para
16 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
cada elemento.
Por ejemplo:
0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999
1.2
1.3
1.4000000000000001
1.5000000000000002
1.6000000000000003
1.7000000000000004
1.8000000000000005
1.9000000000000006
2.0000000000000004
2.1000000000000005
2.2000000000000006
2.3000000000000007
2.400000000000001
2.500000000000001
2.600000000000001
2.700000000000001
2.800000000000001
2.9000000000000012
terminó el ciclo
17 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
In [68]: 1 func0()
test
Se pueden incluir textos de ayuda para las funciones con """ la ayuda en varias lineas
"""
In [70]: 1 help(func1)
func1(s)
Imprime el string 's' y cuántos caracteres tiene
sigue siendo texto
Para que las funciones entreguen un resultado se usa la palabra clave return :
In [73]: 1 a = cuadrado(1+3j)
2 print(a)
(-8+6j)
18 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
In [74]: 1 help(cuadrado)
cuadrado(x)
Calcula el cuadrado de x.
In [76]: 1 potencias(3)
27
Out[79]: 9
Out[80]: 81
Out[81]: 81
Out[82]: 81
19 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
Out[83]: 343
Help
La función help ofrece una descripción de la mayoría de funciones y módulos.
In [84]: 1 help(print)
print(...)
print(value, ..., sep=' ', end='\n', file=[Link], flush=False)
help(numpy)
ETC
Lectura adicional
20 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook [Link]
Versiones
In [86]: 1 print("Este notebook fue evaluado con: Python %s y IPython %s." % ([Link]
Este notebook fue evaluado con: Python 3.10.9 | packaged by conda-forge | (ma
in, Jan 11 2023, [Link]) [MSC v.1916 64 bit (AMD64)] y IPython 8.3.0.
0
pepe
24
1
chepe
27
2
pepa
41
3
chepa
17
21 de 21 18/06/2023, 3:27 a. m.