0% encontró este documento útil (0 votos)
8 vistas

Módulo I - Revisión de Python

Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas

Módulo I - Revisión de Python

Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

1

TABLA DE CONTENIDOS

MÓDULO I .................................................................................................................................................. 3

PYTHON REVIEW................................................................................................................................. 3

1. OBJETIVO DEL MÓDULO ......................................................................................................... 3

2. TIPO DE DATOS .......................................................................................................................... 3

3. CONDICIONALES ....................................................................................................................... 6

4. CICLOS .......................................................................................................................................... 7

5. PYTHON Y GITHUB .................................................................................................................... 7

6. Flujo de trabajo en python ........................................................................................................... 8

7. Manejo de archivos .................................................................................................................... 9

8. Objetos Y modulos................................................................................................................... 10

9. Debugging .................................................................................................................................. 11

10. bibliogrfia ............................................................................................................................... 13

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.

Python es el lenguaje de programación que se puede utilizar para diversos fines,


como: diseño web, modelado matemático, creación de documentos y diseños de
juegos, inteligencia artificial, etc.

1. OBJETIVO DEL MÓDULO

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

En Python tenemos cuatro tipos básicos de dato:

• 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'>

Aparte de estos tenemos otros tipos de datos más elaborados como:

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

Operaciones usadas con listas


lista[i]: Devuelve el elemento que está en la posición i de la
lista.
lista.pop(i): Devuelve el elemento en la posición i de una lista y
luego lo borra.
lista.append(elemento): Añade elemento al final de la lista.
lista.insert(i, elemento): Inserta elemento en la posición i.
lista.extend(lista2): Fusiona lista con lista2.
lista.remove(elemento): Elimina la primera vez que aparece elemento.

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}

Operaciones usadas con diccionarios:


diccionario.get(‘key’): Devuelve el valor que corresponde con la key
introducida.
diccionario.pop(‘key’): Devuelve el valor que corresponde con la key
introducida, y luego borra la key y el valor.
diccionario.update({‘key’:’valor’}): Inserta una determinada key o actualiza su va lor
si ya existiera.

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

Github es un portal creado como repositorio, donde los desarrolladores suben su


código y herramientas.
Para esto se usa un sistema de control de versiones Git.

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 .

Vamos a crear una cuenta en github y crearemos nuestro repositorio de trabajo


git init
git remote add origin [email protected]:miusuariogit/python
git remote –v
git add .
git commit -m “mi actualizacion “
git push origin master

crearemos los archivos dos archivos


.gitignore
README.md

6. FLUJO DE TRABAJO EN PYTHON

En general el ciclo de vida de desarrollo de software consta de 7 etapas:

1. Análisis de requerimientos
2. Planificación o ideación
3. Diseño
4. Desarrollo
5. Pruebas
6. Despliegue
7. Operaciones y mantenimiento

El ciclo de desarrollo de software seguro:

DevSecOps: Es la práctica de integrar las pruebas de seguridad en cada etapa del


proceso de desarrollo de software. Incluye herramientas y procesos que fomentan
la colaboración entre los desarrolladores, los especialistas en seguridad y los
equipos de operaciones para crear un software que pueda h acer frente a las
amenazas actuales. Además, garantiza que las actividades de garantía de la
seguridad, como revisión de código, análisis de arquitectura y pruebas de
penetración, formen parte del proceso de desarrollo.

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

En Python para abrir un archivo usamos la función open


Archivo=open("archivo.txt", "r")
"r" - Read Abre un archivo en modo lectura

"a" - Append – abre un archive para agregar, crea un archivo si este no existe

"w" - Write - Abre un archivo en modo escritura, crea el archivo si no existe

"x" - Create – Crea un archive especifico ,retorna un error si el archivo existe

Lectura de archivos

file=open("archivo.txt","r")
for item in file:
print(item)
file.close()

Para remover líneas en blanco:

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()

with open("holamundo.txt", 'w') as file:


file.write("hola mundo"+"\n")

8. OBJETOS Y MODULOS

La programación orientada a objetos POO, es un paradigma de programación que


nos da los medios para estructurar los programas de tal manera que las
propiedades y comportamiento estén dados en objetos.
El paradigma de POO se compone de 4 elementos:

• Clases
• Atributos
• Métodos
• Objetos

Algunos conceptos necesarios son:


Clase: Es una entidad que define una serie de elementos que determinan un estado
y un comportamiento, es decir que una clase tiene datos y funcionalidades .

Método: Los métodos son las funciones que se definen dentro de una clas e.

Objeto: Es la instancia de la clase y consta de estado y comportamiento .

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.

Módulos Python más usados


os

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

En ocasiones, cuando realizamos un programa, el resultado obtenido no es el


esperado, es decir, el intérprete detecta un error, el cual hace que el programa
funcione, pero no lo haga correctamente.

En estas ocasiones es muy importante depurar el programa .

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

También podría gustarte