Wie funktioniert "Maybenon" (auch als "The Event Noy Trick") in Python -Typ Hinweisen?Python

Python-Programme
Guest
 Wie funktioniert "Maybenon" (auch als "The Event Noy Trick") in Python -Typ Hinweisen?

Post by Guest »

In Artenstubs für die Python -Standardbibliothek habe ich einen besonderen Typ namens Maybenone Pop -up festgestellt, normalerweise in Form von Normaltyp | Maybenone . Zum Beispiel finde ich in der SQLite3-Cursor-Klasse Folgendes: < /p>

Code: Select all

class Cursor:
# May be None, but using `| MaybeNone` (`| Any`) instead to avoid slightly annoying false positives.
@property
def description(self) -> tuple[tuple[str, None, None, None, None, None, None], ...] | MaybeNone: ...
Die Definition dieses Maybenone ist angegeben als:

Code: Select all

# Marker for return types that include None, but where forcing the user to
# check for None can be detrimental. Sometimes called "the Any trick". See
# CONTRIBUTING.md for more information.
MaybeNone: TypeAlias = Any  # stable
(Ich konnte keine zusätzlichen Informationen in der beitragen.md finden, von der ich annehme Die Absicht, einen Rückgabetyp so zu markieren, dass ein Benutzer nicht gezwungen ist, in Fällen zu prüfen, in denen der Null für die meisten Benutzer eher ein theoretisches Problem ist. Aber wie erreicht das das Ziel?

Code: Select all

SomeType | Any
scheint zu implizieren, dass der Rückgabetyp irgendetwas sein könnte, wenn ich sagen möchte, dass er irgendwann oder in seltsamen Fällen keine sein kann, so scheint dies nicht das auszudrücken Intent. (zumindest mit meiner Konfiguration?) Also, was erreicht das spezielle Tippen überhaupt im Vergleich zu einfach nichts?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post