Funciones Python

  • Las funciones en Python

    Son bloques de códigos que realizan determinadas funciones, las cuales llamaremos según las necesitemos en el programa.

    Para definirlas se utiliza la palabra def a continuación el nombre y los paréntesis () cerrado con dos puntos

    Ejemplo de código:

    • def miFuncion (argumentos, parámetros):

    los argumentos se ponen dentro de los paréntesis separados por comas.

    Para llamar a la función ponemos el nombre y los paréntesis.

    • nombre_funcion () # Llamada sin condición alguna
      • print (» Hola soy la function «)
    • print (» Este es el programa principal «)
    • a= «f» # Variable para condicional if
    • if a ==»f»
      • nombre_funcion () # Aquí si la llama con la condición de que a = f

    Mas explicaciones en este enlace:

  • Def y elif, break y limpiar la pantalla de la consola de comandos

    La palabra clave def sirve para crear un bloque de código (función) que llamaremos cada vez que sea necesario

    • def nombre_funcion () # definición de función
      • print (» Esta es la función»)
      • print (» Aquí estaría nuestro bloque de código»)

    Para llamar la función seria parecido a esto:

    • nombre_funcion () # Llamada sin condición alguna
      • a= «f»
      • if a ==»f»
    • nombre_funcion () # Aquí si la llama con la condición de que a = f

    Volvamos a nuestra calculadora en la que usamos todo lo visto en estos artículos con if , else, while y una nueva condición elif.

    Con elif corre más rápido nuestro código ya que no entra a comprobar como con el if, podemos escribir todos los elif que nos sean necesarios.

    La instrucción break sale del bucle cuando se cumple FALSE condicionada generalmente con if, de esta forma creamos un menú en nuestro código que no dará error al escribir cualquier letra que no esté definida.

    Aunque tiene otro error que cuando estamos en una función que nos pide un entero y por error tecleamos un carácter sale del programa con error de type, fácil de solucionar con la captura de error

    que ya será visto en próximos artículos.

    from os import system # Importador de cls limpiar la pantalla

    system(«cls») # Limpia la pantalla después de cada operación esta sentencia limpiamos la pantalla

    En este código fuente tienes ejemplos de funciones y llamadas a estas:

  • Crear nuestro propio módulo importable en Python

    Si creamos un módulo reutilizable, para otros programas, lo podemos usar con el comando from más nombre del archivo que queremos usar y luego import la clase, class.

    Ejemplo sobre la calculadora:

    • from ClassCalculador import Calculador
      • ClassCalculador: es el nombre del archivo
      • Calculador: es la clase class

    Por ejemplo separamos de la calculadora creada anteriormente, la función main, y la creamos en otro archivo Python, es importante que estén ambos archivos en el mismo directorio, carpeta o especificar la ruta.

    También podemos separar mas en módulos importables en este programa y agregarle mas operaciones como por ejemplo área y perímetro de un rectángulo.

    lo muestro en esta pagina del blog

  • Programación en POO y módulos importables Python

    Archivo de texto del menu de presentación.

    Si tienes activada la traducción puede haber errores al copiar y pegar por estar traducidas palabras reservadas, que deben de escribirse en el interprete (Visual studio) en ingles.

    Aquí se puede ver como se hace una lectura de un archivo de texto, que volcamos en una variable string para poder imprimir por pantalla desde el programa.

    También como hacer narrar al pc los contenidos de variables.

    Es importante poner los archivos en la misma carpeta y el nombre con que la llamamos.

    https://danielcaraballo.es/Python/menu.txt

    Archivo de texto del menu de los colores de la pantalla.

    hpttp://danielcaraballo.es/Python/menu_color.txt

    Recuerda que tienes que respetar el nombre del archivo :

    Archivo y modulo que contiene menu de área y perímetro circulo

    https://danielcaraballo.es/Python/Area_perimetro_circulo.py

    Este modulo es la clase principal, tiene que ser extensión .py

    https://danielcaraballo.es/Python/ClassPrincipal.py

    Modulo donde se hacen las operaciones matemáticas.

    Con nombre ClassCalculador.py

    https://danielcaraballo.es/Python/ClassCalculador.py

    Modulo o clase donde se hace los cálculos para hacer conversión de numero binarios y hexadecimales.

    https://danielcaraballo.es/Python/ClassBinario.py

    Modulo o clase que maneja los colores de la consola:

    Nombre archivo clases_color.py

    hpps://danielcaraballo.es/Python/clases_color.py

    Modulo calculo de perímetro, área circulo

    hpps://danielcaraballo.es/Python/Area_perimetro_circulo.py

    Modulo calculo potencia de un numero

    Nombre del archivo es PotenciaNumero.py

    https://danielcaraballo.es/Python/PotenciaNumero.py

    Esta clase es la que llama a todo el programa y la asignamos el nombre de main.

    Esta clase la puedes llamar como quieras, pero todos los archivos en la misma carpeta

    https://danielcaraballo.es/main.py

  • Importar en un programa de Python

    La importación de módulos o bibliotecas se deben hacer al principio del programa principal salvo que algún modulo lo necesite para su funcionamiento, vamos un ejemplo con system

    • import system
    • system («cls»)# Limpia la pantalla de la consola de comando.

    si queremos poner la fecha en un programa o usarla seria algo así:

    • import time
    • la_fecha_es = time.asctime()
    • print (la_fecha_es)

    En el modulo time tenemos la función asctime() retorna un string (cadena de texto ) con la fecha actual

    Forma de crear módulos es crear archivos con extensión . py para ser usados en otros programas la llamada utilización de código.

    Los módulos contienen funciones que serán usadas según nuestra necesidad.

    • Aquí seria el bloque(modulo) principal, que tenemos que poner en un archivo Python.
    • Primer archivo de Python con nombre a voluntad suya
    • def main():
    •     from ClassPrincipal import El_principal
    •     eje_calculadora = El_principal
    •     eje_calculadora.principal()
    • if __name__ == «__main__»:# Llamada funcion principal
    •     main()
    • Este seria el bloque de operaciones matemáticas, segundo archivo Python:
    • Segundo archivo Python. con nombre = ClassCalculador.py
    • class Calculador:
    •     def __init__(self,num1,num2):
    •         # Variables de operaciones constructor.
    •         self.num1 = num1
    •         self.nun2 = num2
    •         # Operaciones de sumar, restar, multiplicar y dividir.
    •         self.sumar = num1+num2
    •         self.restar = num1-num2
    •         self.multiplicar = num1*num2
    •         self.dividir = num1/num2
    •         self.area = (self.num1 * self.nun2)
    •         self.perimetro =((self.num1+self.nun2)*2)
    • # funciones de operaciones:
    •     def  operracion_area_perimetro(self):
    •         print(«\tEl perimetro de rectangulo es «,self.perimetro, «\tEl area es»,self.area )
    •     def operacion_sumar (self):
    •         print («\n\t\t\tresultado de sumar  «, self.num1,» mas » ,self.nun2,» es «,self.sumar)
    •     def operacion_restar (self):
    •         print («\n\t\t\tEl residuo de «, self.num1,» entre » ,self.nun2,» es «,self.restar)
    •     def operacion_multiplicar (self):
    •         print («\n\t\t\tresultado de multiplicar  «, self.num1,» por » ,self.nun2,» es «,self.multiplicar)
    •     def operacion_dividir (self):
    •         resul,resto = divmod(self.num1,self.nun2)
    •         print («\n\t\t\t Resultado de dividir  «, self.num1,» entre » ,self.nun2,» es «,self.dividir,» \t Con un resto de «,resto)
    •     def menu_portada(self):
    •         print(
    •     «»»
    •                                 INTRODUCE TIPO DE OPERACION DESEADA
    •     S)- Para sumar
    •         R)- Para restar
    •             M)- Para Multiplicar
    •                 D)- Para dividir
    •                     P)- Perimetro y area rectangulo
    •                         L)- Limpiar la pantalla
    •                             E)- Para salir (EXIT)
    •                                 «»»)
    • Este es el tercer modulo y ultimo.
    • Con nombre de archivo = ClassPricipal.py
    • from ClassCalculador import Calculador
    • import time
    • class El_principal:
    •     def principal():# Funcion principal
    •         from os import system
    •         import time # Importador de la pausa (TIME)
    •         system («title Calculadora en Python con Class»)# Cambia el titulo de la consola
    •         portada = Calculador(1,1)
    •         portada.menu_portada()# LLama al menu
    •         #Bucle del programa:
    •         while True:
    •             menu =input(«\n\n\tCual es el tipo de operacion deseada \t\t»)# Entrada de datos para relizar operacion
    •             if menu == «e» or menu == «E»:
    •                 print(«\n\n\t El blog de Mia ¡¡¡ HASTA PRONTO !!!\n\n»)
    •                 time.sleep(2)# Pusa en programa
    •                 system («cls»)
    •                 break
    •             elif menu==»s» or menu == «S»:
    •                 ope1 =float(input(«\nIntroduce sumando 1º «))
    •                 ope2 =float(input(«\nIntroduce sumando 2º «))
    •                 sumar = Calculador(ope1,ope2)
    •                 sumar.operacion_sumar()
    •             elif menu== «p» or menu == «P»:# Llamada al perimetro del rectangulo y el area
    •                 ope1 =float(input(«\nIntroduce altura    «))
    •                 ope2 =float(input(«\nIntroduce base      «))
    •                 area = Calculador(ope1,ope2)
    •                 area.operracion_area_perimetro()
    •             elif menu==»r» or menu == «R»:
    •                 ope1 =float(input(«\nIntroduce minuendo   «))
    •                 ope2 =float(input(«\nIntroduce sustraendo «))
    •                 sumar = Calculador(ope1,ope2)
    •                 sumar.operacion_restar()
    •             elif menu==»m» or menu == «M»:
    •                 ope1 = float(input(«\nIntroduce  multiplicando «))
    •                 ope2 = float(input(«\nIntroduce  multiplicador «))
    •                 multiplicar = Calculador(ope1,ope2)
    •                 multiplicar.operacion_multiplicar()
    •             elif menu==»d» or menu == «D»:
    •                 ope1 =float(input(«\nIntroduce dividendo «))
    •                 ope2 =float(input(«\nIntroduce divisor   «))
    •                 sumar = Calculador(ope1,ope2)
    •                 sumar.operacion_dividir()
    •             elif menu ==»l» or menu == «L»:
    •                 system(«cls»)
    •                 portada = Calculador(1,1)
    •                 portada.menu_portada()
    •             else :
    •                 print(» Valor no valido»)
    •                 time.sleep(2)# Pusa en programa
    •                 system («cls»)
    •                 portada = Calculador(1,1)
    •                 portada.menu_portada()

    También podemos separar el menú del la calculadora en un archivo de texto para liberar el código del programa:

    Archivo de testo:

    menu.txt

            INTRODUCE TIPO DE OPERACION DESEADA
        S)- Para sumar
    
             R)- Para restar
    
                M)- Para Multiplicar
    
                    D)- Para dividir
    
                        P)- Perímetro y área rectángulo
    
                            L)- Limpiar la pantalla
    
                                E)- Para salir (EXIT)
    
    
    • def menu():
      • archivo = open(«menu.txt»)# Abre el archivo
      • menu = archivo.read()# Lee el archivo y lo escribe en la variable menú
      • archivo.close()# Cierra el archivo
      • print(menu)# Imprime el archivo por pantalla
    • la función read() lee el contenido del archivo y lo escribe en la variable anterior en este caso menú.

    Ahora el otro archivo .py (el código fuente para ser llamado ), lo metemos dentro de una función y la llamamos al ser requerida.

    No funcionara si no esta dentro del mismo directorio de trabajo o escribe la ruta donde se encuentra el archivo.

Translate » Traductor