try ... except ... wann nimmt man das statt if
zB.: was ist hier besser
Code: Alles auswählen
# dict_.has_key(...) fällt ja in 3.x weg
if key in dict_:
print(dict_[key])
#oder
try:
print(dict_[key])
except KeyError:
pass
Code: Alles auswählen
try:
return expression
except Error1:
return expression
except Error2:
return expression
#oder
try:
result = expression
except Error1:
result = expression
#...
return result
#oder sogar
try:
#...
finally:
return result
Code: Alles auswählen
if expression:
return "Hello World"
else:
return "Hello"
#oder
if expression:
return "Hello World
return "Hello"
Code: Alles auswählen
if bool_ == False:
...
#oder
if not bool:
...
Code: Alles auswählen
text = "...."
text += "...."
if expression:
text += "...."
return text
#oder
text1 = ".."
if expression:
text2 = "...."
return "....%s.... \
....%s" % (text1, text2)
#oder
return "....{0}....{1}...".format(text1, text2)
Code: Alles auswählen
# im beispiel jetzt etwas kleiner
def func(a, b, c, d="", e=[]):
...
#so ?
def func ( a,
b,
c,
d = "",
e = [] )
#oder so ? - also bis erste Zeile voll
def func ( a, b, c,
d="", e=[] )
#oder andere ?
Wann *, ** als Parameter nutzen ?
bzw ist das wirklich nur eine reine Style-Frage ?
Also bei sowas zB.
Code: Alles auswählen
def func(**kw):
...
#oder dann doch so
def func(kw={})
...
Wie siehts mit default Werten aus ?
Besser immer setzen oder nur bei absoluter Notwendigkeit, zB. lohnt sich so was oder wäre es besser das None wegzulassen.
Code: Alles auswählen
def __init__(self, master=None):
...

und was meint ihr ?