salida print entrada declarar datos python function default-value keyword-argument

print - Configuración del valor predeterminado de una entrada de función para igualar otra entrada en Python



int en python (3)

Este patrón general es probablemente el mejor y el más legible:

def exampleFunction(a, b, c = None): if c is None: c = a ...

Debe tener cuidado de que None no sea un estado válido para c .

Si desea admitir valores ''Ninguno'', puede hacer algo como esto:

def example(a, b, *args, **kwargs): if ''c'' in kwargs: c = kwargs[''c''] elif len(args) > 0: c = args[0] else: c = a

Considere la siguiente función, que no funciona en Python, pero la usaré para explicar lo que debo hacer.

def exampleFunction(a, b, c = a): ...function body...

Es decir, quiero asignar a la variable c el mismo valor que tomaría la variable a , a menos que se especifique un valor alternativo. El código anterior no funciona en python. ¿Hay alguna forma de hacer esto?

Gracias.


Un enfoque es algo como:

def foo(a, b, c=None): c = a if c is None else c # do something


def exampleFunction(a, b, c = None): if c is None: c = a ...function body...

El valor predeterminado para el argumento de palabra clave no puede ser una variable (si lo es, se convierte en un valor fijo cuando se define la función). Se usa comúnmente para pasar argumentos a una función principal:

def main(argv=None): if argv is None: argv = sys.argv