[PYTHON] Anmerkungen zu * args und ** kargs

Ich vergesse es oft, also mach dir eine Notiz.

Argument variabler Länge

Wenn "* args" als Argument angegeben wird, erhält es eine beliebige Anzahl von Argumenten und wird zu einem Taple.

>>> def func(a, b, *args):
...     print('a: {}'.format(a))
...     print('b: {}'.format(b))
...     print('*args: {}'.format(args))
...
>>> func(1, 2, 3, 4, 5, 6)
a: 1
b: 2
*args: (3, 4, 5, 6)

Wenn Sie "** kargs" als Argument angeben, können Sie eine beliebige Anzahl von Schlüsselwortargumenten empfangen und als Wörterbuch verwenden.

>>> def func(a, b, **kargs):
...     print('a: {}'.format(a))
...     print('b: {}'.format(b))
...     print('**kargs: {}'.format(kargs))
...
>>> func(1, 2, x=3, y=4, z=5)
a: 1
b: 2
**kargs: {'z': 5, 'x': 3, 'y': 4}

Aufgabe auspacken

Wenn Sie der Liste "*" hinzufügen und an das Argument übergeben, wird es entpackt und dem Argument zugewiesen.

>>> args = [1, 2, 3]
>>> def func(a, b, c):
...     return a + b + c
...
>>> func(*args)
6

Wenn Sie dem Wörterbuch "**" hinzufügen und es an das Argument übergeben, wird es entpackt und dem Argument zugewiesen.

>>> kargs = {'a': 3, 'b': 4, 'c': 5}
>>> def func(a, b, c):
...     return a + b + c
...
>>> func(**kargs)
12

Solch eine Sache

>>> args = [3, 4, 5]
>>> def func(a, b, *args):
...     print('a: {}'.format(a))
...     print('b: {}'.format(b))
...     print('*args: {}'.format(args))
...
>>> func(1, 2, *args)
a: 1
b: 2
*args: (3, 4, 5)

Es wird entpackt, indem es mit * args an das Argument übergeben wird, und die Funktion empfängt es als Argument variabler Länge, sodass es zu einer Liste wird. Es ist eine Geschichte, die Sie von Anfang an als Liste geben können, aber Sie können dies auch tun.

Referenzseite

* args ** Bedeutung von kwargs

Recommended Posts

Anmerkungen zu * args und ** kargs
Anmerkungen zu Pyenv und Atom
Hinweise zu Python- und Wörterbuchtypen
Hinweise zur Verwendung von Post-Receive und Post-Merge
Hinweise zur Flasche
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
Hinweise zur Installation von Python3 und zur Verwendung von pip unter Windows7
Hinweise zu neuronalen Netzen
Sellerie-Notizen zu Django
Hinweise zur Installation von PycURL
Hinweise zur Verwendung von Alembic
Hinweise zu Funktionen der SciPy.linalg-Familie
Hinweise und Tipps zum vertikalen Verbinden von PySpark DataFrame
Hinweise zur HDR- und RAW-Bildverarbeitung mit Python
Hinweise zum Erstellen von TinyEMU und zum Booten des Linux-Kernels auf Emscripten
Python auf Ruby und wütend Ruby auf Python
Hinweise zur Installation von dlib auf einem Mac
Hinweise zum SQLite3-Modul von Python
python * args, ** kwargs Verwendungshinweise
Hinweise zum Definieren von PySide-Steckplätzen (2)
[Django] Hinweise zur Verwendung der Django-Debug-Symbolleiste
Aufnahme und Wiedergabe unter Linux
Vorsichtsmaßnahmen beim Definieren von Slots für PySide
[Python] Hinweise zur Datenanalyse
Hinweise zur Optimierung mit Pytorch
Hinweise zur Installation von Python auf Ihrem Mac
Optionale Argumente und * args, ** kwargs
Hinweise zur Installation von pipenv auf Ihrem Mac
Hinweise zum Bereitstellen von pyenv mit Homebrew und zum Verwalten von Python-Versionen
Catalina auf Mac und Pyenv
Hinweise zur Installation von Anaconda 3 unter Windows
Hinweise zu imshow () von OpenCV
[Python] Hinweise zu while-Anweisungen (Schreibstil und Endlosschleife)
Hinweise zur Installation von Python unter CentOS
Hinweise zum Lesen und Schreiben von float32 TIFF-Bildern mit Python
Python 3.6 unter Windows ... und zu Xamarin.
MQTT auf Raspberry Pi und Mac
Installieren Sie Mecab und mecab-python3 unter Ubuntu 14.04
Hinweise zur Verwendung von MeCab aus Python
Hinweise zur Verwendung von Pywinauto
Erstellen und installieren Sie OpenCV unter Windows
Umfrage zum Aufbau und Betrieb von Kivi
Verknüpfen Sie Modelica und Python unter Windows
Hinweise zur Verwendung von featuretools
Für mich: Infrastruktur- und Netzwerknotizen
Hinweise zur Installation von Python mit PyEnv
Installieren Sie Fabric unter Ubuntu und versuchen Sie es
Rohr und Rad in Fenstern beherrschen
Fehlerklassifizierung (python3.x) und Debugging-Hinweise
Hinweise zur Verwendung von rstrip mit Python.
Hinweise zum Zugriff auf dashDB über Python
(Persönliche Notizen) Python-Metaklassen und Metaprogrammierung
Hinweise zur Installation von Homebrew und Pycharm
Hinweise zur Verwendung von matplotlib auf dem Server
Hinweise zum Schreiben von require.txt
Hinweise zur Installation von Ubuntu 18.04 auf XPS 15 7590
(Anfänger) Hinweise zur Verwendung von pyenv auf dem Mac
Installieren Sie easy_install und pip unter Windows