Pytania otagowane jako type-hinting

Wskazówki dotyczące typów wiążą argumenty funkcji z określonymi obiektami lub silnie je wpisują.

1
Jak opisywać typy wielu zwracanych wartości?
Jak używać wskazówek dotyczących typów w celu dodania adnotacji do funkcji, która zwraca an, Iterablektóra zawsze zwraca dwie wartości: a booli a str? Wskazówka Tuple[bool, str]jest bliska, z tą różnicą, że ogranicza typ wartości zwracanej do krotki, a nie do generatora lub innego typu iterowalnego. Jestem głównie ciekawy, ponieważ chciałbym …

1
Wpisz podpowiedzi z klasami zdefiniowanymi przez użytkownika
Nie mogłem znaleźć ostatecznej odpowiedzi. Chcę zrobić wskazówkę dotyczącą typu dla funkcji, a typ jest jakąś niestandardową klasą, którą zdefiniowałem, nazywa ją CustomClass(). A potem powiedzmy, że w jakiejś funkcji, nazwij ją FuncA(arg), mam jeden argument o nazwie arg. Czy poprawnym sposobem wpisania podpowiedzi FuncAbyłby: def FuncA(arg: CustomClass): Czy byłoby …

2
Różnica między definiowaniem typowania. Dict i dykt?
Ćwiczę używanie podpowiedzi typu w Pythonie 3.5. Jeden z moich kolegów używa typing.Dict: import typing def change_bandwidths(new_bandwidths: typing.Dict, user_id: int, user_name: str) -> bool: print(new_bandwidths, user_id, user_name) return False def my_change_bandwidths(new_bandwidths: dict, user_id: int, user_name: str) ->bool: print(new_bandwidths, user_id, user_name) return True def main(): my_id, my_name = 23, "Tiras" simple_dict …

1
Jak mogę wyłapać „możliwy do złapania błąd krytyczny” w podpowiedziach typu PHP?
Próbuję zaimplementować podpowiedzi typu PHP5 na jednej z moich klas, class ClassA { public function method_a (ClassB $b) {} } class ClassB {} class ClassWrong{} Prawidłowa obsługa: $a = new ClassA; $a->method_a(new ClassB); powodując błąd: $a = new ClassA; $a->method_a(new ClassWrong); Przechwycony błąd krytyczny: Argument 1 przekazany do ClassA :: …

2
Jak należy korzystać z podpowiedzi typu opcjonalnego?
Próbuję zrozumieć, jak używać Optionalwskazówki dotyczącej typu. Od PEP-484 , wiem, że mogę używać Optionaldo def test(a: int = None)albo jako def test(a: Union[int, None])lub def test(a: Optional[int]). Ale co z następującymi przykładami? def test(a : dict = None): #print(a) ==> {'a': 1234} #or #print(a) ==> None def test(a : …

4
Jak opisywać typy w pętli for
Chcę dodać adnotację do typu zmiennej w for-pętli. Próbowałem tego: for i: int in range(5): pass Ale to oczywiście nie zadziałało. Oczekuję, że działa autouzupełnianie w PyCharm 2016.3.2. Adnotacja wstępna, taka jak ta: i: int for i in range(5): pass nie pomaga. PS Pre-adnotation działa dla PyCharm> = 2017.1

5
Interfejsy PHP 7, podpowiedzi typu zwracanego i self
AKTUALIZACJA : PHP 7.4 obsługuje teraz kowariancję i kontrawariancję, co rozwiązuje główny problem poruszony w tym pytaniu. Napotkałem problem ze stosowaniem podpowiedzi typu zwracanego w PHP 7. Rozumiem, że podpowiedź : selfoznacza, że ​​klasa implementująca ma zwrócić się sama. Dlatego użyłem : selfw moich interfejsach, aby to wskazać, ale kiedy …

2
Co to są adnotacje zmiennych?
Wkrótce zostanie wydany Python 3.6. PEP 494 - Harmonogram wydania Pythona 3.6 wspomina o końcu grudnia, więc przejrzałem Co nowego w Pythonie 3.6, aby zobaczyć, jak wspominają o adnotacjach zmiennych : PEP 484 wprowadził standard dla adnotacji typu parametrów funkcji, czyli podpowiedzi typu. Ten PEP dodaje składnię do Pythona w …

2
JetBrains WebIDE: podpowiedzi typu zmiennej PHP?
Czy istnieje sposób, aby zasugerować WebIDE, że zmienna ma jakiś typ? Muszę iterować tablicę obiektów i nie ma dostępnego autouzupełniania. To pomaga w ZendStudio: /* @var ClassName $object */ Wiem, że w JetBrains jest funkcja deklarowania tablicy obiektów: /** * @return ClassName[] */ Ale działa to tylko z typem zwracanym …


2
Czy instrukcja „with” obsługuje podpowiedzi typu?
Czy potrafisz zdefiniować wskazówkę dotyczącą typu dla zmiennej zdefiniowanej withskładnią? with example() as x: print(x) Chciałbym wpisać podpowiedź powyżej, aby powiedzieć, że xjest to str(jako przykład). Jedyne obejście, które znalazłem, to użycie zmiennej pośredniej, ale wydaje się to hacking. with example() as x: y: str = x print(y) Nie mogę …

2
Dlaczego nagle pojawia się błąd „Nie można uzyskać dostępu do właściwości typu przed zainicjowaniem” podczas wprowadzania wskazówek dotyczących typu właściwości?
Zaktualizowałem definicje klas, aby korzystać z nowo wprowadzonych wskazówek typu właściwości, takich jak: class Foo { private int $id; private ?string $val; private DateTimeInterface $createdAt; private ?DateTimeInterface $updatedAt; public function __construct(int $id) { $this->id = $id; } public function getId(): int { return $this->id; } public function getVal(): ?string { …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.