Was ist die Verwendung der Operatoren * und ** in Python3?

醉折花枝作酒筹
Freigeben: 2021-04-27 09:07:22
nach vorne
9679 Leute haben es durchsucht

Dieser Artikel führt Sie in die Verwendung der Python3-Operatoren * und ** ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Was ist die Verwendung der Operatoren * und ** in Python3?

In Python weisen * und ** grammatikalische Mehrdeutigkeiten auf, insbesondere gibt es vier Arten der Verwendung.

1. Arithmetische Operationen

* steht für Multiplikation

** steht für Potenzierung

>>> 2 * 5
//10
>>> 2 ** 5
//32
Nach dem Login kopieren

2. Funktionsparameter

*args und **kwargs werden hauptsächlich für Funktionsdefinitionen verwendet.

Sie können einer Funktion eine variable Anzahl von Argumenten übergeben. Unsicher bedeutet: Sie wissen nicht im Voraus, wie viele Parameter der Funktionsbenutzer an Sie übergibt. Verwenden Sie daher in diesem Szenario diese beiden Schlüsselwörter. Tatsächlich ist es nicht notwendig, *args und **kwargs zu schreiben. *(Sternchen) ist erforderlich. Sie können auch *ar und **k schreiben. Das Schreiben von *args und **kwargs ist lediglich eine gängige Namenskonvention.

Es gibt zwei Möglichkeiten, Parameter in Python-Funktionen zu übergeben:

  • Positionsargument
  • Schlüsselwortargument

Der Unterschied zwischen *args und **kwargs, beide sind in Python verfügbar Variable Parameter:

  • *args steht für beliebig mehrere unbenannte Parameter, bei denen es sich im Wesentlichen um ein Tupel handelt .
  • >>> def fun(*args, **kwargs):
    ...     print('args=', args)
    ...     print('kwargs=', kwargs)
    ... 
    >>> fun(1, 2, 3, 4, A='a', B='b', C='c', D='d')
    //args= (1, 2, 3, 4)
    //kwargs= {'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd'}
    Nach dem Login kopieren
  • Verwenden Sie *args
  • >>> def fun(name, *args):
    ...     print('你好:', name)
    ...     for i in args:
    ...         print("你的宠物有:", i)
    ... 
    >>> fun("Geek", "dog", "cat")
    //你好: Geek
    //你的宠物有: dog
    //你的宠物有: cat
    Nach dem Login kopieren
Verwenden Sie **kwargs

>>> def fun(**kwargs):
...     for key, value in kwargs.items():
...         print("{0} 喜欢 {1}".format(key, value))
... 
>>> fun(Geek="cat", cat="box")
//Geek 喜欢 cat
//cat 喜欢 box
Nach dem Login kopieren

3. Funktionsparameter

Wenn die formalen Parameter der Funktion Parameter fester Länge sind, können Sie auch *args und **kwargs verwenden, um die Funktion aufzurufen Funktion, ähnlich dem Paar Dereferenzierungsgruppen und Wörterbücher:

>>> def fun(data1, data2, data3):
...     print("data1: ", data1)
...     print("data2: ", data2)
...     print("data3: ", data3)
... 
>>> args = ("one", 2, 3)
>>> fun(*args)
data1:  one
data2:  2
data3:  3
>>> kwargs = {"data3": "one", "data2": 2, "data1": 3}
>>> fun(**kwargs)
data1:  3
data2:  2
data3:  one
Nach dem Login kopieren
4. Sequenz-Entpacken. Ich habe darüber in früheren Blogs geschrieben. Es gibt kein ** In-Sequenz-Entpacken.

>>> a, b, *c = 0, 1, 2, 3  
>>> a  
0  
>>> b  
1  
>>> c  
[2, 3]
Nach dem Login kopieren

Verwandte kostenlose Lernempfehlungen:

Python-Video-Tutorial

!

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung der Operatoren * und ** in Python3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!