2016-06-20 4 views
0

Wie ist es möglich, eine Teilmenge der Eingabeparameter einer Funktion auf ihre Standardwerte in Python zu belassen?Mehrere Parameter auf ihren Standardwerten in Python-Funktionen belassen

Zum Beispiel

>>> def sum(a=2, b=3): 
... print a + b 

>>> sum(1,2) 
3 

>>> sum(1) 
4 

Wie kann ich verlassen ein als 2 und nur b ‚ändern s Wert? Etwas wie:

sum(_,4) # a is 2 and b 4, and sum should print 6 
+1

Sie es auch so machen könnten: 'Summe (sum.func_defaults [0], 4) 'wenn Sie sich an die Position der Parameter erinnern. "Mysum (b = 4)" ist einfach besser! – Jomy

Antwort

6

Nur b als Schlüsselwort Argument an die Funktion übergeben:

>>> def mysum(a=2, b=3): 
...  print a + b 
... 
>>> mysum(b=4) 
6 

lesen über Keyword-Argumente here.

0

Geben Sie einfach den Namen des einen Parameters an, dessen Wert geändert werden soll, und geben Sie nicht die Namen an, die Sie nicht ändern möchten.

sum(b=4) 
-2

Hier gehen Sie:

>>>sum(b=4) 
6 
0

In Python, wenn das Objekt unveränderlich ist, wird der Wert der Parameter ändern sich nicht bei jedem Funktionsaufruf, sofern nicht anders angegeben ist. Wenn ein defaut Parameter definiert ist, können Sie nur den Standardparameter ändern, die Sie bei Funktionsaufruf angeben, da dies:

>>> sum(b=4) 
6 
Verwandte Themen