Variablen in if-Abfragen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
narpfel
User
Beiträge: 239
Registriert: Freitag 20. Oktober 2017, 16:10

Montag 5. Februar 2018, 17:10

@DeaD_EyE: Hast du da eine Quelle zu, dass `return`s in `try`-Blöcken vermieden werden sollten? Eventuell auch eine, die Gründe angibt?

Was macht es für einen Sinn, alle `dict`-Schlüssel klein zu schreiben?
Benutzeravatar
kbr
User
Beiträge: 949
Registriert: Mittwoch 15. Oktober 2008, 09:27

Montag 5. Februar 2018, 17:44

narpfel hat geschrieben:@DeaD_EyE: Hast du da eine Quelle zu, dass `return`s in `try`-Blöcken vermieden werden sollten? Eventuell auch eine, die Gründe angibt?
Das würde mich auch interessieren. Alex Martelli nutzt dieses Konstrukt in seinem Buch "Python in a Nutshell" übrigens selbst.
__deets__
User
Beiträge: 3673
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 5. Februar 2018, 18:00

narpfel hat geschrieben: Was macht es für einen Sinn, alle `dict`-Schlüssel klein zu schreiben?
Ohne Dead_Eye zu sein: weil in Python Argumente klein geschrieben werden, und weil man dicts kompakter so schreibt:

Code: Alles auswählen

dict(schluessel="wert")
statt das rumgefummel mit "". Mache ich zumindest so, und da kann sowas dann mental eingebaut werden.
Benutzeravatar
DeaD_EyE
User
Beiträge: 233
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Mittwoch 7. Februar 2018, 14:22

narpfel hat geschrieben:@DeaD_EyE: Hast du da eine Quelle zu, dass `return`s in `try`-Blöcken vermieden werden sollten? Eventuell auch eine, die Gründe angibt?

Was macht es für einen Sinn, alle `dict`-Schlüssel klein zu schreiben?
Keys in dicts klein zu schreiben ist meine Vorliebe. Wie ihr das macht, liegt an eurem Geschmack bzw. den Vorgaben.

Das mit dem return-statement im Try-Block ist wenn ich mich richtig erinnere in eins dieser beiden Videos angesprochen worden:
https://www.youtube.com/watch?v=frZrBgWHJdY
https://www.youtube.com/watch?v=_Ek3A2b-nHU

Wenn du in deinem Code mehrere try-except-blöcke hast, wird es schnell unübersichtlich.
sourceserver.info - sourceserver.info/wiki/ - Support für HL2-Server
narpfel
User
Beiträge: 239
Registriert: Freitag 20. Oktober 2017, 16:10

Mittwoch 7. Februar 2018, 14:54

@DeaD_EyE: Ich hab’ mir jetzt nicht die 1,7 Stunden an Videos angesehen, aber in den Folien findet man das, das, das und das.

Kann es sein, dass er gesagt hat, dass man `return` nicht innerhalb von `finally`-Blöcken verwenden sollte? Das ist einfach nachvollziehbar, oder kannst du mir sagen, was das hier zurückgibt:

Code: Alles auswählen

def foo():
    try:
        1 / 0
        return 15
    except ZeroDivisionError:
        return 27
    finally:
        return 42
Falls es nicht so gemeint war, müsstest du den Quellenraum auf weniger als 1,7 Stunden einschränken. :wink:
Antworten