python * args, ** kwargs Verwendungshinweise

Was kann ich tun

Sie können alle Argumente erhalten, von denen Sie nicht wissen, wie viele kommen werden.

Positionsargument

python


def test(*args, **kwargs):
    print(args)
    print(kwargs)
    
test(1, 2, 'hoge')

output


(1, 2, 'hoge')
{}

Schlüsselwortargument

** Geben Sie kwargs mit dict () ein.

python


def test(*args, **kwargs):
    print(args)
    print(kwargs)
    
test(1, 2, 3, 4, 5, col=4, row=5)

output


(1, 2, 3, 4, 5)
{'col': 4, 'row': 5}

Wenn es kein entsprechendes Argument gibt

Es wird ein leeres Tupel () und ein leeres Diktat () sein.

python


def test(*args, **kwargs):
    print(args)
    print(kwargs)
    
test()

output


()
{}

Bequem mit Wrapper-Funktion zu verwenden

Sie können das empfangene Argument so übergeben, wie es ist

python


def func1(a, b, c=2):
    d = a + b * c
    return d

def func2(*args, **kwargs):
    d = func1(*args, **kwargs)
    return d

print(func2(1, 2))
print(func2(1, 2, c=5))

output


5
11

Der Argumentname kann geändert werden

Wenn die Anzahl von * gleich ist, kann der Name des Arguments frei geändert werden. * A, * hoge usw. können anstelle von * args verwendet werden, und ** b, ** fuga usw. können anstelle von ** kwargs verwendet werden.

python


def test(*a, **b):
    print(a)
    print(b)
    
test(1, 2, 3, 4, 5, col=4, row=5)

output


(1, 2, 3, 4, 5)
{'col': 4, 'row': 5}

Lass es uns versuchen!

Recommended Posts

python * args, ** kwargs Verwendungshinweise
Verwendungshinweise für Python Decorator
Hinweise zur Verwendung des Python-Standards unittest
Python-Scraping-Memo
Python lernen note_000
Python-Lernnotizen
concurrent.futures Verwendungshinweise
Python-Anfängernotizen
Python lernen note_006
Python C ++ Notizen
Python lernen note_005
Python-Grammatiknotizen
Python Library Hinweis
Python persönliche Notizen
Python Pandas Memo
Python lernen note_001
Python-Lernnotizen
Installationshinweise zu Python3.4
fehlende Ganzzahlen Python persönliche Notizen
Hinweise zur Entwicklung von Python-Paketen
Verwendung von Python-Einheimischen ()
Python-IP-Adresse Paket Memo
Notizen im Python Pickle-Format
Erstes Python-Memo
Matlab => Python-Migrationsnotizen
Hinweise zur Python3-Zuweisung
Hinweise zur Verwendung von Python-Unterprozessen
Python versuchen / außer Memo
Hinweise zur Python-Framework-Flasche
Python-Memo mit perl-ternärem Operator
[Python] Richtige Verwendung der Karte
Python-Notizen, die Sie bald vergessen sollten
Anmerkungen zu * args und ** kargs
Python-Notizen zur Verwendung von Perl-Spezialvariablen
Python-Theorie regulärer Ausdruck Anmerkungen
Python Tkinter Memo (für mich)
Bequeme Hinweise zur Verwendung von Diff-Befehlen
[Python] Hinweise zur Datenanalyse
Lernnotizen zur Python-Datenanalyse
Hinweise zur Installation von Python auf Ihrem Mac
Optionale Argumente und * args, ** kwargs
[Python] * args ** Was ist kwrgs?
Beispiel für die Verwendung von Python Pickle
Grundlegende Verwendung von Python-F-String
Holen Sie sich Evernote-Notizen in Python
[Python] Richtige Verwendung von Join
Hinweise zur Installation von Python unter CentOS
Hinweise zu Python- und Wörterbuchtypen
Minimale Grammatiknotizen zum Schreiben von Python
Hinweise zur Verwendung von MeCab aus Python
Persönliche Notizen für die Python-Bildverarbeitung
Persönliche Notizen zur Vorverarbeitung von Python Pandas-Daten
Typisierungsautomatisierungsnotiz von Python-Anfängern
Memo für mich Python CSV Graph
Hinweise zur Installation von Python mit PyEnv
Grundlegende ITK-Verwendung mit Python gelernt
Hinweise zur Eingabe / Ausgabe von Python-Dateien
Hinweise zur Verwendung von rstrip mit Python.