Buenos días!.

Esta pregunta va para los pythonistas de la comunidad. Si es que existen realmente.
Para mi que somos dos.

Volviendo al ejemplo de parámetros por defecto. Estoy usando decoradores.
Pero me encuentro que no sé como crear un parámetro por defecto si uso decoradores.
( Si no quiero usar **kwargs ).

#!/usr/bin/env python3

# Parametros opcionales

class Figura2D:

@property
def ancho(self):
return self.ancho

@ancho.setter
def ancho(self, anc ):
self.ancho = anc

@property
def alto(self):
return self.alto

@alto.setter
def alto(self, alt):
self.alto = alt


def main():
unafigura = Figura2D
unafigura.ancho = 10
unafigura.alto = 20

print (unafigura.ancho)
print (unafigura.alto)


if __name__=='__main__': main()


Si me diera por hacer algo como esto:

def __init__(self, ancho = 10, alto = 30):
self.ancho = ancho
self.alto = alto
....
def main():
unafigura = Figura2D()
# unafigura.ancho = 10
# unafigura.alto = 20

print (unafigura.ancho)
print (unafigura.alto)


Se crea un problema de recursividad infinita
Me extraña que no se pueda usar parámetros opcionales con decoradores.

Saludos