Módulo I - Revisión de Python
Módulo I - Revisión de Python
TABLA DE CONTENIDOS
MÓDULO I .................................................................................................................................................. 3
PYTHON REVIEW................................................................................................................................. 3
3. CONDICIONALES ....................................................................................................................... 6
4. CICLOS .......................................................................................................................................... 7
8. Objetos Y modulos................................................................................................................... 10
9. Debugging .................................................................................................................................. 11
2
MÓDULO I
En este primer módulo vamos a hacer una revisión a los conceptos básicos de
Python que vamos a necesitar a lo largo de este curso .
PYTHON REVIEW
En este módulo explicaremos los diferentes tipos de datos en Python, el uso de las
funciones, condicionales ciclos de control, manejo de archivos y el flujo de trabajo
en Python.
El objetivo de este módulo es que el est udiante pueda crear scripts para manejar
archivos usando sentencias de control adecuadas, para así poder automatizar
tareas de pentesting .
2. TIPO DE DATOS
• Integer: 1
• Float: 1.1
• String : "1"
• Boolean: True
Para ver el tipo de datos usamos el comando type(), para determinar el tipo de dato
def tipo(valor):
print(type(valor))
if __name__ == '__main__':
a=3
tipo(a)
3
b=3.0
tipo(b)
c="3"
tipo(c)
d=True
tipo(d)
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
Listas
Son listados de datos donde hay un orden, el índice inicia en 0
["ip","10.10.10.2"]
Manejo de listas
lista=["ip","10.10.10.2"]
print(lista[0])
ip
a=["ip","mascara","gateway","mac"]
print(a[3])
mac
Diccionario
Es una palabra que tiene asociado algo
{"ip":"10.10.10.2","mac":"O678D4FB1A4E"}
4
a={"ip":"10.10.10.10","mascara":"/24","gateway":"10.10.10.1","mac":"aaaa.aaaa.aaaa"}
print(a["ip"])
10.10.10.10
lista = [1, 3, 5, 8, 9]
tupla = (1, 3, 5, 0, 5)
conjunto = set([1, 3, 4])
diccionario = {'a': 2, 'b': 4, 'z': 6}
print(lista)
print(tupla)
print(conjunto)
print(diccionario)
[1, 3, 5, 8, 9]
(1, 3, 5, 0, 5)
{1, 3, 4}
{'a': 2, 'b': 4, 'z': 6}
Funciones:
Cuando uno va aumentando las líneas de código uno se va dando cuenta que su
código pude ser optimizado haciendo que cierta lógica del programa no se repita
escribiéndose estas en funciones que se pueden llamarse cuando sea necesario,
en lugar de reescribir la lógica una y otra vez.
def suma(a,b):
print("La suma es: ",a+b)
def resta(a,b):
print("la resta es: ",a-b)
def multiplicacion(a,b):
print("La multiplicacion es:",a*b)
def division(a,b):
print("La division es: ",a/b)
if __name__ == '__main__':
5
a=5
b=4
suma(a,b)
resta(a,b)
multiplicacion(a,b)
division(a,b)
La suma es: 9
la resta es: 1
La multiplicacion es: 20
La division es: 1.25
3. CONDICIONALES
IF :
Para poder hacer una difurcacion si se cumple una condición se usa el comando if
(condición principal), con los opcionales elif (condiciones adicionales) y else (si no
se ha cumplido ninguna de las anteriores).
Operadores relacionales
a == b Indica si a es igual a b
a != b Devuelve True si ambos operadores no son iguales
a < b a menor que b
a > b a mayor que b
a <= b a menor o igual que b
a >= b a mayor o igual que b
Operadores lógicos
not : niega la condición que le sigue.
and : junta dos condiciones que tienen que cumplirse las dos
or: Junta dos condiciones y tienen que cumplirse alguna de las dos.
Operadores de pertenencia
in : Es true si el valor especificado se encuentra en la secuencia, caso contrario es
False
not in: Devuelve True si el valor especificado no se encuentra en la secuencia.
Caso contrario es False
6
if __name__ == '__main__':
a=5
b=0
suma(a,b)
resta(a,b)
multiplicacion(a,b)
if b==0:
print ( "no se puede dividir" )
else: division (a,b
La suma es: 9
la resta es: 1
La multiplicacion es: 20
no se puede dividir
4. CICLOS
FOR:
Para poder repetir varias veces una determinada tarea para lograr un objetivo se
usa el for
a=["ip","mascara","gateway","mac"]
for i in a:
print (i)
WHILE:
Para poder repetir varias veces una determinada tarea hasta conseguir nuestro
objetivo, se realiza con el comando while.
i=1
while i <= 50:
print(i)
i = i* i + 1
print("Programa terminado")
5. PYTHON Y GITHUB
7
El sistema de control de versiones permite que el desarrollador pueda administrar
su proyecto, de tal manera que al tener copias de cada una de las versiones puede
regresar a un estado anterior, crear ramas, saltar de una rama a otra .
1. Análisis de requerimientos
2. Planificación o ideación
3. Diseño
4. Desarrollo
5. Pruebas
6. Despliegue
7. Operaciones y mantenimiento
8
En el flujo de trabajo de Python no sotros tendremos nuestra carpeta de trabajo y
agregaremos nuestro directorio de trabajo a GIT.
cd proyecto
python3 hola.py
git add .
git commit -m “ hola”
git push origin master
7. MANEJO DE ARCHIVOS
"a" - Append – abre un archive para agregar, crea un archivo si este no existe
Lectura de archivos
file=open("archivo.txt","r")
for item in file:
print(item)
file.close()
file=open("archivo.txt","r")
for item in file:
item=item.strip()
print(item)
file.close()
9
Escritura de archivos
f = open('holamundo.txt', 'w')
f.write('Hola mundo')
f.close()
8. OBJETOS Y MODULOS
• Clases
• Atributos
• Métodos
• Objetos
Método: Los métodos son las funciones que se definen dentro de una clas e.
Estado: Representado por los atributos del objeto que representa sus propiedades
Comportamiento: Representado por los métodos del objeto, que reflejan su
respuesta a otros objetos.
10
datetime
time
sys
locale
Módulos Python adicionales más usados
BeautifulSoup
html5lib
request
Scrapy
Pandas
class automovil():
def __init__(self,llantas,airbag,autopilot,gnv):
self.llantas=llantas
self.airbug=airbag
self.autopilot=autopilot
self.gnv=gnv
def convertir_gnv(self):
self.gnv=True
mi_auto =automovil(4,True,False,False)
mi_auto.autopilot=False
print(mi_auto.gnv)
mi_auto.convertir_gnv()
print(mi_auto.gnv)
False
True
9. DEBUGGING
11
En la depuración nosotros ejecutamos la depuración paso a paso , pudiendo ver
las variables ,poner breakpoint ( punto de ruptura) y así poder ver donde esta los
errores
12
10. BIBLIOGRFIA
• https://pythonguide.readthedocs.io/
• Python tutorial Guido Van Rossum and Python development team 2018
• https://bugs.python.org/file47781/Tutorial_EDIT.pdf
• https://github.com/danielmiessler/SecLists
• https://docs.python.org/es/3/tutorial
• Learning Python O´Really Mark Lutz 2009
• Boletin informativo Las peores contraseñas del 2021 en Perú Omar
Palomino-Kunak Consulting 2022
• https://tutorialpython.com/bucles-while-y-for-en-python/
• https://aws.amazon.com/es/what-is/sdlc/
13
14