PythonJupyter - Jupyter Notebook
PythonJupyter - Jupyter Notebook
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
" programa01.py " 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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
from
<class 'int'>
2 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 = s.replace('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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
[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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
[' ', 'H', 'M', 'a', 'd', 'l', 'n', 'o', 'o', 'u']
In [ ]: 1
Out[27]: []
In [28]: 1 lista4.append('i')
2 lista4
Out[28]: ['i']
In [29]: 1
2
3 # agrega un elemento a la lista, usando `append`
4 lista4.append("R")
5 lista4.append("a")
6 lista4.append("n")
7 lista4.append("a")
8
9 print(lista4)
8 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
In [31]: 1 lista4[0:3:2] = ["C", "s"] # los elementos desde 0 hasta 3 cada 2, [0 y 2], se ca
2
3 print(lista4)
In [35]: 1 help(list.remove)
Help on method_descriptor:
remove(self, value, /)
Remove first occurrence of value.
In [36]: 1 lista4.remove("a")
2
3 print(lista4)
9 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
<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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
• 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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
-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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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 http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
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=sys.stdout, flush=False)
help(numpy)
ETC
Lectura adicional
20 de 21 18/06/2023, 3:27 a. m.
PythonJupyter - Jupyter Notebook http://localhost:8888/notebooks/Control/C_Analogo/PythonJupyter.ipynb
Versiones
In [86]: 1 print("Este notebook fue evaluado con: Python %s y IPython %s." % (sys.version
Este notebook fue evaluado con: Python 3.10.9 | packaged by conda-forge | (ma
in, Jan 11 2023, 15:15:40) [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.