Przykłady krojenia w documentation pokazują tylko liczby całkowite i zmienne używane jako indeksy, a nie bardziej złożone wyrażenia (na przykład myarray[x/3+2:x/2+3:2]
). PEP-8 również nie obejmuje tej sprawy. Jakie jest zwykłe użycie białych znaków: myarray[x/3+2:x/2+3:2]
, myarray[x/3+2 : x/2+3 : 2]
lub myarray[x/3+2: x/2+3: 2]
(nie ma innych rozsądnych opcji)?Jaki jest zalecany odstęp w przypadku krojenia z użyciem indeksów wyrażenia w języku Python?
Odpowiedz
Nigdy nie widziałem spacji używanych w operacjach krojenia, więc błądziłbym po stronie unikania ich. Z drugiej strony, jeśli nie jest to krytyczne z punktu widzenia wydajności, byłbym skłonny do przeniesienia wyrażeń poza samą operację dzielenia. Po tym wszystkim, twoim celem jest czytelność:
lower = x/3 + 2
upper = x/2 + 3
myarray[lower:upper:2]
A jeśli to * jest * krytyczne pod względem wydajności, użyłbym zamiast tego Cythona. –
Uważam, że najbardziej odpowiedni wyciąg z PEP8 na ten temat:
Wytyczne, które tutaj mają na celu poprawę czytelność kodu i uczynić jest spójny w szerokim spektrum kodu Pythona.
W tym przypadku, mój osobisty wybór będzie prawdopodobnie albo Steve Mayne za odpowiedź, czy może:
myarray[slice(x/3 + 2, x/2 + 3, 2)]
- 1. Jaki jest zalecany sposób upuszczania indeksów za pomocą Mongoose?
- 2. Jaki jest zalecany sposób na anulowanie aplikacji graficznych w języku Python?
- 3. Jaki jest cel porównywania indeksów w Pythonie?
- 4. Czy istnieje pakiet zalecany do uczenia maszynowego w języku Python?
- 5. mecze grupowe w przypadku wyrażenia
- 6. Wyrażenia regularne w przypadku Elixir
- 7. Jaki jest zalecany sposób na wyrównanie "tablicy stałej" w eliksiru?
- 8. Jaki jest status funkcjonalnego programowania reaktywnego w języku Python?
- 9. Parsowanie XML w języku Python z regex
- 10. Jaki jest wynik wyrażenia przypisania w C?
- 11. Jaki jest zalecany sposób na prefiks Console.Write?
- 12. Wyrażenia regularne w języku Python - re.search() kontra re.findall()
- 13. Zalecany moduł kryptograficzny Python?
- 14. Python: Zoptymalizowana metoda cięcia/krojenia posortowanych list
- 15. Wyrażenia regularne w języku Python przypisywanie nazwanym grupom
- 16. Jaki jest zalecany sposób wdrożenia aplikacji Django w usługach IIS?
- 17. gRPC: Jaki jest zalecany sposób zamknięcia asynchronicznego serwera w C++?
- 18. Jaki jest zalecany sposób łączenia się z MySQL z Go?
- 19. Jaki jest bardziej zalecany sposób przekierowania 301 w asp.net?
- 20. Jaki jest zalecany sposób iterowania kontenera w C++ 11?
- 21. Jaki jest prawidłowy wzorzec kodu do sfinalizowania transakcji w języku Java (wycofanie w przypadku wyjątku i zatwierdzenie w przypadku sukcesu)?
- 22. Jaki jest zalecany sposób wydruku: matplotlib lub pylab?
- 23. Jaki jest zalecany sposób postępowania z zależnościami modułu prywatnego node.js?
- 24. Przerwa w języku Python
- 25. Dlaczego jest to błąd składniowy w przypadku trafień kresowych bez dodatkowego wcięcia i jaki jest styl zalecany do obejścia tego?
- 26. Jaki jest wpływ nie unikatowych indeksów na wydajność w pandach?
- 27. sqlite3 w języku Python
- 28. Wątki w języku Python
- 29. W jaki sposób mogę uruchamiać skrypty w języku Python?
- 30. Korzystanie z funkcji distplot w języku Python
Cóż, zwykle przestrzenie wokół moich operatorów i chciałbym brać w nawias złożonych wyrażeń: 'myarray [(x/3 + 2) :(x/2 + 3): 2] '. –
PEP8 zaleca przestrzeń wokół operatorów matematycznych. –