2017-06-08 4 views
0

Folgende ist meine Funktion:Standard param und Variable Parameter in Python

def compare(a, b, key=None,*arg2): 
    print(a,b,key) 

So in dieser, wie nennen wir die Funktion ohne Wert für den Schlüssel angibt, aber für die arg2 Tupel Bereitstellung von Mehrwert ...

Danke.

+0

Sie nicht .. Vielleicht möchten Sie das Keyword bis zum Ende drücken. – Goyo

+0

Mögliches Duplikat von [Was macht \ * \ * (Doppelstern) und \ * (Stern) für Parameter?] (Https://stackoverflow.com/questions/36901/what-does-double-star-and-star -do-for-parameters) –

Antwort

0

Wenn ich nicht falsch bin Sie möchten den Standardwert des variablen Schlüssels übergeben. Wenn dies der Fall ist, können Sie die Reihenfolge der Variablen ändern. wie dieses

def compare(a, b,*arg2,key=None): 
    print(a,b,key,arg2) 

compare(2,3,12,134,135,35,4567647,67865) 
#output: 2 3 None (12, 134, 135, 35, 4567647, 67865) 
+0

Danke! Dies scheint zu funktionieren, falls ich den Schlüsselwert nicht senden möchte ... aber was ist, wenn ich den Wert übergeben möchte? Ich meine, in einigen Fällen möchte ich nicht bestehen, und in einigen Anwendungsfällen möchte ich den 'Schlüssel' Wert explizit übergeben. – Narasimhan

+0

so dass Sie den Standardwert nicht übergeben möchten, dann habe ich Angst, ich habe keine Möglichkeit, diesen Mann zu tun.sorry :( –