Semikolon in timeit verwenden

8

Ich kann anscheinend nicht timeit.timeit zum arbeiten bringen, wenn ich Ausnahmen in dem als String übergebenen Anweisungsargument habe:

%Vor%

Dies führt zu:

%Vor%

Ich führe es mit Python 3.3, aber der gleiche Fehler passiert sogar mit dem alten Python (3.2).

UPDATE:

Ich folgte dieser Dokumentation (Hervorhebung von mir):

  

class time it.Timer (stmt = 'pass', setup = 'pass', timer =)

     

Klasse für die Timing-Ausführungsgeschwindigkeit kleiner Code-Snippets.

     

Der Konstruktor nimmt eine zu terminierende Anweisung, eine zusätzliche Anweisung   verwendet für die Einrichtung und eine Timer-Funktion. Beide Anweisungen sind standardmäßig auf   'bestehen'; Die Timerfunktion ist plattformabhängig (siehe Modul doc   Zeichenfolge). stmt und setup können auch mehrere getrennte Anweisungen enthalten   durch; oder Zeilenumbrüche, solange sie keine mehrzeilige Zeichenfolge enthalten   Literale.

    
max 24.04.2012, 16:19
quelle

2 Antworten

20

Sie müssen korrekt eingerückten Code mit Zeilenumbrüchen und nicht mit Semikolons versehen. Versuchen Sie es wie folgt zu ändern:

%Vor%

Obwohl dies besser lesbar ist als:

%Vor%

Semikolons eignen sich gut zum Trennen von Anweisungen, die die gleiche Einrückungsstufe haben. Leerzeichen oder Tabulatoren zwischen Semikolon und der nächsten Anweisung werden jedoch ignoriert, sodass Sie sie nicht mit Einrückungen verwenden können.

    
Andrew Clark 24.04.2012, 16:22
quelle
0

Dies ist ein alter Thread, aber es könnte ein Update wert sein. Eine weitere Option, die textwrap verwendet, um die Lesbarkeit zu verbessern, indem Code eine grundlegende Ebene der Einrückung ermöglicht:

%Vor%     
Tim Cederquist 23.10.2017 22:23
quelle

Tags und Links