blubb=function() || blubb = "foo"

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.
Antworten
deets

Deshalb:

Code: Alles auswählen

>>> cond = True
>>> a = 1
>>> b = 2
>>> cond and a or b
1
>>> cond = False
>>> cond and a or b
2
>>> a = 0
>>> cond = True
>>> cond and a or b
2
BlackJack

@mutetella: Bei dem gezeigten Quelltext mag es kein Problem geben. Man kann halt `hopsala` nichts "falsches" übergeben was nicht durch eine leere Liste ersetzt wird. Zum Beispiel auch keine eigene leere Liste. Dann unterscheidet sich die Semantik subtil:

Code: Alles auswählen

class A(object):
    def __init__(self, a=None):
        self.a = a or []


class B(object):
    def __init__(self, a=None):
        self.a = a if a is not None else []
    

def main():
    for c in [A, B]:
        xs = list()
        obj = c(xs)
        xs.append(42)
        print xs == obj.a


if __name__ == '__main__':
    main()
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Ok, herzlichen Dank für Eure Erklärung!
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten