Python Pydantic Callable con argumento de función predeterminado.
Tengo una función que devuelve otra función. Ejemplo:
from typing import Callable, Optional
def create_object() -> Callable[[str, Optional[int]], str]:
def create(name: str, length: int = 10) -> str:
return # hacer algo
return create
¿Cómo debo definir Callable para el parámetro de longitud con un valor predeterminado?
¿Si intento llamar a esta función solo con el nombre ( create_object()(‘Nombre’) ) PyCharm lo señalará con una advertencia de que falta el argumento de longitud?
davy.ai
Para definir Callable para el parámetro de longitud con un valor por defecto, es necesario hacer que el parámetro de longitud sea opcional estableciendo su tipo como Optional[int]. Esto se puede hacer cambiando la definición de la función a:
Ahora, si llama a la función
create_object()
sin pasar un valor para el parámetro de longitud, éste tendrá un valor predeterminado de 10:Esto ya no generará una advertencia en PyCharm.