Skip to main content

Sobrecarga de métodos y funciones para Python 3.

Project description

Sobrecargar

Hecho por Chaska Versión: 1.0 Verisón de Python: 3.12 Licencia: MIT

Descripción

sobrecargar es un módulo de Python que incluye una única clase homonima, la cual provee la implementación de un @decorador universal, que permite definir múltiples versiones de una función o método con diferentes conjuntos de parámetros y tipos. Esto permite crear una sobrecarga de funciones similar a la que se encuentra en otros lenguajes de programación, como C++.

Instalación

Puede decargar e instalar sobrecargar utilizando el manejador de paquetes PIP, según se indica a continuación:

Ejecute el siguiente comando en la terminal:

pip install sobrecargar

Uso Básico

Decorar una función:

Se puede emplear tanto @sobrecargar como @overload para decorar funciones o métodos.

from sobrecargar import sobrecargar

@sobrecargar
def mi_funcion(parametro1: int, parametro2: str):
    # Código de la primera versión de la función
    ...

@sobrecargar
def mi_funcion(parametro1: float):
    # Código de la segunda versión de la función
    ...

Decorar un método de una clase:

Para decorar métodos internos de clases se debe proveer una firma previa para el tipo.

from sobrecargar import overload # 'ovearload' es un alias pre-definido para 'sobrecargar'
class MiClase: pass #Al proveer firma para la clase, se asegura que `sobrecargar` pueda referenciarla en tiempo de compilación

class MiClase:
    @overload
    def mi_metodo(self, parametro1: int, parametro2: str):
        # Código de la primera versión del método
        ...

    @overload
    def mi_metodo(self, parametro1: float):
        # Código de la segunda versión del método
        ...

Ejemplo de Uso

Función 'libre'

@overload
def suma(a: int, b: int):
    return a + b

@overload
def suma(a: list[int]):
    return sum([x for x in a])

resultado1 = suma(1, 2)  # Llama a la primera versión de la función suma, con parámetros a y b : int
>> 3

resultado2 = suma([1,2,3,4,5])  # Llama a la segunda versión de la función suma, con parámetro a : List[int]
>> 15

Nota: Esta documentación es un resumen de alto nivel. Para obtener más detalles sobre la implementación y el uso avanzado, se recomienda consultar el código fuente, la documentación provista y realizar pruebas adicionales.

Documentación

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sobrecargar-3.0.2.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sobrecargar-3.0.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file sobrecargar-3.0.2.tar.gz.

File metadata

  • Download URL: sobrecargar-3.0.2.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for sobrecargar-3.0.2.tar.gz
Algorithm Hash digest
SHA256 9e74282d9c49d9b6c3a34bab1f62fe6cc2c3f855fda66963675ee48db4f81cef
MD5 c71973f9777a6fb05de893833e3ac225
BLAKE2b-256 15972d5df590931ca7084df641758c08296768d5b5775def0616fac858097557

See more details on using hashes here.

File details

Details for the file sobrecargar-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: sobrecargar-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for sobrecargar-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7911d17d3e1624c4b01b920f85dc6ae7f29bfaae6e6dfa6faf85da98731563c5
MD5 0cfd27c3e0e6e2955c87310839a97de7
BLAKE2b-256 74a1c21eae67322e4301176040675eea43cde63d8e179c2486aa3f495b92ddfb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page