No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Módulos

26/44
Recursos

Aportes 52

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

MODULO
Un modulo se puede definir que es lo mismo a una biblioteca de código. Es decir es un archivo que contiene un conjunto de funciones que se pueden aplicar.

Como crear un Módulo?

  1. Para crear un módulo debemos escribir el nombre del archivo + la extensión de python que es .py ejemplo name.py
  2. Escribimos el código que vamos a utilizar en el archivo que acabamos de nombrar.
  3. Abrimos el archivo con el cual vamos a trabajar y declaramos el modulo que le dimos el nombre por ejemplo con la extensión import, sería de la siguiente manera: import name

Codigo en module .py

def greeting(name):
  print("Hello, " + name)

Código en el archivo que vamos a trabajar exercise_module.py_

import module

module.greeting("Camilo")

Producción:
Hello, Camilo

Si en nuestro modulo principal tenemos una lista con varios valores, podemos extraer un solo resultado.

_ module .py_

people = {
  "name": "Camilo",
  "age": 35,
  "country": "Colombia"
}

exercise_module .py

import module

a = module.people["age"]
print(a)

Producción:
35

Importar desde un Módulo.

AL utilizar la palabra from podemos importar partes especificas del módulo principal a nuestra documento de extracción de información.

module .py

def greeting(name):
  print("Hello, " + name)

people1 = {
  "name": "Camilo",
  "age": 35,
  "country": "Colombia"
}

exercise_module.py

from module import people1

print (people1["age"])

Producción:
35

Para preguntar por el sistema operativo

import sys
print(sys.path)
#Imprime donde se está ejecuntando el archivo

Para expresiones reguladas

import re
text = 'Mi numero de telefono es 311 123 121, el codigo del pais es 57, mi numero de la suerte 3'
result = re.findall('[0-9]+', text)
#Esta expresión regular busca lo indicado dentro de [ ] 
print(result)

Para manejo de horas y fechas

import time
timestamp = time.time() 
#hora actual en formato de computadora
print(timestamp) 
local = time.localtime()
#Indica la hora local
result = time.asctime(local) 
#Transforma el formato de hora
print(result)

Para manejo de listas

import collections
numbers = [1,1,2,1,2,1,4,5,3,3,21]
counter = collections.Counter(numbers)
#Devuelve un diccionario con el número de veces que se repite un item dentro de un elemento (frecuencia)
print(counter)

sentite orgulloso por llegar hasta aca

Las Expresiones Regulares son una herramienta muy poderosa, y si estas aprendiendo ciencia de datos las vas a usar cuando apliques web scraping.

Modulos son ficheros que contienen un conjunto de funciones, variables o clases y que pueden ser usados por otros módulos.

Modulos

#--------- modulos ------------

# modulo para el manejo del sistema
import sys

