Introducción A Python 2024
Introducción A Python 2024
Academia Ciberseguridad
2 Tuplas
3 Diccionarios
4 Módulos
6 Abrir documentos
7 Conjuntos
8 Algoritmo
9 Paradoja de Russell
10 Clases
Academia-Ciberseguridad Python 2 / 123
Introducción a python
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Python
Nota histórica
Fue creado por Guido Van Rossum, informático holandés, quien trabajaba
para el centro de investigaciones (CWI).
Su implementación comenzó en 1989
Las versiones del 1.0 al 1.6 fueron hasta el 2000. Era muy parecido el
lenguaje al ABC.
Las versiones del 2.0 al 2.7 fueron hasta el 2008. Se incluyeron las
listas.
Las versiones del 3.0-3.9 en adelante son las actuales.
Su nombre se debe al grupo británico cómico Monty Python.
Aplicación de Python
Linux:
sudo dnf update
sudo dnf install python3
sudo dnf install pip
Instalación en Windows
Path
instalación python
Para comprobar que tenemos instalado Python y que se reconocen los co-
mandos
Interfaz
Es una interfaz que se usa sobre todo cuando trabajas proyectos. Facilita la
navegación de carpetas y la manipulación de los archivos enlazados entre sı́.
En caso de que nos pregunte sobre el path debemos decir que sı́.
Command Palette
Operadores
Operadores Aritméticos
Sı́mbolo Descripción
+ Adición entre los operandos
- Substracción entre los operandos
* Multiplicación entre los operandos
/ División entre los operandos
% Módulo entre los operandos
** Potencia de los operandos
// División con resultado de número entero
Operadores relaciones
Sı́mbolo Descripción
> Devuelve True si el operador de la izquierda es
mayor que el operador de la derecha
< Devuelve True si el operador de la derecha es mayor
que el operador de la izquierda
== Devuelve True si ambos operandos son iguales
>= Devuelve True si el operador de la izquierda es
mayor o igual que el operador de la derecha
<= Devuelve True si el operador de la derecha es mayor
o igual que el operador de la izquierda
!= Devuelve True si ambos operandos no son iguales
Sı́mbolo Descripción
& Realiza bit a bit la operación AND en los operandos
| Realiza bit a bit la operación OR en los operandos
∧ Realiza bit a bit la operación XOR en los operandos
∼ Realiza bit a bit la operación NOT bit a bit. Invierte cada
bit en el operando
>> Realiza un desplazamiento a la derecha bit a bit. Desplaza
los bits del operador de la izquierda a la derecha tantos bits
como indica el operador de la derecha
<< Realiza un desplazamiento a la izquierda bit a bit. Desplaza
los bits del operando de la izquierda a la izquierda tantos
bits como especifique el operador de la derecha
Operadores de asignación
Sı́mbolo Descripción
= El valor 5 es asignado a la variable a
+= a += 5 es equivalente a a = a + 5
-= a -= 5 es equivalente a a = a - 5
*= a *= 3 es equivalente a a = a * 3
/= a /= 3 es equivalente a a = a / 3
La estructura anterior se puede hacer con todos los operadores aritméticos
Operadores lógicos
Son enunciados verdaderos (True) o falsos (false), las cuales se usan gene-
ralmente para alguna condición.
Sı́mbolo Descripción
and Devuelve True si ambos operandos son True
or Devuelve True si alguno de los operandos es True
not Devuelve True si alguno de los operandos False
Operadores de pertenecı́a
Sı́mbolo Descripción
in Devuelve True si el valor especificado se encuentra
en la secuencia. En caso contrario devuelve False.
not in Devuelve True si el valor especificado no se en-
cuentra en la secuencia. En caso contrario devuel-
ve False.
Se utilizan para comprobar si un valor o variable se encuentran en una
secuencia (lista, tupla, diccionario, conjunto o cadena).
Operadores de identidad
Sı́mbolo Descripción
is Devuelve True si los operandos se refieren al mismo
objeto. En caso contrario devuelve False.
is not Devuelve True si los operandos no se refieren al
mismo objeto. En caso contrario devuelve False.
Es decir, permite mostrar que dos variables con diferente nombre son iguales.
Condicionales- Sintaxis
Ejemplo de if
a=1.2 #cambiemos
if type(a)==str:
print("{} es una variable cadena".format(a))
elif type(a)==int:
print("{} es una variable entera".format(a))
else:
print("Se trata de otro tipo de variable")
Try y except
Ejemplos de try
except-búsqueda de errores
try-else-finally
For-Sintaxis
El for se utiliza cuando se sabe cuantas veces se tiene que repetir las ins-
trucción.En python se pueden considerar dos tipos de for. El primero damos
un rango:
for i in range():
instrucciones
El segundo depende de un objeto
for i in objeto():
instrucciones
for i in range(4):
print("el valor de i es: ", i)
for i in range(3,6):
print("el valor de i es:", i)
for i in range(2,10,2):
print("El valor de i es: ", i)
Comprueba los diferentes valores que te muestra.
For enumerate
Con enumerate puedes usar ambos ı́ndices, tanto el del objeto como de la
posición, por ejemplo:
for ind, i in enumerate("tortilla"):
if i in "aeiou":
print("en el \'indice",ind,"hay una vocal, la",i)
Este for suele facilitar la programación cuando necesitas tanto los objetos
como los ı́ndices
For zip
Existe una forma de hacer un for con múltiples variables, se usa la función
zip. Combina elementos de dos variables
for i, k zip(variable1, variable2):
print(i, k)
Este tipo de for puede facilitar la programación cuando se trabajan bases
de datos.
While
Ejemplo while
import random
while True:
a = random.randint(1,10)
print("yo ten\'ia", a, "perritos")
if a==1:
break
Vemos en este ejemplo que el proceso se acaba cuando a es igual a 1.
Help y Type
Para saber qué tipo de variable se tiene, la función type(), es cual nos
indica, si queremos saber más información de cómo usarla help(), el cual
nos va a desplegar información más detallada.
Cadenas de texto
a="HOLA"
a.lower()
print('''veamos que no cambia el valor de {}, ejecutando
la funcion lower {} por ello debemos guardarla
en otra funci\'on'''.format(a,a.lower()))
a.upper()
c= a + " Adios" #concatenar
posicion_index=a[2]
print(a[0], a[1:3], "index")
print(a*2, a+a) #podemos hacer operaciones
print(a.find("la")) #encontrar una cadena -1 no encontro
print(a.replace("A","a"))
print("hola {1} {2} {0}".format("a", "b", "c"))
De cadenas a listas
Las cadenas de texto son inmutables, eso significa que no podemos cam-
biarlas por indices. Por ello, debemos trasformarlas en listas u otra variable
que si podamos cambiar para poder manipular su contenido dentro de la
variable.
a="de cadena a lista"
b=a.split()
print(b)
Listas
Las listas son un tipo de dato sencillo que pueden tener cualquier tamaño,
además de ser mutables, es decir, pueden cambiar con algún método.
a=list()
lista=[]
Los métodos disponibles se pueden ver:
dir(list())
#agregar un elemento
a.append(elemento)
#agregar varios elementos
a.extend(elemento1, elemento2,...,elemento_n)
#concatenar listas
c=[1,2,3]+[4,5,6]
#ordenar lista
a.sort()
#quitar elementos
c.pop(0)#posici\'on del elemento a quitar
#quita el primer elemento igual al escrito
c.remove(2)
#inserta un elemento en un indice
a.insert(index, elemento)
Función copy
a=[1,2,3]
b.copy(a)
c=a[:]#otra forma
d=list(a)
a.append("hola")
print(a,b,c,d)
Listas de listas
Sin embargo, cuando hablamos listas de listas o listas anidadas, sólo funciona
la función copy
a=[[1,2],3,[4,5]]
b=a[:]
c=a.copy()
d=list(a)
b[2].append(7)
c[0]=[2]
print(a,b,c,d)
Vectores
a = np.arange(-2,3,0.5) # inicio-fin-paso
b = np.linspace(-2,3,21) #inicio-fin-Num de elementos
c = np.array(range(-2,4)) # convierte una iterable, como
d=np.random.randint(1,50,10)#vectores aleatorios
A=np.array([[1,4,6],[7,11,15]]) #declaraci\'on
A.shape #dimensiones
np.eye(3) #matriz identidad tama~no 3
np.random.randint(1,100,(3,2)) #3X2 aleatoria
A=np.zeros((3,2)) #ceros
np.ones_like(c) #matriz de unos
Algunos ejemplos
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Tuplas
Las tuplas son arreglos o datos agrupados con un único valor. Al igual que
las cadenas son inmutable, como las cadenas de texto.
variable=("a","b","c","d")
Si queremos modificarlas debemos primero convertirlas en lista o guardar
cada elemento en una variable diferente.
A,B,C,D=variable
#Son inmutables, porque no puedes cambiar sus elementos
varuable[0]="A" #nos va a marcar un error
Estas se vuelven muy importantes en las funciones.
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Diccionarios
Es una colección de par de mapeos, el cual está compuesto por las llaves y
los valores.
Diccionario={'llave': 'valor', 'llave2': 'valor2'}
Los valores pueden ser cualquier variable, muchas veces termina siendo una
lista. Los diccionarios agilizan mucho la programación cuando se trata con
bases de datos o valores que necesiten llaves.
diccionario={"a":"azul", "b":"borrego"}
#acceder tanto a las llaves como a los valores
diccionario.items()
#podemos hacerlos con un for
for i, k, in diccionario.items():
print("Esta es la llave ", i, "Este el valor", k )
#acceder a un valor, lo hacemos con las llaves
diccionario["a"]
#para cambiar los valores, tambi\'en accedemos a las llave
diccionario["a"]="AZUL"
#borrar valores, se hace con la llave
diccionario.pop("b")
#para averiguar si existe la llave
diccionario.get("llave-si-existe",0)
diccionario["la clave"]="al valor"#agregar elementos
Ejemplo
Podemos usar listas en los valores de los diccionarios para acomodar más
rápido nuestra información en una base de datos, como veremos más delan-
te.
mascotas=["perro", "gato", "pez"]
due~
nos=["juan", "PEdro", "carlos"]
Edad_mascotas=[12,7,2]
#creamos un diccionario
datos={"MASCOTAS":mascotas, "Due~
nos": due~
nos,
"EDAD_MASCOTAS":Edad_mascotas}
import pandas as pd
pd.DataFrame(datos)
Ejercicio: crea una lista de 5 nombres, 5 colores y 5 cosas
Variable set
a=set([2,3,4])
a.add(1)#agregar un elemento
a.remove(1)#elimina
a.discard(100)#descarta
a.pop()#elimina un elemento aleatorio
a.clear()#elimina todo
print(10 in a)#para saber si existe
a=set([2,3,4])
b={4,5,6,7}
print(a|b)#union
print(a&b)#intersecci\'on
print(a-b)#diferencia
Funciones
Ejemplo funciones
def suma(a,b):
return(a+b)
def resta(a,b):
return(a-b)
def calculadora(a,b):
return(suma(a,b),resta(a,b))
Como podemos darnos cuenta, el resultado es una tupla.
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Modulo sys
Módulos
Librerı́as o modulos
https://docs.python.org/3/library/
https://pypi.python.org/
/usr/lib64/python3.10
Modulo os
Modulos glob
Es un módulo que sirve para encontrar las rutas de los archivos y clasificarlos.
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Open
with open
Argumento Función
r leer
w Escribir
x Ejecutar
a agregar
+ Leer y escribir
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Python
Los conjuntos son una variables tipo set() que es muy útil para almacenar
datos in repetición
Set
variable=set() variable=1,2,3
Sin embargo, como en un conjunto noy hay orden para acceder a los ele-
mentos se debera hacer con un for
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Algoritmo
De busqueda
Estadisticos
Ordenamiento
Metodologı́a
Ejercicio
Crear una función que pueda ir recorriendo los ejemplos en dos conjuntos.
a voluntad del usuario
Funciones Recursivas
Las funciones recursivas se llaman ası́ mismas, hasta que satisface cierta
condición, en ese sentido funcional como un while.
Ejemeplo.
def fibo(n):
if n¡2:
return(n)
return(fibo(n-2)+fibo(n-1))
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
afeitarme por mı́ mismo, por lo tanto ¡no deberı́a afeitarme! pues desobedecerı́a vuestra orden. Pero, si por el contrario no me
afeito, entonces algún barbero deberı́a afeitarme, ¡pero como yo soy el único barbero de allı́!, no puedo hacerlo y también ası́
desobedecerı́a a vos mi señor, oh emir de los creyentes, ¡que Allah os tenga en su gloria!
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Clases
Ejemplos
Ejemplo
Ejemplo
La función init cada que un objeto es creado, permite inializar los atri-
butos de un objeto
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
Ejemplo
Como hemos visto que podemos agregar funciones dentro de las clases, pero tam-
bién se pueden crear primero las funciones y después madarlas a llamar:
Sin embargo, no se recomienda hacer eso, porque es muy confuso el pro-
grama.
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
La POO sirve para crear objetos, estos pueden ser cosas, personas, animales
etc. Imaginemos que tenemos la clase de los coches, tenemos un concepto
general, pero al ponerle una descripción, como el año, el color, la marca,
el motor, etc, creamos un objeto modificable. Eso es una clase, la clase del
Coche.
Cuatro caracteristicas
Pasos a seguir
Cuando se trabaja con clases el proceso se divide en dos: definir una cla-
se y las instancias. En otras palabras, primero se debe definir la clase,
sus atributos y métodos. En el ejemplo anterior, la clase coche, los colores,
marcas... y después de deben crear muchos coches con los diferentes atri-
butos. Coches verdes, morados, azules; todos los objetos creados a partir de
la clase se llamaran instancias.
Personalización
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Atributos
ford =Car2()
print(ford.color) #sintasi del punto
Los atributos anteriores son por default
Cambio de atributos
Método de initialization
Los atributos globales pueden ser fuente de una clase directamente; mientras
que los atributos de instancias (creadas por el método init) sólo pueden ser
accedidas por las instancias de clases.
class Car6( ):
sound = "beep"
def __init__(self, color):
self.color = "blue"
print(Car6.sound)
#print(Car6.color)#type object 'Car6' has no attribute 'colo
ford = Car6("blue")
print(ford.sound, ford.color)
Contenido
1 Introducción a python
Vectores
2 Tuplas
3 Diccionarios
4 Módulos
Modulo sys
Modulos
Modulo os
modulo glob
5 Entornos virtuales en Python
6 Abrir documentos
7 Conjuntos
8 Algoritmo
Tipos de algoritmos
9 Paradoja de Russell
10 Clases
11 programación orientada a objetos
12 atributos
13 metodos
Métodos
Son esencialmente funciones que estan dentro de las clases. Sirven para
realizar acciones. Pensemos en el ejemplo de coche: acelerar, parar, girar...
Para acceder a a los métodos debes usar self, de lo contrario el método solo
puede ser accedido por la clase misma.
class Dog( ):
def makeSound(self):
print("bark")
sam = Dog( )
sam.makeSound( )
Metodos Estaticos
Dog.printInfo( )
#Dog.makeSound( )#error
sam = Dog( )
sam.makeSound( )
#sam.printInfo( ) #error
Herencia
Es un concepto que permite a las clases tener una reusabilidad del código.
Las subclases heredan las instancias de la clase principal.
class Animal( ):
def makeSound(self):
print("roar")
class Dog(Animal):
species = "Canine"
sam = Dog( )
sam.makeSound( )#Accecible por herencia
lion = Animal( )
# lion.species#noaccecible, no funciona al rev\'es
Polimorfismo
class jitomate:
def tipo(self):
print ('vegetal')
def color(self):
print ('rojo')
class pera:
def tipo(self):
print ('fruta')
def color(self):
print ('verde')
def funcion (objeto):
objeto.tipo()
objeto.color()
nuevo_jitomate = jitomate()
nuevo_pera = pera()
funcion(nuevo_pera)
funcion(nuevo jitomate)
class Alemania:
def Capital(self):
print ('Frankfurt')
def idioma(self):
print('Aleman')
class Mexico:
def Capital(self):
print('Tenochtitlan')
def idioma(self):
print('Espa~
nol/Nahuatl')
aleman = Alemania()
mexicano = Mexico()
for pais in (aleman,mexicano):
pais.Capital()
pais.idioma()
class aves:
def volar(self):
print('La mayoria de las aves pueden volar pero algunas no')
class aguila(aves):
def volar(self):
print ('Las aguilas pueden volar')
class gallina(aves):
def volar(self):
print ('Las gallinas no pueden volar')
ob_ave = aves()
ob_aguila = aguila()
ob_gallina = gallina()
ob_ave.volar()
ob_aguila.volar()
ob_gallina.volar()
Dudas y comentarios