Beispielcode
Boolesche Variablen und Ausdrücke:
v = True
x = False # statt 1 oder 0
if not v: # nicht: if v == False
...
seq = getSomeListOrStringValue()
if seq: # statt: if len(seq) > 0:
...
Import eines Symbols unter einem anderen Namen:
from template import temp1 as templateDef
if-Abfrage mit mehreren möglichen Werten:
if valueToCheck in ('abc', 'def',):
...
Fehlertolerante Dictionary-Abfrage (statt try:/except:):
if key in dictionary: # has_key() ist veraltet
...
# oder:
value = dictionary.get(key, None) # oder anderer default statt None
Abgreifen einer Teilfolge aus einer Liste oder einem Generator-Objekt:
sequence = fibonacci()[start:end+1] # oder - insbesondere wenn die Folge sehr umfangreich sein kann: from itertools import islice sequence = islice(fibonacci(), start, end+1)
Ersetzen einer Teilfolge in einer Liste durch Slicing:
lst = [28, 29, 30, 31, 0, 0, 0] lst[-3:] = [1, 2, 3]
Aufruf von Funktionen über Kommando-Codes:
from operator import add, sub, mul, div
ops = {'+': add, '-': sub, '*': mul, '/': div}
def calculate(op, v1, v2):
return ops.get(op, add)(v1, v2)
Typ-Prüfung:
if type(n) is int:
...
# oder - berücksichtigt auch Oberklassen:
if isinstance(n, int):
...
Aufbau eines Strings aus Elementen, z.B. für ein SQL-Statement:
params = ', '.join((name, strasse, plz, ort))
Abarbeiten des Ergebnisses einer SQL-Abfrage:
for row in resultSet:
doSomethingWith(row)
# nicht: for i in range(len(rs)): ...
Anfügen an eine Liste:
persons = []
for row in resultSet:
persons.append(Person(*list(row)))
# oder gleich:
persons = [Person(*list(row)) for row in resultSet]
Sortierung einer Liste von Objekten nach einem Attribut:
sortKey = 'vorname' sortedPersons = sorted(persons, key=lambda x: getattr(x, sortKey))