# ubicacion donde se ejecuta el archivo actual
print(sys.path)
--> ['/home/runner/coursepythonbasic', '/home/runner/coursepythonbasic/venv/lib/python3.10/site-packages',

# modulo de expresiones regulares
import re

# obtener los numeros de un texto
text = 'mi numero telefonico es 310 234 999. El codigo delpais es 57. Mi numero de la suerte es 7'

result = re.findall('[0-9]+', text)
print(result)
--> ['310', '234', '999', '57', '7']

# Modulo para el manejo de horas y fechas
import time

# hora y fecha actual en el formato de la computadora
timestamp = time.time()
print(timestamp)
--> 1669896713.8403738

# hora y fecha actual con formato de hora
local = time.localtime()
hora_actual = time.asctime(local)
print(hora_actual) # hora en el que corre el servidor
--> Thu Dec  1 12:11:53 2022

# modulo para el manejo de listas
import collections

# frecuencia de los numeros de una lista en un diccionario
numbers = [1,2,4,5,5,5,7,1,3,8,5,5]
counter = collections.Counter(numbers)
print(counter)
--> Counter({5: 5, 1: 2, 2: 1, 4: 1, 7: 1, 3: 1, 8: 1})

¿Qué es un módulo?

  • Un módulo es un fichero, con extensión *.py y, por tanto, accesible al intérprete de Python y ejecutable por el núcleo de Python. Puede contener:

  • Variables globales, funciones, clases (patrones de objetos) y sentencias ejecutables.

  • La programación de clases no la estudiaremos en este curso introductorio.

  • Un módulo, a su vez, puede importar otros módulos.

  • Un módulo es un archivo de Python que contiene código que puedes reutilizar en varios programas.

  • Los módulos te permiten organizar el código de tu programa en unidades más pequeñas y más manejables.

  • Esto hace que sea más fácil trabajar en grandes proyectos de código y también te permite reutilizar código en varios programas sin tener que copiar y pegar el código en cada programa.

  • Para usar un módulo en un programa, primero debes importarlo. Puedes hacer esto usando la declaración import.

import math

print(math.pi)
print(math.sqrt(16))

Es una buena práctica hacer todos los imports en la parte de arriba del código:

import sys
import re
import time
import collections

print(sys.path)

text = 'Mi número de teléfono es 123 456 789. El código del pais es 52. Mi número de la suerte es el 77'

result = re.findall('\d+', text)
print(result)

# timestamp = time.time()
local = time.localtime()
result = time.asctime(local)
print(result)

numbers = [1,2,1,2,1,2,2,2,2,2,1,14,45,345,45]
counter = collections.Counter(numbers)
print(counter)

Les dejo un video tutorial que hice sobre expresiones regulares:
Conceptos básicos de expresiones regulares + ejercicio básico

Para consultar los modulos disponibles:

help("modules")

Para consultar los métocos y atributos de un modulo específico:

dir(nombre_del_modulo)

Para consultar información sobre un módulo en partícular:

help("modules <nombre_del_modulo>")

Cuando quieres ver que funciones tiene un modulo importado das el comando dir(modulo)

ejemplo:

dir(time)

y este devuelve :

[‘CLOCK_BOOTTIME’,
‘CLOCK_MONOTONIC’,
‘CLOCK_MONOTONIC_RAW’,
‘CLOCK_PROCESS_CPUTIME_ID’,
‘CLOCK_REALTIME’,
‘CLOCK_TAI’,
‘CLOCK_THREAD_CPUTIME_ID’,
’_STRUCT_TM_ITEMS’,
doc’,
loader’,
name’,
package’,
spec’,
‘altzone’,
‘asctime’,
‘clock_getres’,
‘clock_gettime’,
‘clock_gettime_ns’,
‘clock_settime’,
‘clock_settime_ns’,
‘ctime’,
‘daylight’,
‘get_clock_info’,
‘gmtime’,
‘localtime’,
‘mktime’,
‘monotonic’,
‘monotonic_ns’,
‘perf_counter’,
‘perf_counter_ns’,
‘process_time’,
‘process_time_ns’,
‘pthread_getcpuclockid’,
‘sleep’,
‘strftime’,
‘strptime’,
‘struct_time’,
‘thread_time’,
‘thread_time_ns’,
‘time’,
‘time_ns’,
‘timezone’,
‘tzname’,
‘tzset’]

Pequeño resumen.

Los módulos permiten encerrar o empaquetar partes de nuestro código y su lógica en un archivo. Hay algunos módulos de Python que incorporan funciones que facilitan nuestro trabajo. Algunos ejemplos son:

  • sys. Interacción con el sistema operativo. Por ejemplo, nos permite conocer la ubicación de algún archivo.
  • re. Trabajo con expresiones regulares. Por ejemplo, nos permite extraer elementos de un texto que tengan alguna característica de interés.
  • time. Trabajo con horas y fechas.
  • collections. Trabajo con listas. Por ejemplo, nos permite conocer la frecuencia con la que un elemento se encuentra en una lista.

Estos son algunos de los beneficios de crear codigo en modulos:

  • Simplesa: en vez de trabajar con grandes cantidades de codigo, dividir esa gran tarea y modularisarla teniendo varios pequenos problemas a resolver hace que el codigo en conjunto este menos propenso a errores.
  • Capacidad de mantenimiento: generalmente cuando se usan modulos, se crean de forma independiente de el resto de el codigo es decir son menos dependiente uno del otro esto reduce la probabilidad de que un cambio generado en uno afecte al otro, esto ayuda en gran medida al trabajo colaborativo entre diferentes desarrolladores debido que no necesitan saber lo que hacen los otros modulos para modificar el suyo
  • Reusabilidad: Esta es la ventaja mas logica de la modularisacion debido que la principal razon para la que se crea un modulo es para ser utilizado en varios entornos nuevamente
  • Alcance: Recuerdan el zen de python “Los espacios de nombres son una gran idea, ¡tengamos más de esos!”. Es precisamente eso lo que se aplica aqui cuando creamos modulos python crea espacios de nombres aparte por lo tanto evita conflictos a la hora de usarlos

Entiendo lo de Collections, pero adjunto el código de contar los números mediante un dictionary comprehension . Por si alguien desea obtener el mismo resultado del ejercicio:

# Manejar listas
import collections
numbers = [1,1,2,1,2,1,4,5,3,3,21]
# Frecuencia de números
counter = collections.Counter(numbers)
print(counter) # Dict con freq de c/numero

print("ALternativa")
response = {number: numbers.count(number) for number in numbers}
print(response)
#Output:
#  Counter({1: 4, 2: 2, 3: 2, 4: 1, 5: 1, 21: 1})
#  ALternativa
#  {1: 4, 2: 2, 4: 1, 5: 1, 3: 2, 21: 1}

El método time del modulo time genera la marca de tiempo que expresa el número de segundos desde el 1 de Enero de 1970 a las 00:00:00 (UTC). Esta fecha se llama la época Unix, porque es cuando comenzó el conteo del tiempo en los sistemas Unix.

La marca de tiempo es en realidad la diferencia entre una fecha en particular (incluida la hora) y el 1 de enero de 1970, 00:00:00 (UTC), expresada en segundos

Podemos pasar la marca de tiempo por el metodo fromtimestamp para obtener una fecha en formato AAAA-MM-DD

from datetime import date
import time

timestamp = time.time()
print("Marca de tiempo:", timestamp)

d = date.fromtimestamp(timestamp)
print("Fecha:", d)

    # Marca de tiempo: 1672149221.8283038
    # Fecha: 2022-12-27

las expresiones regulares sirven para localizar trozos de texto dentro de un texto mayor, al utilizar la expresión [ 0-9]+ le esta indicando que le muestre los números que contenta el texto

Este profesor me gusta más que el otro

Tremenda clase, gracias tambien al que compartio lo del comando help(‘modules’) muy util hacer consultas de la documentación desde python. Es un gran inicio. Me motivaste a seguir pronto con el curso de Expresiones regulares.

Las siguientes son algunas funciones que podemos encontrar dentro del módulo "collections": * `deque`: un contenedor similar a una lista con appends y pops rápidos en ambos extremos. * `ChainMap`: una clase similar a `dict` para crear una vista única de múltiples mapeados. * `Counter`: una subclase de `dict` para contar objetos hashable. * `OrderedDict`: una subclase de `dict` que recuerda las entradas de la orden que se agregaron. * `defaultdict`: una subclase de `dict` que llama a una función de fábrica para suministrar valores faltantes. * `UserDict`: una envoltura alrededor de los objetos de diccionario para facilitar subclasificaciones dict. * `UserList`: una envoltura alrededor de los objetos de lista para facilitar la subclasificación de un list. * `UserString`: una envoltura alrededor de objetos de cadena para facilitar la subclasificación de string. * `namedtuple()`: una función de fábrica para crear subclases de tuplas con campos con nombre.

Aqui les comparto un tutorial que hice en platzi de como manejar fechas con las clases datatime, date y time:
Click aqui

quiero destacar que tenía un problema a la hora de realizar el código y me salía la lista vacía. Esto se debía a que en el import re, precisamente en el apartado ‘text’ al poner el teléfono, lo escribí todo junto, sin espacios, a su vez, en el result puse un " " (espacio) que no iba y eso modifica de gran manera todo. Es una observación para que sean cuidadosos. Yo me di cuenta modificando el código poco a poco. Así lo escribí yo:
result = re.findall(’[0-9] +’, text)
y lo correcto es:
result = re.findall(’[0-9]+’, text)

Una vez, corrigiendo el código (pero no el texto); me devolvía el result con el número completo de teléfono, y los otros 2 textos de números restantes.
Al separarlo, quedó todo óptimo.

Espero que a alguien le sirva, que tengan buen código y clean ☺

Hablando sobre complejidad algorítmica, la complejidad algorítmica de: ```js counter = collections.Counter(numbers) print(counter) ``` Es: El código utiliza el módulo `collections` de Python para contar las apariciones de cada número en la lista `numbers` con la clase `Counter`. Vamos a analizar la complejidad temporal y espacial de este código: ### Complejidad Temporal (Time Complexity) * `collections.Counter(numbers)`: Este método recorre la lista `numbers` una vez para contar la cantidad de apariciones de cada número. * El tiempo requerido para iterar sobre la lista es **O(n)**, donde **n** es el número de elementos en la lista `numbers`. * `print(counter)`: Imprimir el objeto `Counter` tiene una complejidad temporal de **O(k)**, donde **k** es el número de elementos únicos en la lista. En general, esto se considera constante **O(1)** si el tamaño de la lista no es extremadamente grande. Por lo tanto, la complejidad temporal total es: * **O(n)**. ### Complejidad Espacial (Space Complexity) * **Espacio utilizado por** `Counter`: El objeto `Counter` almacena cada elemento único de la lista y su recuento. En el peor de los casos, todos los elementos en la lista son únicos, por lo que el espacio utilizado es **O(k)**, donde **k** es el número de elementos únicos en la lista. En el peor de los casos, **k = n**, cuando todos los elementos son únicos. Por lo tanto, la complejidad espacial es: * **O(n)**. ### Conclusión * **Complejidad Temporal**: **O(n)** * **Complejidad Espacial**: **O(n)** Estas complejidades asumen que el tamaño de la lista puede crecer arbitrariamente.
```python hola aqui esta mi aporte import sys #se importa la libreria sys print(sys.path) # se imprime la ruta de la libreria import re #se importa la libreria re text = 'mi numero de telefono es 311 123 121, el codigo del pais es 57, mi numero de la suerte es 3' #se crea un textp result = re.findall('[0-9]+', text)#se crea una exprecion regular para buscar numeros en el texto print(result) import time#se importa la libreria time timestamp = time.time()#se crea un variable con la hora actual este es mas para computadoras local = time.localtime()#se cra un variable con la hora local esto es para humanos result = time.asctime(local)#se crea una variable con la hora local print(result) import collections # se importa la libreria numbers = [1,1,2,1,2,1,4,5,3,3,21]#se crea una lista counter =collections.Counter(numbers)#se crea un contador print(counter) ```
Un módulo en Python es un archivo que contiene definiciones, funciones, clases y variables que puedes usar una vez que se ha importado. Los módulos son útiles porque te permiten organizar y reutilizar el código de manera eficiente. **MÓDULOS ESPECÍFICOS:** * **SYS:** Este módulo proporciona acceso a algunas variables y funciones que interactúan fuertemente con el intérprete de Python. Te permite acceder a los argumentos de la línea de comandos, leer y modificar la ruta de búsqueda de módulos, manejar excepciones y más. * **RE:** Este módulo proporciona operaciones de coincidencia de expresiones regulares similares a las que se encuentran en Perl. Puedes usarlo para buscar, reemplazar, dividir y manipular cadenas basándote en patrones de texto. * **TIME:** Este módulo proporciona varias funciones para trabajar con fechas y horas. Por ejemplo, puedes usarlo para obtener la hora actual, convertir entre diferentes representaciones de tiempo, formatear fechas y horas para la salida, etc. **COLLECTIONS:** Este módulo implementa tipos de contenedores especializados que proporcionan alternativas a los contenedores generales de Python. Incluye tipos útiles como namedtuple (que te permite crear tuplas con campos nombrados), deque (una cola de doble extremo con adiciones y eliminaciones rápidas en ambos extremos), Counter (un diccionario para contar objetos hashables), OrderedDict (un diccionario que mantiene su orden de inserción) y defaultdict (un diccionario que proporciona un valor predeterminado para las claves inexistentes).
When I see **import re** I felt a little cold on my back, I didn't know there was a Platzi course on regular expressions, I think I'll check it out later.
Esta clase particularmente me resultó complicada puesto que yo estoy haciendo la ruta de backend con python y nunca habia visto eso de expresiones regulares y él lo habla con una naturalidad jajajaja como "obvio ya lo sabes" pero no, no lo sé jajaja
import os
os.system('clear')  # Limpiar pantalla en Unix (Windows -> 'cls')

import sys
print(sys.path,'\n')

import re #regular expressions
text = "Mi numero de telefono es 311 123 212, el codigo de pais es 54, my lucky number is 3"
result = re.findall('[0-9]+',text)
print(result,'\n')

import time
timestamp = time.time()
print(timestamp,'\n')

local = time.localtime()
print(local,'\n')
result = time.asctime(local)
print(result,'\n')

import collections as coll
numbers = [8,1,1,2,1,2,4,5,5,5,3,2,1,2,3,4,5,6,7]
counter = coll.Counter(numbers)
print(counter,'\n')

En este ejercicio aprendi mucho de los modulos. No imagine que tuvieran esa funcion. Me falta mucho por aprender todavia. Estoy por un buen camino.

# Módulos

# https://platzi.com/cursos/expresiones-regulares/

# https://www.w3schools.com/python/python_modules.asp

import sys
print(sys.path)

import re
text = 'Mi numero de telefono es 311 123 121, el codigo del pais es 57, mi numero de la suerte 3'
result = re.findall('[0-9]+', text)
print(result)

import time
timestamp = time.time()
print(timestamp)

local = time.localtime()
result = time.asctime(local)
print(result)

import collections
numbers = [1,1,2,1,2,1,4,5,3,3,21]
counter = collections.Counter(numbers)
print(counter)

Ruta donde estoy ubicado y donde se ejecuta

import sys
print (sys.path)

re.findall(pattern, string)

Esta función busca todas las ocurrencias del patrón en la cadena de texto

y devuelve una lista de todas las coincidencias encontradas.

import re
text = " Mi numero de telefono es 3225709750 , El codigo del pais es +57 , Mi numero de la suerte es 25 "
result = re.findall( ’ [0-9]+ ’ , text )
print (result)

re.search (pattern , string)

Esta función busca un patrón (pattern) dentro de una cadena de texto (string)

y devuelve un objeto match si encuentra una coincidencia. Si no se encuentra ninguna coincidencia, devuelve None.

import re
texto = “Python es un lenguaje de programación poderoso y versátil.”

Buscar la palabra “Python” en el texto

resultado = re.search(r"Python", texto)

if resultado:
print(“Se encontró una coincidencia:”, resultado.group())
else:
print(“No se encontraron coincidencias.”)

importar tiempo actual

import time
tiempo_actual = time.time()
local = time.localtime()
resultado = time.asctime()
print(resultado)

import collections
numeros = [1,1,2,1,2,1,4,5,3,3,21]
contador = collections.Counter(numeros)
print(contador)

#Importa funciones del sistemaa operativo
import sys
#print(sys.path)

#Importa expresiones regulares 
import re
text = 'Mi numero de telefono es 123 456 789, el código'
result = re.findall('[0-9]+', text)
#print(result)

#Funciones relacionadas con tiempo
import time
timestamp = time.time()
#print(timestamp)
local = time.localtime()
result_local_time = time.asctime(local)
#print(result_local_time)

#Funciones relacionadas con listas
import collections

numbers = [1,1,2,1,2,1,2,4,5,6,3,3,3,21]
counter = collections.Counter(numbers)
print(counter)

Aquí un ejemplo sencillo del uso de módulos en Python:

Supongamos que tenemos un módulo llamado operaciones_matematicas.py con el siguiente código:

# operaciones_matematicas.py

def sumar(a, b):
  return a + b

def restar(a, b):
  return a - b  

Este módulo contiene dos funciones relacionadas a operaciones matemáticas.

Ahora en otro archivo Python podemos importar y usar estas funciones así:

# programa.py 

import operaciones_matematicas

a = 5
b = 3

print(operaciones_matematicas.sumar(a, b)) 
# Imprime 8

print(operaciones_matematicas.restar(a, b))
# Imprime 2

Con la sentencia import incluimos el módulo y con operaciones_matematicas.funcion() accedemos a sus funciones.

De esta forma modularizamos las funciones matemáticas en un archivo separado y las reutilizamos en el archivo principal. Esto nos permite organizar mejor el código y evitar tener todo junto.

Es una forma simple pero muy poderosa de usar módulos en Python para crear programas más robustos y mantenibles.

Apliqué el módulo collections a nombres, corrió igual que con números.

import collections
names = ['Eliana', 'Marcela', ' Soraya', 'Eliana', 'Mireya', 'Marcela', 'Marcela', 'Rafael', 'Lucia', 'Rafael']
counter = collections.Counter(names)
print(counter) 

![](

Para dar un formato específico a la fecha y hora actual, utilicé el módulo datetime, y su función strftime() que recibe por parámetros el formato en que se quiera imprimir.
Para dar un formato a una fecha ingresada por uno mismo, utilicé el mismo módulo de datetime, convertí la fecha en un recurso datetime, para acceder a sus funciones, con la función strptime() que recibe dos parámetros: la fecha ingresada y el formato en que esté esa fecha. Luego volví a utilizar la función strftime() para establecer mi formato de preferencia.

import datetime
date = datetime.datetime.now()
print("DATE TIME", date)
date_format = date.strftime('%Y-%m-%d %H:%M:%S')
print(date_format)

date_v2 = datetime.datetime.strptime('06/09/2023 04:45', '%d/%m/%Y %H:%M')
print(date_v2)
date_v2_format = date_v2.strftime('%d/%m/%Y')
print(date_v2_format)

Otra forma más directa de imprimir la hora local:

local_direct = time.asctime(time.localtime())
print(local_direct)
import sys
print(sys.path)

import re
text = 'Mi numero de telefono es 320 533 0698, el codigo del pais es 57, mi numero de la suerte 3'
result = re.findall('[0-9]+', text)
print(result)

import time
timestamp = time.time()
local = time.localtime()
result = time.asctime(local)
print(timestamp)

print(result)

import collections
numbers = [1,2,3,4,5,5,3,4,8,8]
counter = collections.Counter(numbers)
print(counter)

Con collections.Counter() podemos conseguir fácilmente la lista de frecuencias de palabras en un texto para ver qué palabras tienen un mayor número de aparición, por ejemplo:

import collections
text = 'Mi numero de telefono es 312 932 3945, el código del país es 57, mi numero de la suerte es 4.'
print(collections.Counter(text.split()))

Da como resultado:

Counter({'es': 3, 'numero': 2, 'de': 2, 'Mi': 1, 'telefono': 1, '312': 1, '932': 1, '3945,': 1, 'el': 1, 'código': 1, 'del': 1, 'país': 1, '57,': 1, 'mi': 1, 'la': 1, 'suerte': 1, '4.': 1})

El timestamp de unix es conocido como el “unix epoch timestamp”

Es definido como el numero de segundos que han pasado desde el 1 enero de 1970 en UTC (meridiano de Greenwich).

Este numero es utilizado en base de datos para tener en cuenta cuando se modifico un registro.

En Python un módulo es un archivo que contiene definiciones y declaraciones de Python, como funciones, clases y variables. Los módulos se utilizan para organizar el código en un programa de Python en archivos separados y para reutilizar el código en varios programas.

Python viene con una amplia gama de módulos por defecto que se pueden importar y utilizar en cualquier programa de Python sin necesidad de instalar o descargar nada adicional. Algunos de los módulos por defecto más comunes son:

  1. math: proporciona funciones matemáticas comunes como trigonometría, logaritmos, funciones exponenciales, etc.
  2. random: proporciona funciones para generar números aleatorios.
  3. datetime: proporciona clases para trabajar con fechas y horas.
  4. os: proporciona funciones para interactuar con el sistema operativo, como crear directorios, cambiar el directorio de trabajo, etc.
  5. sys: proporciona información sobre el intérprete de Python y el sistema en el que se está ejecutando.
  6. re: proporciona funciones para trabajar con expresiones regulares.
  7. json: proporciona funciones para trabajar con datos JSON.
  8. csv: proporciona funciones para trabajar con archivos CSV.
    Para utilizar un módulo en un programa de Python, primero debemos importarlo. Por ejemplo, para utilizar las funciones matemáticas del módulo math:
import math
print(math.pi)  
# Salida esperada: 3.141592653589793
'''
MODULO
Un modulo se puede definir que es lo mismo a una biblioteca de código. Es decir es un archivo que contiene un conjunto de funciones que se pueden aplicar.

Como crear un Módulo?
Para crear un módulo debemos escribir el nombre del archivo + la extensión de python que es .py ejemplo name.py
Escribimos el código que vamos a utilizar en el archivo que acabamos de nombrar.
Abrimos el archivo con el cual vamos a trabajar y declaramos el modulo que le dimos el nombre por ejemplo con la extensión import, sería de la siguiente manera: import name
'''

# sys muestra el lugar donde se esta ejecutando el archivo
import sys
print(sys.path)

# re muestra las secciones regulares
import re
text = 'Mi numero de telefono es 311 123 121, el codigo del pais es 57, mi numero de la suerte 3'
#re.findall ('0-9'+) selecciona las coincidencias del texto entre 0-9
result = re.findall('[0-9]+', text)
print(result)

# modulo de horas y fechas : time
import time
timestamp = time.time()
print(timestamp)
#.time es el formanto que la pc entiende

#este es el proceso que nosotros los humanos entendemos
local = time.localtime()
result = time.asctime(local)
print(result)


# se utiliza para manejar listas
import collections
numbers = [1,1,2,1,2,1,4,5,3,3,21]
#.Counter se utiliza para saber la frecuencia con la que aparece un numero en una lista
counter = collections.Counter(numbers)
print(counter)

Hola!

Les comparto el código de la clase.

# Módulos
# https://www.w3schools.com/python/python_modules.asp
# https://platzi.com/cursos/expresiones-regulares/

# Para preguntar por el sistema operativo
import sys
# Muestra en donde estoy ejecutando el archivo
print(sys.path)

# Expresiones Regulares
import re

texto = "Mi numero de telefono es 3001112233, el codigo del pais es 57, mi numero de la suerte es el 12"
# Obtener solo los string que coincidan con lo que es un numero
result = re.findall('[0-9]+', texto)
print(result)

# Manejo de Fecha y Horas
import time

timestamp = time.time()
print(timestamp) # Formato unix

local = time.localtime()
result = time.asctime(local)
print(result)

# Utilidad para manejar listas
import collections

numbers = [1, 1, 2, 3, 4, 3, 5, 1, 5, 4]

# Frecuencia de un numero en la lista
counter = collections.Counter(numbers)
print(counter)

😮 no sabia de collections

El deber de la clase, buen dia


import re


text = 'Hoy es 1ero y es  dia de cobro, me van a pagar 999, y 777 mas 555 solo por decir parangaricutirimicuaro'

result = re.findall('[a, e, i, o, u]+', text)
print(result)

Modulos son ficheros que contienen un conjunto de funciones,
variables o clases y que pueden ser usados por otros módulos.
'''

#Lugar donde se esta ejecutando
import sys
print(sys.path)

import re 
#Expresiones regulares
texto="Mi numero de tele es 123 123 324, codigo del pais es 56"
resultado=re.findall("[0-9]+",texto)
print(resultado)

import time
timestamp=time.time()
print(timestamp) #Hora para la computadora

local=time.localtime()
resultado=time.asctime(local)
print(resultado) #Hora para los humanos
print(type(resultado))

import collections
numbers=[1,2,1,2,1,2,1,2,1,2,3,4,5,6]
counter=collections.Counter(numbers)
print(counter)

Una de mis librerias favoritas, es una llamada sh en esta se pueden introducir comandos de linux mas comodamente, por ejemplo

import sh
sh.ls()

>>> # listara los directorios o archivos de una carpeta

Si queremos meter argumentos es de la siguiente manera

import sh
sh.ls("-l")

>>> # Listara la carpeta mas detalladamente

Instalacion (En un sistema basado en linux, en windows no se pero meimagino que seria igual)

pip install sh

Espero que a alguien le sirva!!

Aquì dejo un pequeño script donde aplico algunos modulos vistos a travès del curso

import collections
import random

numbers = [random.randint(1,4) for x in range(10)]
counter = collections.Counter(numbers)

print(f'This list contains these random numbers: {numbers} \n')
print(f'Because of this module "collection", we can to count the coincidence: {counter} \n')

¡Nunca pares de aprender!

c = collections.Counter('abcdeabcdabcaba')  # count elements from a string
c.most_common(3)                # three most common elements

[('a', 5), ('b', 4), ('c', 3)]
sorted(c)                       # list all unique elements
['a', 'b', 'c', 'd', 'e']
''.join(sorted(c.elements()))   # list elements with repetitions
'aaaaabbbbcccdde'
sum(c.values())                 # total of all counts
15
c['a']                          # count of letter 'a'
5
for elem in 'shazam':           # update counts from an iterable
    c[elem] += 1                # by adding 1 to each element's count
c['a']                          # now there are seven 'a'
7
del c['b']                      # remove all 'b'
c['b']                          # now there are zero 'b'
0
d = collections.Counter('simsalabim')       # make another counter
c.update(d)                     # add in the second counter
c['a']                          # now there are nine 'a'
9
c.clear()                       # empty the counter

# Note: If a count is set to zero or reduced to zero, it will remain in the counter until the entry is deleted or the counter is cleared:

c = collections.Counter('aaabbc')
c['b'] -= 2                     # reduce the count of 'b' by two
c.most_common()                 # 'b' is still in, but its count is zero
[('a', 3), ('c', 1), ('b', 0)]
# Muestra la localización del archivo
import sys
print(sys.path)

# Extraer elementos de un texto

import re
text = 'Mi numero de telefono es 311 123 121,  el codigo del pais es 57, mi numero de la suerte 3'
result = re.findall('[0-9]+', text)
print(result)

# Muestra la fecha, día, hora de equipo

import time
timestamp = time.time()
print(timestamp)

local = time.localtime()
result = time.asctime(local)
print(result)

# Manejar lista, cuanta los elementos que se encuentran en la lista

import collections
numbers = [1,1,2,1,2,1,4,5,3,3,21]
counter = collections.Counter(numbers)
print(counter)

Genial introducción a los módulos

import sys #te meciona la ruta y sistema que usas
import re #importa expreisones regulares
import time #modula para saber la hora y trabajr con el tiempó
import collections  


print(sys.path)



text="The cogde for the box is 3245 and remenber de firt numer is 3"
filtro= re.findall("[0-9]+",text)
print(filtro)


timenow=time.time()
print(timenow)
#time
local=time.localtime()
print(local)

#or
localtime=time.asctime()
print(localtime)

#Colleccions
number=[1,1,1,1,1,1,2,2,3,3,1,1,2,4,5,7,54,6,5,4,2,3,1,2,3,4,5]
counter=collections.Counter(number)
print(counter)