type infer check python annotations void type-hinting

infer - python type hints



Anotación de devolución de anulación de Python (1)

En Python 3.x, es común usar la anotación de tipo de retorno de una función, como por ejemplo:

def foo() -> str: return "bar"

¿Cuál es la anotación correcta para el tipo "vacío"?

Estoy considerando 3 opciones:

  1. def foo() -> None:
    • no es lógico IMO, porque None no es un tipo,
  2. def foo() -> type(None):
    • usando la mejor sintaxis que conozco para obtener NoneType ,
  3. def foo():
    • omita información explícita del tipo de devolución.

La opción 2. parece ser la más lógica para mí, pero ya he visto algunas instancias de 1.


Esto es directamente de PEP 484 - Documentación de tipo Sugerencias :

Cuando se utiliza en una sugerencia de tipo, la expresión None se considera equivalente al type(None) .

Y, como puede ver en la mayoría de los ejemplos, use None como tipo de devolución.