Beispiele für Slicing in documentation zeigen nur ganzzahlige Literale und Variablen, die als Indizes verwendet werden, keine komplexeren Ausdrücke (z. B. myarray[x/3+2:x/2+3:2]
). PEP-8 deckt diesen Fall ebenfalls nicht ab. Was ist die übliche Verwendung von Leerzeichen hier: myarray[x/3+2:x/2+3:2]
, myarray[x/3+2 : x/2+3 : 2]
oder myarray[x/3+2: x/2+3: 2]
(es scheint nicht andere sinnvolle Optionen zu sein)?Was ist der empfohlene Whitespace für das Slicen mit Expressionsindizes in Python?
Antwort
Ich habe nie gesehen, Leerzeichen in Slicing-Operationen verwendet, so würde irr auf der Seite zu vermeiden sie. Andererseits würde ich, wenn es nicht leistungskritisch ist, dazu neigen, die Ausdrücke außerhalb des Schneidevorgangs zu verschieben. Schließlich ist es Ihr Ziel Lesbarkeit:
lower = x/3 + 2
upper = x/2 + 3
myarray[lower:upper:2]
Und wenn es * leistungskritisch ist, würde ich stattdessen Cython dafür verwenden. –
glaube ich, das relevanteste Extrakt von PEP8 zu diesem Thema ist:
Die hier zur Verfügung gestellten Leitlinien sollen die Lesbarkeit des Codes zu verbessern und Es ist konsistent über das breite Spektrum von Python-Code.
In diesem Fall würde meine persönliche Wahl wahrscheinlich entweder Steve Mayne Antwort oder vielleicht sein:
myarray[slice(x/3 + 2, x/2 + 3, 2)]
- 1. Was ist der Grund für die Makefile-Whitespace-Syntax?
- 2. Was ist der empfohlene Maximalwert für join_buffer_size in mysql?
- 3. Was ist der empfohlene Hash-Algorithmus für gespeicherte Passwörter?
- 4. Was ist das empfohlene Python-Modul für schnelle Fourier-Transformationen (FFT)?
- 5. Was ist der Grund für '//' in Python?
- 6. Was ist das Unterstrichpräfix für den Namen der Python-Datei?
- 7. Was ist die empfohlene Bcrypt C-Implementierung?
- 8. Was ist eine empfohlene R-Schnittstelle für die Perl-Integration?
- 9. Was ist die empfohlene Implementierung für Hash-OLE-Varianten?
- 10. Was ist die empfohlene error_reporting() Einstellung für die Entwicklung? Was ist mit E_STRICT?
- 11. Was ist der empfohlene Ansatz, um ein SlickGrid zu stylen?
- 12. Was ist das empfohlene Muster für Fortschrittsanzeigen beim Warten auf Daten in Windows UWP-Apps?
- 13. Whitespace in CSV-Ausgabe - Python
- 14. Was ist eine empfohlene Android-Hilfsklassensammlung?
- 15. Was ist die empfohlene Architektur für ASP.NET-Webanwendungen?
- 16. Was ist das OCaml-Idiom, das der Python-Bereichsfunktion entspricht?
- 17. Python - Empfohlene IDE für die Remote-Entwicklung
- 18. Was ist die empfohlene Dokumentstruktur für die Front-End-Entwicklung?
- 19. Was ist die empfohlene Größe von Daten für iOS
- 20. Was ist die empfohlene Klasse für die Darstellung einer Box?
- 21. Verwirrende [...] Liste in Python: Was ist das?
- 22. Was ist die empfohlene setup.ini für SQL 2000 MSDE installieren?
- 23. Was ist die empfohlene Speicheranforderung für einen Crate-Host?
- 24. Was sind empfohlene Gesichtserkennungsbibliotheken?
- 25. Was ist das Analog für .Net InvalidOperationException in Python?
- 26. Was ist für Python was "explodieren" ist für PHP?
- 27. Rails: Welches ist das empfohlene Verzeichnis für CSV-Dateien?
- 28. Was ist das EAFP-Prinzip in Python?
- 29. Was ist der beste Weg und empfohlene Praktiken für die Interaktion mit Lotus Notes von C#
- 30. Was ist der empfohlene Ansatz, um Listen für Mehrfachauswahl zu erhalten und sie in MVC anzuzeigen?
Nun, ich habe normalerweise Räume um meine Fahrer, und ich würde die komplexen Ausdrücke klammern: 'myarray [(x/3 + 2) :(x/2 + 3): 2] '. –
PEP8 empfiehlt einen Bereich um mathematische Operatoren herum. –