Todo lo de PYTHON

Aca voy a escribir todo lo que voy a ir aprendiendo de PYTHON.

Si ya sabes algo de programación esta página la puedes usar cuando no recuerdes como hacer algo.

Instalacioón de PYTHON

Tipo de datos

Los tipos de dato en python son:

Estos datos los puedes convertir en otro tipo de dato, por ejemplo:
numero = "123" #Esto aunque no lo creas es un String porque tiene parentesis, entonces funciona como cadena de texto
int(numero) #Esto lo convierte a int (número entero)

Variables

En una variable almacenamos datos para poderlos utilizar posteriormente. Dos ejemplos de como definir una variable:

  • #Definiendo una variable con camelCase:
    nombreCompletoDeTuTioAbuelo = "Fernando Alonso"
  • #Definiendo una variable con snake_case:
    nombre_completo_de_tu_tio_abuelo = "Fernando Alonso"
  • Datos compuestos

    -Operadores

    Operadores aritméticos

    (operaciones matematicas en python)

    Operadores de comparacion

    Operadores lógicos

    Condicionales

    Algunas funciones

    Estructura: nombre_de_la_función(Parametros)

  • Print

    Muestra (en la consola) el contenido de una variable.
    print("Lucas" in bienvenida) #true
    print ("Lucas" not in bienvenida) #false

    En estos dos ejemplos le estamos diciendo a la maquina que busque si "Lucas" esta o no esta en la cadena de texto y muestre True (si está) o False (si no está).

  • Type

    Muestra (en la consola) el tipo de dato del elemento .
    Dos ejemplos:
    print(type(5))#te mostrará int
    print(type("Hola")) #te mostrará str(string)

  • Dir

    Muestra la dirección en memoria de una variable.
    dir(lenguaje_programacion)#devuelve una lista con las propiedades.
    dir()#muestra todas las variables y funciones definidas hasta ahora

  • Len

    Muestra la cantidad de caracteres que tiene una cadena, y la cantidad de elementos (palabras se podría) que tiene una lista.
    Nombre = "Thiago Miranda Liotto"
    prueba_len = len(Nombre)
    print(prueba_len) # Te mostrará "20"

    Otro ejemplo usando una lista:
    Amigos = ["Juan", "Pedro","María"]
    print(len(Amigos)) #Te mostrará "3", porque en una lista el "len()" cuenta la cantidad de elementos que hay.

  • -MÉTODOS

    Métodos de cadenas

    Son funciones para usar en las cadenas de texto ("esto es una cadena de texto" las cadenas de texto tienen que ir con parentesis), como por ejemplo buscar si un carácter o palabra está dentro de ella, cuántas veces aparece una letra o palabra, etc.
    Estructura: Variable.Método_de_cadenas(Parametros)

  • Upper

    Devuelve una cadena con todos los caracteres en mayúsculas.
    Por ejemplo:
    thiago = "Hola Como Estas".upper()
    print(thiago) #Te mostrará "HOLA COMO ESTAS"

  • Lower

    Devuelve una cadena con todos los caracteres en minúsculas.
    Por ejemplo:
    resultado = "Hola Como Estas".lower()
    print(resultado) #Te mostrará "hola como estas"

  • Capitalize

    Devuelve una cadena con el primer caracter en mayúscula y los demas en minúscula.
    Por ejemplo:
    cadena1 = "hola Como ANDAs"
    resultado = cadena1.capitalize()
    print(resultado) #Te mostrará "Hola como andas"

  • Find

    Busca un elemento/texto dentro de la cadena, si lo encuentra devuelve su posición (número de carácter), sino devuelve "-1".
    Por ejemplo:
    cadena1 = "Hola como andas"
    nashe = cadena1.find("l")
    print(nashe) #Te mostrará "2", porque la letra 'l' se encuentra a partir de la casilla 2. Acuerdense que las casillas arrancan del "0" en adelante, y los espacios tambien cuentan como casillas.

  • Index

    Hace lo mismo que "find", la única diferencia es que si no encuentra nada en ves de devolverte "-1", te dará un error (una exception).

  • Isnumeric

    Verifica si la cadena solo contiene números. Si solo contiene numeros devuelve True, sino False.
    Por ejemplo:
    edad = "25"
    nashe = edad.isnumeric()
    print(nashe) #Te mostrará "True", porque la variable edad es un número.

  • Isalpha

    Verifica si la cadena solo contiene letras. Los espacios y caracteres especiales como la coma no cuentan como letras. Entonce si solo contiene letras devuelve True, sino False.
    nombre = "JuanPablo"
    que_nombre = nombre.isalpha()#Te mostrará "True", porque la variable nombre son solo letras.
    print(que_nombre)

  • Count

    Devuelve el número de veces que se repite un carácter o una palabra en una cadena.
    Por ejemplo:
    frase = "Esto es una prueba de la función count()"
    variable2 = frase.count("e") #Te mostrará "3" porque hay tres letras "e" en la variable.
    variable3 = frase.count("prueba") #Te mostrará "1" porque está la palabra "prueba" una ves sola en la variable. print(variable2)
    print(variable3)

  • Endswith

    Verifica si una cadena termina con una determinada secuencia de caracteres. Devuelve True o False.
    Por ejemplo:
    cadena1 = "Hola, cómo estás?"
    Prueba_endswith = cadena1.endswith(estás?)
    print(Prueba_endswith) #Mostrará "True"

  • Startwith

    Verifica si una cadena empieza con una determinada secuencia de caracteres. Devuelve True o False.

  • Replace

    Reemplaza una parte de una cadena por otra.
    Tiene dos partes este método: .replace("cadena-que-quiero-reemplazar", "cadena-nueva").
    Por ejemplo:
    cartita_papa_noel = "Hola papa noel, para navidad quiero un auto de juguete"
    nueva_cadena = cartita_papa_noel.replace("auto de juguete", "reloj")
    print(nueva_cadena) #Mostrará "Hola papa noel, para navidad quiero un reloj"

  • Split

    Te hace una lista con todas las palabras separadas por un signo (por defecto es el espacio). Osea, te permite dividir una cadena en varias partes según un separador (por defecto el espacio).
    Por ejemplo:
    frase = "Este es un ejemplo de la función split() de Python"
    palabras = frase.split()
    print(palabras) #Mostrará ['Este', 'es', 'un', 'ejemplo', 'de', 'la', 'función', 'split()', 'de', 'Python'] osea hizo una lista con todas las palabras que tenía la cadena.

  • Join

    Hace un string/cadena de texto, con una lista, osea unifica los elementos de la lista que pongamos en un string.
    Por ejemplo:
    frase = ['Este', 'es', 'un', 'ejemplo', 'de', 'la', 'función', 'join()', 'de', 'Python']
    palabras = "".join(frase) #Todo lo que se ponga entre los "" será la separacion de cada elemento de la lista
    print(palabras) #Mostrará "Este es un ejemplo de la funcion join() de Python", osea hizo un string con todos los elementos que tenia la lista, separandolos con un espacio.

  • Métodos de lista

    Son funciones para usar en las listas, como por ejemplo agregar o eliminar elementos de una lista, buscar un elemento en una lista, etc.
    Estructura: Variable.Método_de_lista(Parametros)

  • Append

    Agrega un elemento a la última posición de la lista.
    Ejemplo:
    numeros = [2,4,6]
    numeros.append(8)
    print(numeros) #Mostrará "[2,4,6,8]"

  • Insert

    Agrega un elemento en cualquier posición especificada de la lista.
    Primero pones la posicion donde quieres que se inserte el nuevo elemento y luego el dato.
    Ejemplo:
    numeros = [2,4,6]
    numeros.insert(1,Hola) #insert(POSICION,DATO)
    print(numeros) #Mostrará "[2,Hola,4,6]"

  • Pop

    Elimina un elemento en cualquier posición específicada de la lista, es casi igual a "insert".
    Si no se indica ninguna posición, elimina el último elemento.
    Por ejemplo:
    numeros = [2,4,6]
    numeros.pop(2)
    print(numeros) #Mostrará "[2,4]", porque eliminó el elemento en la posición 2 de la lista.

  • Remove

    Elimina un elemento de la lista según su nombre.
    Por ejemplo:
    numeros = [2,"hola",1,5,"Thiago",8,"escalera"]
    numeros.remove(5)
    print(numeros) #Mostrará "[2,"hola",1,"Thiago",8,"escalera"]"

  • Extend

    Agrega una lista (con elementos) a otra lista.
    El método extend no modifica la lista original, sino que agrega los nuevos elementos a ella.
    Por ejemplo:
    lista1 = [0, 1, 2]
    lista2 = [3, 4, 5]
    lista1.extend(lista2)
    print(lista1) #Mostrara "[0, 1, 2, 3, 4, 5]"

  • Clear

    Elimina todos los elementos de una lista.
    Por ejemplo:
    numeros = [2,4,6]
    numeros.clear()
    print(numeros) # Mostrará "[]", porque eliminó todos los elementos de la lista

  • Sort

    Ordena la lista en un orden específico, por defecto las ordena de menor a mayor. No funciona con cadenas de texto.
    Por ejemplo:
    numeros = [7,2,9,1,5,3,False]
    numeros.sort()
    print(numeros) #Mostrará "[False, 1, 2, 3, 5, ,7 ,9]".
    También se puede ordenar de mayor a menor con el parametro reverse=True:
    numeros = [7,2,9,1,5,3,False]
    numeros.sort(reverse=True)
    print(numeros) #Mostrará "[9, 7, 5, 3, 2, 1, False]".

  • Reverse

    Invierte la posición de los elementos en una lista.
    Por ejemplo:
    numeros = [7,2,9,1,5,3,False]
    numeros.reverse()
    print(numeros) #Mostrará "[False, 3, 5, 1, 9, 2, 7]"

  • Métodos de diccionario

    Son funciones para usar en diccionarios.
    Estructura: Variable.Método_de_diccionario(Parametros)

  • Keys

    Devuelve una vista de las claves del diccionario. Las claves son los elementos que estan delante de los ":".
    Por ejemplo:
    mi_diccionario = {
    'nombre':'Juan',
    'apellido':'Pérez'
    }
    nashe = mi_diccionario.keys()
    print(nashe) #Mostrará ['nombre', 'apellido']

  • Get

    Devuelve el valor asociado a una clave dada. Si no encuentra la clave devuelve un "None".
    Por ejemplo:
    mi_diccionario = {
    'nombre':'Juan',
    'apellido':'Pérez'
    }
    nashe = mi_diccionario.get("apellido")
    print(nashe) #Mostrará ["Perez"], porque le pasamos su clave "apellido".

  • Clear

    Elimina todos los elementos del diccionario. Ya lo vimos anteriormente

  • Pop

    Elimina un elemento en cualquier posición específicada del diccionario. Ya lo vimos anteriormente

  • Items

    Devuelve una lista con pares clave-valor. Es como si hicieramos un zip entre las llaves y los valores.
    Por ejemplo:
    mi_diccionario = {
    'nombre':'Juan',
    'apellido':'Pérez'
    }
    nashe = mi_diccionario.items()
    print(nashe) #Mostrará dict_items([('nombre', 'Juan'), ('apellido', 'Pérez')]).
    Es otra forma que devuelva (clave:valor) de cada elemento en el diccionario.

  • -DATA INPUTS/Entrada de datos

  • Input

    Devuelve una cadena con la entrada del usuario como texto. No es muy útil para números o valores numéricos, pero si para cadenas. Devuelve una cadena de texto que el usuario puede introducir por teclado.
    Ejemplo:
    nombre = input("Introduce tu nombre: ") #La consola te mostrará "Introduce tu nombre: ", y te dará un espacio al final para que escribas lo que quieras.
    Lo que escribiste al final se guardará como la variable "nombre".

  • Variable 2.0

    Hay otra forma de adquirirle una variable a un elemento:


    FOR LOOP

    For loop es una construcción de bucle, es decir, permite repetir una sección de código varias veces. Osea lee tu codigo hasta que llega a el FOR LOOP y vuelve a leer el código pero sin repetir "exactamente" lo mismo que antes:
    Por ejemplo:
    Participante1 = ("Elefante","Mono","Jirafa","Tortuga","Pez","Perro","León")
    for Datos in Participante1:
    print(Datos) #Mostrará "Elefante Mono Jirafa Tortuga Pez Perro León" uno debajo del otro, porque lee todo el código y muestra Elefante (porque es el primero), después vuelve a leer el código y muestra Mono (porque es el segundo), y así sucesivamenete.
    Este ejemplo pasa porque la primera ves q lo lee, recibe Elefante, luego Mono... Así sucesivamente.

    Pero como hacemos si queremos iterar (mostrar) dos o más listas al mismo tiempo?

    Para eso se utiliza el "zip" con el FOR LOOP, así:
    Participante1 = ("Elefante","Mono","Jirafa","Tortuga","Pez","Perro","León")
    Participante2 = ("Esmeralda","Kiko","Nutria","Cangrejo","Gallina","Zorro","Lince")
    for aliado, oponente in zip(Participante1, Participante2):
    print(f"El {aliado} es el oponente del {oponente}") #Mostrará "El Elefante es el oponente del Esmeralda" "El Mono es el oponente del Kiko" "El Jirafa es el oponente del Nutria" así uno debajo del otro

    Range

    Devuelve números desde un valor inicial hasta otro valor final, y solo se puede usar con FOR LOOP:
    for numeros in range(5,44):
    print(numeros)#Mostrará todos los numeros del 5 al 44.

    Items

    Tambien se puede utilizar el metodo de diccionario "items" en FOR LOOP:
    mi_diccionario = {'cero':0,'siete':7}
    for datos in mi_diccionario.items():
    clave = datos[0]
    valor = datos[1]
    print(f"La clave es {clave} y el valor es {valor}")#Mostrará "La clave es cero y el valor es 0" "La clave es siete y el valor es 7" uno debajo del otro


    Continue

    La sentencia "continue" pasa a la siguiente iteración del bucle sin ejecutar las líneas siguientes. Osea si hay un "continue" lo que sigue no se ejecutará.
    Por ejemplo:
    Participante1 = ("Elefante","Mono","Jirafa","Tortuga","Pez","Perro","León")
    for Datos in Participante1:
    if Datos == "Perro":
    continue
    print(Datos) #Mostrará "Elefante Mono Jirafa Tortuga Pez León" uno debajo del otro, sin el "perro", ya que si "datos" es igual a perro y debajo dice "continue" el codigo que sigue no se ejecutará, osea no se mostrará "perro".

    Break

    Es parecido a Continue pero en ves de terminar la iteracion, directamente termina con la ejecucion del bucle. Osea todas las siguientes iteraciones del bucle no se harán.
    Por ejemplo:
    Participante1 = ("Elefante","Mono","Jirafa","Tortuga","Pez","Perro","León")
    for Datos in Participante1:
    if Datos == "Jirafa":
    break
    print(Datos) #Mostrará "Elefante Mono" uno debajo del otro, muestra todo lo anterior a la "Jirafa", ya que si "datos" es igual a Jirafa y debajo dice "break", el bucle directamente se detendrá, osea no se mostrará "Jirafa" ni lo que sigue.

    BUCLE WHILE

    El bucle While funciona de la siguiente manera, MIENTRAS que una condicion sea verdadera sigue ejecutandose el codigo que está debajo, pero MIENTRAS la condicion no sea verdadera el codigo que está debajo no se ejecutará.
    Por ejemplo:
    Dia = 1
    while Dia <=30 :
    print(f"Hoy es el dia: {Dia}")
    Dia +=1#Mostrará "Hoy es el dia: 1" "Hoy es el dia: 2" "Hoy es el dia: 3" así sucesivamente hasta llegar a el dia 30.

    FUNCIONES INTEGRADAS

    Existen funciones integradas que funcionan igual que las funciones comunes:
    La ESTRUCTURA es la misma que las "funciones": funcion_integrada(parametros/variables).

  • Max y min

    Devuelven el máximo o mínimo de una lista/tupla/conjunto con numeros.
    Ejemplo:
    numeros = (1,32,5,6,7,12)
    numero_mas_alto = max(numeros)
    print(numero_mas_alto) #Mostrará "32"

  • Round

    Redondea un número a la cantidad de decimales que se indique. Las decimales se indican después del numero, asi: "round(10.123,2)".
    Ejemplo:
    numero = round(12.421,2)
    print(numero) #Mostrará "12.42" porque le dijimos que redondee dos numeros despues de la coma

  • Bool

    Devuelve verdadero o falso.
    Mostrará False cuando la variable sea 0, None, False o este vacía.
    Mostrará True cuando la variable sea un numero distinto a 0, una cadena cualquiera, True.
    Si un elemento es verdadero y el resto es falso, devolverá True ya que si uno solo es verdadero es suficiente. Ejemplo:
    si_es_verdad = bool(0)
    print(si_es_verdad) #Mostrará False porque dentro del bool hay un 0.

  • All

    Sigue las mismas reglas que la funcion Bool de arriba. La diferencia es devuelve True solo si todos los elementos son verdaderos.
    Ejemplo:
    si_es_verdad = all([0,None,False,"hola"])
    print(si_es_verdad) #Mostrará True, porque aunque 0, None y False sean falsos, si hay un verdadero ("hola") es True.

  • Sum

    Suma todos los elementos en un iterable.
    Ejemplo:
    numeros = [1,2,3]
    suma = sum(numeros)
    print(suma) #Mostrará "6"

  • CREANDO FUNCIONES

    Todas las funciones que vimos anteriormente son funciones creadas por Python, pero tambien existen algunas funciones propias, creadas por nosotros.
    La ESTRUCTURA de las funciones propias es: def cualquier_nombre(parametros):
    todo-lo-que-
    -hará-esta-función
    -cuando-se-reescriba
    Por ejemplo:
    def saludar(nombre, sexo):
    sexo = sexo.lower()
    if (sexo == "mujer"):
    adjetivo = "reina"
    elif (sexo == "hombre"):
    adjetivo = "rey"
    else:
    adjetivo = 'amor'

    print(f"Hola {nombre}, mi {adjetivo} ¿Como andas?")
    #Ahora cada ves que reescribamos la nueva función "saludar()", iniciará todo ese código:
    saludar("Thiago", "Hombre") #Mostrará "Hola Thiago, mi rey ¿Como andas?"
    saludar("Batián", "no binario") #Mostrará "Hola Batián, mi amor ¿Como andas?"
    saludar("Graciela", "MuJer") #Mostrará "Hola Graciela, mi reyna ¿Como andas?"

    Esto sirve mucho para simplificar codigo, ya que si quisieramos escribir este mismo codigo sin las funciones propias, tendríamos que reescribir 3 veces el código de arriba.

    RETURN

    Se utiliza al final de la función para guardar el valor de una variable para retornarlo mas adelante.
    Ejemplo:
    def saludar(nombre, sexo):
    sexo = sexo.lower()
    if (sexo == "una mujer"):
    adjetivo = "una reina"
    elif (sexo == "un hombre"):
    adjetivo = "un rey"
    else:
    adjetivo = 'un amor'
    return nombre + " es " + adjetivo
    #Si en ves de "return" hubieramos puesto "print", cuando usemos la funcion creada mostrará lo que le hemos dicho en print. Pero con return, cuando usemos la función creada NO mostrará nada, para que muestre algo necesitaremos poner "print(participante_1)". codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    codigo
    participante_1 = saludar("Thiago", "hombre") #Mostrará "Thiago es un rey"
    print(participante_1)
    Entonces, como funciona return? Guardando un valor de una funcion (como fue: nombre + " es " + adjetivo) con el nombre de la función misma, y luego retornarlo mas adelante, por eso es que puse "codigo" como si hubiera mucho codigo delante.

    *Arg

    El atributo Arg se utiliza para indicar el argumento que va a recibir la función. Esto hace que todos los parametros se convierten en una sola lista, osea en un solo elemento.
    Y siempre se pone en la ultima variable de la función.
    Ejemplo:
    def funcion_args(*numeros)
    return sum(numeros) #Mostrará la suma del parametro que le pases dentro de la funcion_args

    Lambda

    Sirve para usar funciones rápidas y pequeñas, sin tener que crear una función completa. Es apta para una sola instrucción.
    ESTRUCTURA: lambda parámetro_que_usarás : acciones, variable_con_todos_los_elementos

    Ejemplo:
    doble = lambda x : x * 2
    print(doble(5)) #Mostrará 10

    Filter

    Es una función que devuelve un elemento uno por uno, no una lista completa (con todos los elementos).

    Por ejemplo:
    numeros = [1,3,4,6,8]
    pares = filter(lambda x : x % 2 == 0 , numeros ) #Esto lo que hace es agarrar el primer número de la lista y devolver el resto de la division por 2, si el resto es igual a 0 será un numero par y se mostrará debajo, y si el resto de la división no es igual a 0 no se mostrará
    print(list(pares)) #Mostrará [4,6,8]

    Random

    Sirve para que te elija/dé una variable random. Hay que escribir "import random" al principio para llamarla:
    Ejemplo 1:
    import random
    print(random.randrange(0,100)) #Mostrará un numero random del 0 al 100
    Ejemplo 2:
    import random
    print(random.randrange(0,100,2)) #Mostrará un numero PAR random del 0 al 100, porque el ultimo numero del "randrange" indica de cuanto en cuanto vá a ir el random.
    Ejemplo 3:
    import random
    concursantes = ["Thiago", "Bastian", "Lolo", "Ivan"] print(random.choice(concursantes)) #Mostrará un elemento de la lista random.
    Ejemplo 4:
    import random
    abecedario = "abcdefghijklmnñopqrstuvwxyz"
    print(random.sample(abecedario,4)) #Mostrará 4 letras del abecedario porque "random.sample" elige random la cantidad de caracteres que le digas de un string.

    Modulos

    Un modulo son todos los archivos que terminan en ".py", para importar otro modulo a nuestro archivo .py debemos usar el comando "import". Entonces podremos usar todo el código de otro modulo en el nuestro. Osea con este comando puedes usar el código que ha hecho otra persona en el tuyo sin usar muchas líneas de código.
    Entonces cuando ya hayas puesto el comando arriba "import Nombre_del_archivo", ya puedes usar todas las funciones que tiene ese archivo: para usar estas hay que escribirlas como si fuera un método.
    Estructura: import nombredelmodulo
    nombredelmodulo.funcion_q_quieres_usar_q_está_dentro_del_modulo(parametro_de_la_funcion)
    Por ejemplo:
    import archivo1
    print(archivo1.multiplicar(9)) #Mostrara "18" porque la función que importamos del otro módulo (archivo1) multiplicaba por 2.

    As

    Es para llamar de otra manera a un módulo importado:
    Por ejemplo:
    import archivo1 as multiplica
    print(multiplica.multiplicar(9)) #Mostrara "18" porque la función que importamos del otro módulo (ahora llamado tambien como "multiplica") multiplicaba por 2.

    From

    Sirve para importar una sola cosa del módulo, así solo se importa una cosa (por ej: una función) y no todo el código del módulo. Y para llamar luego a esa función no es necesario construir la estructura de un método.
    Por ejemplo:
    from archivo1 import suma, resta
    #Llamamos a dos funciones de otro archivo llamado "archivo1" numero1 = input("Ingrese el primer número: ")
    numero2 = input("Ingrese el segundo número: ")
    print(suma(numero1, numero2))
    print(resta(numero1, numero2))
    #Mostrará la suma y la resta de los dos numeros