Mám metódu / funkciu, ktorá prešla niekoľkými premennými, ktoré môžu mať hodnotu Žiadna. Ako môžem skontrolovať všetky premenné na hodnotu Žiadna a nahradiť ju reťazcom čo najpyptickejším spôsobom?
Príklad kód:
def logData(self, var1=None, var2=None, var3=None):
if var1 is None:
var1 = "---"
if var2 is None:
var2 = "---"
if var3 is None:
var3 = "---"
# what I would prefer / pseudo code:
if list(var1, var2, var3) is None:
list[1] = "---"
odpovede:
2 pre odpoveď č. 1var1, var2, var3 = (a or "---" for a in [var1, var2, var3])
2 pre odpoveď č. 2
Použite rozbalenie v tuplích:
var1, var2, var3 = ["---" if (x is None) else x for x in (var1, var2, var3)]
-1 pre odpoveď č. 3
Dalo by sa to dosiahnuť pomocou **kwargs
:
def logData(self, **kwargs):
for key,value in kwargs.iteritems():
if value is None:
# do assignment ...