2017-11-28 2 views
0

Ich schreibe eine Funktion und es sollte in der Lage sein, verschiedene Argumente auf einmal zu nehmen. Wie kann ich diese Argumente der Funktion definieren?Funktion mit verschiedenen Argumenten

def function('005=5=0002555') 
def function('00025:001:002325', '/') 
def function(date='05-0004-002294', separator='/') 
def function(separator='*', date='0008=006=2001') 
def function('21 12 2012', separator='+') 
+1

auf der Version von Python Je einen Blick auf [diese] (https://docs.python.org/3/tutorial /controlflow.html#more-on-defining-functions) –

+0

Dies ist ein Sonderfall, weil sie manchmal für dasselbe Argument Standardargumente sind ('00025: 001: 002325', '/') und manchmal ein Schlüsselwort (date = '05 -0004-002294 ', separator ='/') oder sogar die Plätze wechseln (separator =' * ', date =' 0008 = 006 = 2001 '). Jeder erlebt damit? –

+3

Klingt wie nur normale Kwargs zu mir ... – Shadow

Antwort

0

Sie können eine Kombination von *args verwenden und **kwargs:

def function(*args, **kwargs): 
    args1 = args if args else None 
    args2 = [kwargs.get(i) for i in ['date', 'separator']] 
+0

Wie können Sie als die Argumente zugreifen? Zum Beispiel mit: wenn das Datum keiner ist: s = abgelaufen (args) + 1856305 wenn das Datum nicht ist Keins: s = abgelaufen ('Datum') + 1856305 –

Verwandte Themen