Czy istnieje obiektywna definicja? Czy jest zaimplementowany jako fragment kodu źródłowego Pythona? Jeśli tak, czy ktoś mógłby wytworzyć dokładne linie kodu? Czy wszystkie języki mają, powiedzmy, własne protokoły iteratora "for"?Czym dokładnie jest protokół iteratora Pythona?
Odpowiedz
Jest położony here w docs:
Jedna metoda musi być zdefiniowana dla obiektów kontenerowych w celu zapewnienia wsparcia iteracji:
container.__iter__()
zwraca iterator obiektu. Obiekt jest wymagany do obsługi protokołu iteratora opisanego poniżej. Jeśli kontener obsługuje różne typy iteracji, można zastosować dodatkowe metody, aby konkretnie żądać iteratorów dla tych typów iteracji. (Przykładem obiektu obsługującego wiele form iteracji byłaby struktura drzewa obsługująca zarówno operację szerokości i pierwszego jak i pierwszego przejścia.) Ta metoda odpowiada szczelinie tp_iter
struktury typów obiektów Pythona w Python/C API.
Iterator samych przedmiotów są wymagane do tworzenia następujące dwa sposoby, które razem tworzą protokół iteracyjnej:
iterator.__iter__()
powrotu sam obiekt iteracyjnej. Jest to wymagane, aby umożliwić używanie zarówno kontenerów, jak i iteratorów z instrukcjami for i in. Ta metoda odpowiada szczelinie tp_iter
struktury typów obiektów Pythona w Python/C API.
iterator.next()
Powrót następny element z pojemnika. Jeśli nie ma dalszych elementów, zwiększ wyjątek StopIteration. Ta metoda odpowiada szczelinie tp_iternext
struktury typów obiektów Pythona w Python/C API.
- 1. Czym dokładnie jest prowizja?
- 2. Czym dokładnie jest powiązanie?
- 3. Czym dokładnie jest cacert.pem?
- 4. Czym dokładnie jest ROM?
- 5. Czym dokładnie jest DEFAULT_COMPRESSION?
- 6. Czym dokładnie jest OData?
- 7. Czym dokładnie jest # ^: _ 1
- 8. Czym dokładnie jest ContextStaticAttribute?
- 9. Czym dokładnie jest Gemfire?
- 10. Czym dokładnie jest Port Listening
- 11. Czym dokładnie jest tekst zmiennoprzecinkowy?
- 12. Czym dokładnie jest atak tęczy?
- 13. Czym dokładnie jest Apache Karaf?
- 14. Czym dokładnie jest EV_RECEIPT kqueue?
- 15. Czym dokładnie jest "kontener kluczowy"?
- 16. Eclipse - Czym dokładnie jest Builder?
- 17. Czym dokładnie jest n Gram?
- 18. Czym dokładnie jest stan użytkownika w ZfcUser?
- 19. Czym dokładnie jest wartość R w C++?
- 20. Czym dokładnie jest streambuf? Jak tego używać?
- 21. Czym dokładnie jest "rola" w Capistrano?
- 22. Czym dokładnie jest strona kodowa Unicode 1200?
- 23. Czym dokładnie jest kontekst wątku w C#?
- 24. Czym dokładnie jest obiekt "QuerySet" w Mongoengine?
- 25. Czym dokładnie jest "wyjście" w PowerShell?
- 26. Czym dokładnie jest CDATA i co robi?
- 27. Czym dokładnie jest "programowanie oparte na interfejsie"?
- 28. Czym dokładnie jest tensor w theano?
- 29. Czym dokładnie jest wiadro w hashmapie?
- 30. Eclipse RCP - czym dokładnie jest bezgłowy build?
http://docs.page.org/3/reference/compound_stmts.html#the-for -statement –
Większość języków nie implementuje instrukcji podobnych do Pythona (które są naprawdę najlepiej opisane jako "foreach"). C-standard 'for (init, cond, incr)' nie jest podobny do pętli for Pythona. –