by Anonymous » 09 Apr 2025, 23:46
Wie sieht eine minimale Implementierung einer Sequenz aus Collection.abc zusammen mit den korrekten Typen aus wie "
gemäß der Dokumentation __len __ und __getItem __ sind ausreichend. Mein Typ-Hintergrund beschwert sich jedoch über die Implementierung von __getItem __ , obwohl meine Implementierung den Python-Dokumenten folgt.
Code: Select all
from collections.abc import Sequence
from typing import override
class MySeq(Sequence[float]):
def __init__(self):
self._data: list[float] = list()
@override
def __len__(self) -> int:
return len(self._data)
@override
def __getitem__(self, key) -> float: # Type annotation is missing for parameter "key"
return self._data[key] # Return type is unknown
< /code>
[*] Wie tippe ich einen Hinweisschlüssel < /code>? Nur Schlüssel: Int
wird vom Typ Checker nicht akzeptiert. Es gibt die Warnung: "Slice [beliebig, irgendjemand]" ist nicht "int" zugeordnet. Welche Möglichkeiten habe ich hier? < /Li>
Was ist mit dem Rückgabetyp los? Die vollständige Warnung ist "float" ist "Sequenz [float]"
Wie sieht eine minimale Implementierung einer Sequenz aus Collection.abc zusammen mit den korrekten Typen aus wie "
gemäß der Dokumentation __len __ und __getItem __ sind ausreichend. Mein Typ-Hintergrund beschwert sich jedoch über die Implementierung von __getItem __ , obwohl meine Implementierung den Python-Dokumenten folgt.[code]from collections.abc import Sequence
from typing import override
class MySeq(Sequence[float]):
def __init__(self):
self._data: list[float] = list()
@override
def __len__(self) -> int:
return len(self._data)
@override
def __getitem__(self, key) -> float: # Type annotation is missing for parameter "key"
return self._data[key] # Return type is unknown
< /code>
[*] Wie tippe ich einen Hinweisschlüssel < /code>? Nur Schlüssel: Int [/code] wird vom Typ Checker nicht akzeptiert. Es gibt die Warnung: "Slice [beliebig, irgendjemand]" ist nicht "int" zugeordnet. Welche Möglichkeiten habe ich hier? < /Li>
Was ist mit dem Rückgabetyp los? Die vollständige Warnung ist "float" ist "Sequenz [float]"