Es gibt ein ->
, oder Strich-größer-als-Symbol am Ende einer Python-Methode, und ich bin mir nicht sicher, was es bedeutet. Man könnte es auch einen Pfeil nennen. HierWas bedeutet das Symbol -> (Strich-größer-als-Pfeil) in einer Python-Methodensignatur?
ist das Beispiel:
@property
def get_foo(self) -> Foo:
return self._foo
wo self._foo
eine Instanz von Foo ist.
Meine Vermutung ist, dass es eine Art statische Deklaration ist, um dem Interpreter zu sagen, dass self._foo
vom Typ Foo ist. Aber wenn ich dies getestet habe, passiert nichts Ungewöhnliches, wenn self._foo
keine Instanz von Foo ist. Auch wenn self._foo
von einem anderen Typ als Foo ist, sagen wir mal, es war ein int
, dann type(SomeClass.get_foo())
gibt int
zurück. Also, was ist der Sinn von -> Foo
?
Dieses Konzept ist schwer zu suchen, weil es ein Symbol ohne einen gemeinsamen Namen ist und der Begriff "Pfeil" irreführend ist.
Mein Geist verwendet werden gründlich durchgebrannt! –