/ / Skontrolujte, či sa stav zhoduje s viacerými premennými - python, python-2.7, podmienené

Skontrolujte, či sa stav zhoduje s viacerými premennými - python, python-2.7, podmienený

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ď č. 1
var1, 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 ...