Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

368
Vistas
FASTAPI: ¿cuál es la diferencia al establecer campos opcionales?

tengo 2 campos opcionales publicar y calificaciones, aquí está mi código

 class POST(BaseModel): title: str content: str published: bool = True rating: Optional[int] = None

Ambos dan como resultado un campo opcional, entonces, ¿cuál es la diferencia entre dos?

si intento algo como esto, esto también funciona

 class POST(BaseModel): title: str content: str published: bool = True rating: int = None
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

rating: int = None no es correcto. Es un error, pero Python simplemente ignora la escritura estática, por lo que no hay diferencia en el comportamiento.

Por ejemplo, en Java obtendrá NullPointerException .

Intente usar mypy para escribir cheques ( mypy post_model.py )

El caso Optional se completará sin errores:

 Success: no issues found in 1 source file

Sin embargo, el caso no Optional causará un error:

 post_model.py:7: error: Incompatible types in assignment (expression has type "None", variable has type "int") Found 1 error in 1 file (checked 1 source file)
over 4 years ago · Santiago Trujillo Denunciar

0

No creo que haya ninguna diferencia, excepto por el hecho de que al usar la palabra clave opcional, decimos explícitamente que este parámetro es opcional tanto en el código como en la arrogancia.

 Note that this is not the same concept as an optional argument, which is one that has a default. An optional argument with a default does not require the Optional qualifier on its type annotation just because it is optional. For example: def foo(arg: int = 0) -> None: ... On the other hand, if an explicit value of None is allowed, the use of Optional is appropriate, whether the argument is optional or not. For example: def foo(arg: Optional[int] = None) -> None: ...
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda