Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Verwendung der Operatoren * und ** in Python3?

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

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-04-27 09:05:109692Durchsuche

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

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'}
  • Verwenden Sie *args
  • >>> def fun(name, *args):
    ...     print('你好:', name)
    ...     for i in args:
    ...         print("你的宠物有:", i)
    ... 
    >>> fun("Geek", "dog", "cat")
    //你好: Geek
    //你的宠物有: dog
    //你的宠物有: cat
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

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
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]

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen