- Anotaciones Python
- Índice
- Anotaciones Generales
- Tipos Primitivos
- Operaciones Aritméticas
- Orden De Precedencia
- Anotaciones Print
- Bibliotecas
- Manipulação De Texto
- Estrutura Condicional Simple E Composta
- Estrutura De Repetição Ou Laços Ou Iterações
- Coleções
- Cores No Terminal Python
- Conversão Base De Dados
- Funciones
- Modularização
- Pacotes
- Manejo De Erroress E Exceções
- Manipulação De Arquivo Txt
Refinamiento sucesivo: dividir una aplicación y realizar pruebas al desarrollar, para evitar errores al principio o en medio, y corregirlos en la fase de desarrollo.
Invertir cadena escrita con: var[::-1]
Flag - Punto de parada
Se puede recibir el mismo valor para varias variables utilizando:
ex = ex1 = ex2 = ex3 = 0
reverse = True - hace que algunas funciones se inviertan ej: L.sort()
función == Método
toda función abre y cierra paréntesis después del nombre ej: f()
- int - entero
- bool - booleano / true, false
- float - números con coma/decimales
- str - cadena de texto
- Adición: +
- Sustracción: -
- Multiplicación: *
- División: /
- Potencia: **
- División (entera): //
- Resto de la división/Módulo: %
- Comparación: ==
- Asignación: =
- :()
- :**
- :*,/,//,%
- :+,-
dentro de un print con f-string o .format se puede utilizar :.3f dentro de las llaves para definir solo 3 dígitos después del punto decimal
end=’ ’ no rompe la línea
\n - salto de línea
3 comillas dobles para abarcar más de una línea
f-string - f'prueba : {variable}'
ceil(N) : redondea hacia arriba
floor(N) : redondea hacia abajo
trunc(N) : reduce lugares decimales sin redondear
pow(N) : potencia
sqrt(N) : raíz cuadrada
factorial(N) : factorial
random() : genera número aleatorio entre 0 y 1
randint(número inicial, Número Final) : genera un número entero aleatorio en un rango determinado
shuffle(L) : Baraja una lista
sleep(segundos): hace que el proceso espere la cantidad de tiempo definida antes de continuar la ejecución
date.today().year : año actual
itemgetter - usado para buscar elementos dentro de diccionarios
urllib.request.urlopen( URL de algún sitio ) - intenta acceder a algún sitio
variable_con_url_sitio.getcode() - Devuelve un código para el intento de acceso, siendo 200 exitoso.
frase[9:21] - Devuelve el valor de la frase comenzando en la posición 9 y yendo hasta la 20 (python ignora la última)
len(f) - cantidad de caracteres en una cadena o lista
(T).count() - cuenta la cantidad de un carácter dentro de una cadena / lista
(T).find() - muestra la posición de un carácter dentro de una cadena / lista. si no existe, devuelve -1
(T).index(Valor buscado, Inicio) - muestra la posición del valor buscado dentro de una variable compuesta
in - devuelve valor booleano
del(Variable)
replace() - Reemplaza una cadena/valor de lista por otra cadena digitada
upper() - Convierte una cadena a mayúsculas
lower() - Convierte una cadena a minúsculas
capitalize() - Convierte una cadena a minúsculas y pone la primera letra en mayúscula
title() - Capitaliza la primera letra de cada palabra en una cadena
strip() - Elimina los espacios inútiles al principio y al final de la cadena
rstrip() - Elimina los espacios a la derecha
lstrip() - Elimina los espacios a la izquierda
string.center(Número de caracteres) - Centra el texto en el Número de caracteres definido
split() - Divide una cadena en una lista
'separador'join(frase) - une una cadena // ejemplo '-'.join(frase) une la cadena y separa por '-'
zfill(número) - añade una cantidad de ceros a una cadena
ejecuta el programa de forma lineal de arriba hacia abajo ejecutando todos los comandos
Escríbelo todo en una línea ejemplo: print('1' if var <=3 else '2')
Ejecuta solo un bloque condicional
ejecuta más de un bloque condicional ej : else
Condiciones dentro de condiciones
if - si
elif - Siempre necesita un if previamente
else - Solo se puede utilizar una vez dentro del Bloque anidado con if o elif
for x in range(Número Inicial, Número Final(Siendo el Resultado NF-1), cuál es la iteración (Ejemplo Sumar(1) o restar(-1)) )
for x enumerated( Variable Compuesta ) devuelve el valor y el índice.
while not (Valor Booleano):
while true: bucle infinito
break - interrumpe el bucle de repetición
continue - continúa el bucle y si el programa se salta la sección, salta a la siguiente iteración
Puedes interpolar colecciones, por ejemplo: Diccionarios dentro de listas
Carácter - ()
Las tuplas son inmutables
sorted(T) - ordena la tupla pero no almacena el valor, para guardarlo usar variable
Caracter - []
sum(L) - suma todos los valores de una lista
L.append() - añade un valor a la lista
L[índice] - muestra el elemento que está en la posición indicada
L.insert(Posición,Valor) - añade un valor en una posición seleccionada
L.remove() - elimina un valor de la lista
max(L) - Muestra el mayor valor de la lista
min(L) - Muestra el menor valor de la lista
(L).sort - Ordena la lista
del L[Índice] - Eliminar un elemento de una lista por el Índice elegido
L.pop(Índice) - Elimina un elemento de una lista por el Índice elegido o, si no se le pasa argumento, elimina el último valor.
L.remove(valor) - Elimina el elemento buscado por el valor(Contenido) definido
L1 = L2 - el signo '=' crea un enlace entre las listas, donde cambiar una afecta a la otra
L1 = L2[:] - copia la lista, sin crear enlace
L1.append(L2[:]) - Copia la lista L2 Dentro de la lista L1
L1 = [['Valor1','Valor2'],['Valor1','Valor2']] - Declara una lista dentro de una lista
print(L[0][0]) - muestra el índice 0 dentro de la lista [0]
L.clear() - Limpia una lista
L.choice - Elige un elemento aleatoriamente dentro de la lista
Caracter - {}
Principal diferencia con la lista: Tiene índices Literales (Letras/Palabras)
D['Índice Literal'] = 'Valor' - Añade un valor a la variable
del D['Índice Literal'] - Elimina el valor que está en el índice digitado.
D.values() - Devuelve los Valores
D.keys() - Devuelve los Índices Literales
D.items() - Devuelve tanto los Índices(Keys), como los Valores(values)
D.copy() - Copia los valores de un diccionario sin crear enlace, (para utilizar en bucles, etc.)
D1 = sorted(D2.items(), key=itemgetter(índice del diccionario siendo 0 para keys, y 1 para values) ) - Ordena en orden
ascendente un diccionario basado en los valores
\033[Style;Text;Back;m
\033[0;33;44m
0 - ninguno / none
1 - negrita
4 - subrayado
7 - negativo
30 - blanco
31 - rojo
32 - verde
33 - amarillo
34 - azul
35 - magenta
36 - cian
37 - gris
40 - blanco
41 - rojo
42 - verde
43 - amarillo
44 - azul
45 - magenta
46 - cian
47 - gris
bin() - convierte de decimal a binario
oct() - convierte de decimal a Octal
hex() - convierte de decimal a hexadecimal
Son rutinas, que pueden o no devolver valores y pueden o no usar parámetros
def funcion():
Rutina/algoritmo
def funcion(parametro):
print('-'*10)
print(parametro)
print('-'*10)
def contador(*num) - recibe varios parámetros
help(función interna) - Devuelve una ayuda sobre una función interna
Cadena de documentación, es decir, Ayuda (Help) para una función creada por ti
Una línea después de definir la función, crear 3 comillas dobles y cerrar todo lo que está adentro es el 'manual de cómo usar tu función'
def funcion(a,b,c):
"""
-> aquí va una descripción directa
:param a: Descripción del parámetro a
:param b: Descripción del parámetro b
:param c: Descripción del parámetro c
:return: si la función tiene retorno o no, y si tiene, cuál es el retorno
"""
Aquí comienza el código de la función
crea parámetros que pueden o no ser insertados sin influir en la funcionalidad del programa
colocar un valor para una variable en caso de que no sea insertada
def funcion(a,b,c=0(si c no recibe ningún valor, recibirá 0)):
s = a + b + c
print(s)
lugar donde existirá la variable y donde dejará de existir
existe solo en una parte del programa
existe en todas partes del programa
En Python, al definir una variable global y una local con el mismo nombre, se crearán 2 variables diferentes sin conexión. Para vincularlas, debes usar el comando global
def funcion():
global (nombre de la variable)
aquí comienza el código de la función
colocar el comando return en la última línea de la función junto con una variable que contenga el valor que deseas devolver
def funcion(a,b,c):
s = a + b + c
return s
la separación del programa principal de las funciones
- Dividir un programa grande
- Aumentar la legibilidad
- Facilitar el mantenimiento
Crear un archivo .py en la misma carpeta que el programa principal con el nombre deseado
dentro poner todas las funciones que necesites, después en el programa principal usar import nombre_del_archivo, o from nombre_del_archivo import nombre_de_la_funcion
- Organización del código
- Facilidad de mantenimiento
- Ocultamiento del código detallado
- Reutilización en otros proyectos
Una carpeta con varios módulos, permitiendo separar los módulos por tema
Solo crear una carpeta; dentro del proyecto ya se reconoce que puede ser potencialmente un paquete
Siempre dentro de un paquete debe haber un archivo llamado: __init__.py donde estarán las funciones
Cuando los proyectos comienzan a volverse muy grandes
Errores de tipeo, el comando digitado no existe
son errores que ocurren por una asignación incorrecta, recibir un número diferente al esperado, etc.
verificar si es posible ejecutar algo sin que resulte en un error, y en caso de problema, realizar otro comando
poner try: saltar línea y escribir el comando que debe intentar, luego de escribir el bloque de comando saltar línea 'except:' saltar línea y escribir qué hacer en caso de error, y si es necesario else: y poner lo que funcionó. finally:, escribe de todos modos con o sin error
try:
Bloque de comando
except: / variante / except Exception as error:
en caso de error / variante / print(error.__class__) muestra cuál fue el error
(opcional) else:
en caso de que haya dado resultado
(opcional) finally:
se ejecuta de cualquier manera, de resultado o error
puedes crear numerosos except y especificar para cada uno de ellos cuál es el error y cómo tratar cada uno:
except TypeError:
Tratamiento para el error TypeError.
except ValueError:
Tratamiento para el error ValueError
variable = open('Ruta que deseas crear/Leer', Parámetro)
‘r’ - Transforma en una variable lista para lectura
‘a’ - Transforma en una variable lista para agregar texto
‘w’ - Transforma en una variable lista para sustituir todo y poner un texto nuevo
después de cada letra se puede poner el + para que, en caso de que el archivo no exista, lo cree. ejemplo: a+
encoding=’utf-8’ - Parámetro Adicional para poder realizar Edición/Lectura y Guardado de archivos con acentos
variable_lista_para_[agregar/reemplazar]_texto.write(‘texto deseado\n’) (el ‘\n’ es opcional porque hace salto de línea, pero es muy recomendable porque si agregas múltiples textos no salta la línea automáticamente)
print(variable_lista_para_leer_texto.read()) - lee el valor del archivo incluyendo saltos de línea