• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed mypy - typ zwracanej wartości przez funkcję taki sam jak typ argumentu funkcji

0 głosów
190 wizyt
pytanie zadane 11 października 2025 w Python przez whiteman808 Mądrala (5,560 p.)
zamknięte 12 października 2025 przez whiteman808

Hej, jak mogę powiedzieć mypy że typ zwracany powinien być taki sam jak ten przekazany w parametrze _type do funkcji read_number bez bawienia się w Any?

Chodzi mi o takie coś

def read_number(prompt: str = 'Enter the number (cannot be zero): ', *,
                _type: type = float) -> _type (?) wywala błąd undefined name _type:
    while True:
        try:
            return _type(input(prompt))
        except ValueError:
            print('Error: not a number. Try again...')

Funkcja ma zwracać taki sam typ jak ten zdefiniowany w zmiennej _type.

komentarz zamknięcia: Użyłem dekoratora @overload z biblioteki typing
komentarz 21 kwietnia przez niezalogowany

Polecamy użyć TypeVar z bound=type i adnotacji Callable

przed funkcją
T = TypeVar("T")
w definicji funkcji
prompt: str = "Enter the number (cannot be zero): ", *, _type: Callable[[str], T] = float, ) -> T

Podobne pytania

0 głosów
1 odpowiedź 623 wizyt
pytanie zadane 18 sierpnia 2020 w Java przez amtrax Dyskutant (9,630 p.)
0 głosów
5 odpowiedzi 1,005 wizyt
pytanie zadane 4 października 2015 w C i C++ przez 0xf Dyskutant (8,180 p.)

93,754 zapytań

142,715 odpowiedzi

323,363 komentarzy

63,350 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...