Sobrecarga de métodos y funciones para Python 3.
Project description
Sobrecargar
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++.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sobrecargar-0.1.9.tar.gz.
File metadata
- Download URL: sobrecargar-0.1.9.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
359625779e8579d240c2d683749e0ec2d5c1c2d6abeadea92289e953e74a43ce
|
|
| MD5 |
d8b2c552735fdfe841367752c0cb989c
|
|
| BLAKE2b-256 |
f6a6adf100b4d2b38735fd38ac895922a630abe1a976843991e707a8944dc7fb
|
File details
Details for the file sobrecargar-0.1.9-py3-none-any.whl.
File metadata
- Download URL: sobrecargar-0.1.9-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eb6afbb22fadd4f47ed7efd731d4a4cb161f80ac16c2e7c800533254136a88b
|
|
| MD5 |
eed65c8d46156d581fc7239256dfb3a4
|
|
| BLAKE2b-256 |
14def59550220f5b6ac06128ba49eb1d26b117344c5017cc97f8749b16c68c3e
|