Über Funktionsargumente (Python)

Einführung

Dieser Artikel wurde zur Hälfte für meine eigenen Notizen erstellt. Um jedoch ein Memo zu erstellen, das im Rückblick leicht zu verstehen ist Ich habe versucht, den Artikel für jedermann sichtbar zu machen. (Es scheint, dass er darauf hingewiesen wird, wenn er einen Fehler macht ... (echte Absicht))

SCHRITT 1: Über tatsächliche und formale Argumente

Argumente werden grob in zwei Typen eingeteilt: formale Argumente und tatsächliche Argumente. Formales Argument: Wird in der Funktion ** Definition ** verwendet. Ein formales Argument, weil es dem tatsächlichen Objekt einen formalen Namen gibt. (Streit) Tatsächliches Argument: Wird in Funktion ** Aufruf ** verwendet. Da es sich um ein tatsächliches Objekt handelt, handelt es sich um ein tatsächliches Argument. (Parameter)


def foo(a):  #Formelles Argument
  a+=1
  return a

print(foo(1)) #Tatsächliches Argument
 >>>2

SCHRITT 2: Eigenschaften formaler Argumente

Eine wichtige Eigenschaft formaler Argumente ist, dass sie für jeden Funktionsaufruf festgelegt werden. Schauen wir uns ein konkretes Beispiel an.


def remove_first(lst):
    lst = lst[1:]
    print(lst)


lst = [1, 2, 3, 4]
print(lst)
remove_first(lst)
 >>> [2, 3, 4]
remove_first(lst)
 >>> [2, 3, 4]

Was ich hier sagen möchte ist, dass die Ergebnisse des ersten und zweiten remove_first (lst) gleich sind. Mit anderen Worten, "das formale Argument beim ersten Aufruf" und "das formale Argument beim zweiten Aufruf" sind Dies bedeutet, dass sogar dieselbe Variable als unterschiedliche Variable behandelt wird.

SCHRITT 3: Art des formalen Arguments

Es gibt fünf Muster für die oben genannten formalen Argumente.

--Position oder Schlüsselwort: sogenannte gewöhnliche Funktionsdefinition

Hier sind vorerst die üblichen Positionen oder Stichwörter.


def foo2(a, b=3):  #a ist ein Positionsargument und b ist ein Schlüsselwortargument
  return a + b
def foo3(a=1, b):  #Fehler (Schlüsselwortargument kann nicht vor Positionsargument gesetzt werden)
  return a + b

print(foo2(1)) #Positionsargument (der Wert von b ist der Standardwert, wenn die Funktion definiert ist)
 >>>4
print(foo2(1,5)) #Positionsargument (a=1,b=5)
 >>>6
print(foo2(1,b=5)) #Positions- und Schlüsselwortargumente
 >>>6
print(foo2(a=1,b=5)) #Schlüsselwortargument
 >>>6
print(foo2(b=2)) #Error
 >>>TypeError
print(foo2(b=3,a=1)) #Ändern Sie die Reihenfolge der Schlüsselwortargumente

Als wichtige Eigenschaft, die von oben gesehen werden kann

SCHRITT 4: Nur Position, nur Schlüsselwort

Als nächstes werde ich nur die oben genannten Schlüsselwörter vorstellen. Erstens nur die Position, ** Beim Definieren einer Funktion kann das Argument vor / nur als Positionsargument aufgerufen werden ** Auf der anderen Seite nur Schlüsselwörter ** Beim Definieren einer Funktion können die Argumente nach * nur mit Schlüsselwortargumenten aufgerufen werden **


def func(a,*,b,c):
    return a + b + c

def func2(a, /):
    return a 

print(func(1,b=2,c=3)) #b führt zu einem Fehler, wenn es nicht mit einem Schlüsselwortargument aufgerufen wird
print(func2(1)) #a führt zu einem Fehler, wenn es nicht mit einem Positionsargument aufgerufen wird

SCHRITT 5: Position mit variabler Länge, Schlüsselwort mit variabler Länge

Erstens ist die Position mit variabler Länge ** ein Argument, das eine beliebige Anzahl von Positionsargumenten empfangen kann **. ** Wenn Sie eine Funktion definieren, fügen Sie * vor dem Argument hinzu, um daraus ein Positionsargument zu machen (bis zu einmal pro Funktion) ** Schlüsselwörter mit variabler Länge sind ** Argumente, die eine beliebige Anzahl von Schlüsselwortargumenten akzeptieren können **. ** Wenn Sie eine Funktion definieren, fügen Sie vor dem Argument \ ** hinzu, um daraus ein Positionsargument zu machen (bis zu einmal pro Funktion) **


def func(*a, **b):
    print(a)
    print(b)

func(1,2,3,b=4,c=5)
 >>> (1, 2, 3)
     {'b': 4, 'c': 5}

Recommended Posts

Über Funktionsargumente (Python)
Python: Über Funktionsargumente
Python-Funktion ①
[Python] -Funktion
Python-Anfänger-Memorandum-Funktion
Über die Aufzählungsfunktion (Python)
Python-Funktion ②
Inklusive Notation im Argument der Python-Funktion
[Python] Funktionsargumente * (Stern) und ** (Doppelstern)
Über Python-Slices
Über die Einschlussnotation von Python
Python-Aufzählungsfunktion
Über Python tqdm.
Über die Python-Ausbeute
Über Python, Klasse
Python> Funktion> Schließen
[Python] Generatorfunktion
Informationen zur Python-Vererbung
Über Python, range ()
Über Python Decorator
Python> Funktion> Innere Funktion
Informationen zur Python-Referenz
Über Python-Dekorateure
[Python] Über Multi-Prozess
Python-Funktionsdekorateur
Über die Argumente der Setup-Funktion von PyCaret
Kombinieren Sie Python-Funktionsargumente zu einer einzigen Variablen
Über Python für Schleife
Registrieren Sie Funktionsargumente automatisch in argparse in Python
Funktionsausführungszeit (Python)
Beispiel für die Verwendung von Python> function> * args als Argument
[Python] Memo über Funktionen
Zusammenfassung über Python3 + OpenCV3
Über Python für ~ (Bereich)
Zusammenfassung der Python-Funktionsargumente
[Python] Memo Über Fehler
Informationen zur Python-Entwicklungsumgebung
Python-Druckfunktion (Fortsetzung)
Informationen zur Entfaltungsfunktion
Python, über die Ausnahmebehandlung
Timefloor-Funktion (Python)
Über Python Pyramid Traversal
Zusammenfassung der Python-Argumente
Über Python3 ... (Ellipsenobjekt)
[Python] Kapitel 01-01 Über Python (Erster Python)
[Python] Informationen zur Standardeingabe
Über __all__ in Python
Führen Sie die Python-Funktion von Powershell aus (wie Sie Argumente übergeben).
[Python] Informieren Sie sich über pip
Informationen zu benutzerdefinierten Django-Filterargumenten
Fabric unterstützt Python 3
Erstellen Sie eine Funktion in Python
Verwenden Sie die Rückruffunktion in Python
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
[Python] Wert des Funktionsobjekts (?)
Über das Python-Modul venv
ntile (Dezil) -Funktion in Python