Ich möchte nur wissen, welcher Weg in Python vorzuziehen ist. zwei Funktionen Stellen Sie sich vor:Welche dieser beiden Funktionen ist mehr "pythonisch"?
1 Funktion:
def foo(key):
if bar.has_key(key):
return bar.get(key)
# do something with bar
# this will be executed if bar_key(key) is False
...
return something
2 Funktion:
def foo(key):
if bar.has_key(key):
return bar.get(key)
else:
# do something with bar
# this will be executed if bar_key(key) is False
...
return something
Wie Sie den einzigen Unterschied sehen können, ist else
Aussage. Die Frage ist also, ob es die Leistung irgendwie beeinflusst. Oder gibt es Gründe, else
in diese Art von Funktionen aufzunehmen?
Angenommen, bar ist ein 'dict', wie wäre es mit' return bar.get (key, something) '? – ixe013
Eher auf Meinung basiert und ich denke nicht, dass es spezifisch für Python ist oder "Python" ist. Von dem, was ich gehört habe, ist die erste Option lesbarer, und ich wähle auch diese Version. – BartoszKP
Weder ist; Verwenden Sie 'if Schlüssel in bar: return bar [key]'; keine Notwendigkeit, 'get()' und 'has_key()' zu verwenden. –