C'est juste None
!
>>> def nothing(nun: None) -> None:
... return nun
...
>>> nothing(None)
>>>
Ou du moins, cela peut l'être.
Puisque ces annotations sont sans signification pour Python au-delà de la syntaxe correcte ou incorrecte, c'est en quelque sorte à la disposition des outils.
Si vous utilisez typecheck-decorator, par exemple, alors vous devrez utiliser type(None)
:
>>> import typecheck as tc
>>>
>>> @tc.typecheck
>>> def nothing(nun: type(None)) -> type(None):
... return nun
...
>>> nothing(None)
>>> nothing(0)
typecheck.framework.InputParameterError: nothing() a reçu une valeur incompatible pour nun: 0
>>> nothing(False)
typecheck.framework.InputParameterError: nothing() a reçu une valeur incompatible pour nun: False
Typecheck vous permet également d'ajouter un peu plus clairement "plus d'une indication de type avec" avec tc.any()
(OU), tc.all()
(ET), et bien plus encore.
Sachez que tc.none()
est un prédicat de type NAND-like; pas ce que vous cherchez - sans arguments, il acceptera n'importe quel type, équivalent à tc.all()
ou plus approprié tc.anything
.