Einführung in Funktionen in Python

In Python sind die drei Elemente einer Funktion: Funktionsname + Parameter + Rückgabewert

Funktionsname : Der Funktionsname ist die Kennung der Funktion, die zur eindeutigen Identifizierung der Funktion dient. Beim Definieren einer Funktion müssen Sie der Funktion einen Namen für nachfolgende Aufrufe und Referenzen geben. Funktionsnamen sollten Namensregeln folgen, z. B. mit einem Buchstaben oder einem Unterstrich beginnen und aus Buchstaben, Zahlen oder Unterstrichen bestehen. Informationen zur Namenskonvention finden Sie im PEP 8-Stil auf der offiziellen Website. Die Adresse lautet wie folgt:

https://peps.python.org/pep-0008/#function-and-variable-names

Parameter : Parameter sind Variablen in einer Funktionsdefinition, die Eingabewerte empfangen. Eine Funktion kann null oder mehr Parameter akzeptieren, von denen jeder einen eigenen Namen haben kann. Parameter ermöglichen Berechnungen oder Manipulationen innerhalb einer Funktion mithilfe der übergebenen Werte. Beim Aufruf einer Funktion können Sie tatsächliche Parameterwerte an die Funktion übergeben und diese Werte werden den entsprechenden Parametervariablen in der Funktionsdefinition zugewiesen.

Rückgabewert : Der Rückgabewert ist das Ergebnis, das nach Abschluss der Ausführung der Funktion an den Aufrufer zurückgegeben wird. Eine Funktion kann eine Folge von Vorgängen ausführen und die Ergebnisse dann zur weiteren Verarbeitung oder Verwendung an den Aufrufer zurückgeben. In der Funktionsdefinition können Sie die Return-Anweisung verwenden, um den Rückgabewert der Funktion anzugeben. Wenn die Funktion keinen Rückgabewert angibt oder keine Return-Anweisung verwendet, gibt die Funktion standardmäßig None zurück.

Diese drei Elemente bilden zusammen einen vollständigen Funktionsdefinitions- und Aufrufprozess. Der Funktionsname dient zur eindeutigen Identifizierung der Funktion, die Parameter dienen zur Annahme von Eingabewerten und der Rückgabewert dient zur Rückgabe des Ergebnisses an den Aufrufer. Auf diese Weise kann Code gekapselt und organisiert werden, um eine Wiederverwendung und Modularisierung des Codes zu erreichen.

Schauen wir uns als Nächstes einen einfachen Funktionsdefinitionsfall an:

def add(a,b):
    return a + b

Wie aus dem obigen Fall ersichtlich ist, müssen wir beim Definieren einer Funktion das Schlüsselwort def verwenden, um sie zu definieren. return dient dazu, der Funktion add nach dem Funktionsaufruf den Rückgabewert bereitzustellen.

Fügen Sie der Funktion einige Parametertypbeschreibungen und Rückgabewerttypbeschreibungen hinzu:

def add(a: int, b: int) -> int:
    c = a + b
    return c

7bb6c2bd186860a3caf0c34eabad2d05.png

Fügen Sie nach dem Parameter einen Doppelpunkt hinzu und behalten Sie dann den Typ bei. Sie können den Parametertyp deklarieren, den die Funktion empfangen möchte (dies erzwingt jedoch nicht die Überprüfung des Typs beim Aufruf und meldet nicht unbedingt einen Fehler). Übergabe anderer Typen) und fügen Sie nach dem Funktionsnamen ->Type hinzu, um den Typ des Rückgabewerts dieser Funktion zu deklarieren. Die Vorteile dieser Vorgehensweise können die Lesbarkeit des Codes verbessern und einige Fehlererkennungsmechanismen hinzufügen.

Einführung in Funktionsparametertypen

  • Positionsparameter

    Positionsparameter sind Parameter in der Funktionsdefinition, die entsprechend ihrer Position im Funktionsaufruf abgeglichen werden. Beim Aufruf der Funktion werden die Werte der Parameter in der Reihenfolge ihrer Position an die Funktion übergeben.

def add(x, y):
    print(x)
    print(y)
    return x + y


result = add(3, 5)

Im obigen Fall werden die Positionsparameter 3 und 5 an die Funktion add's x und y übergeben, in der Reihenfolge wird 3 der Variablen x und 5 der Variablen y zugewiesen. Dies ist die häufigste Verwendung von Funktionsaufrufen. Merkmale: Weisen Sie beim Definieren der Funktion Werte entsprechend der Reihenfolge der Parameter zu.

  • Schlüsselwortargumente

Schlüsselwortargumente sind Parameter, die an eine Funktion in der Form „Argumentname=Wert“ übergeben werden. Wenn Sie Schlüsselwortparameter verwenden, können Sie Parameterwerte nicht in der Reihenfolge der Parameterdefinition übergeben, sondern anhand des Parameternamens abgleichen.

def add(x, y):
    print(x)
    print(y)
    return x + y
result = add(y=5, x=3)

Hinweis: Beim Aufruf der Funktion müssen die Schlüsselwortparameter den Positionsparametern folgen, andernfalls wird ein Fehler gemeldet.

e507387dba397f99f42583bd9d5898fa.png

  • Standardparameter

Der Standardparameter besteht darin, einen Standardwert für den Parameter anzugeben, wenn die Funktion definiert wird. Wenn der entsprechende Parameterwert beim Aufruf der Funktion nicht angegeben wird, wird der Standardwert verwendet. Standardparameter stehen normalerweise am Ende der Funktionsdefinition.

def add(x, y=0):
    print(x)
    print(y)
    return x + y


result = add(3,5)  
result = add(3)

Wenn im obigen Fall beim Aufruf der Add-Methode nur ein Parameter übergeben wird, z. B. add(3), dann ist der Standardwert von y 0.

  • variabler Parameter

    Mit variablen Parametern kann eine Funktion eine beliebige Anzahl von Parametern akzeptieren. Es gibt zwei Hauptverwendungszwecke für Parameter variabler Länge:

    *args: Wird zum Empfangen einer beliebigen Anzahl von Positionsargumenten verwendet und als Tupel an die Funktion übergeben.

    **kwargs: Wird zum Empfangen einer beliebigen Anzahl von Schlüsselwortargumenten verwendet und als Wörterbuch an die Funktion übergeben.

def print_items(*args):
    print(type(args))
    for item in args:
        print(item)




def print_dict(**kwargs):
    print(type(kwargs))
    for key, value in kwargs.items():
        print(f"{key}: {value}")




print_items(1, 2, 3, 4)  # 位置参数被当做元组处理(1, 2, 3, 4)
print_dict(a=1, b=2)  # 关键字参数被当做字典处理{'a': 1, 'b': 2}

Das Ergebnis der Ausführung des obigen Skripts:

5ba84d0921e38aff75b390e7fa6872e9.png

Schauen wir uns einige andere Verwendungsmöglichkeiten variabler Parameter an:

5fae02e7d4754c72d2c7f980b15f74f1.png

def add(a, b=2, **kwargs):
    print(a, b, kwargs)




add(1)
add(1, 3)
# a进行传参,b使用默认值,进行解包传kwargs
add(1, **{"key": "value"})
# 给a,b进行传参,进行解包传kwargs
add(1, 3, **{"key": "value", "key1": "val", "key2": 'val2'})
# a传参,b使用默认值,进行键值对传kwargs
add(1, name="yy", key="value")
# 给a,b进行传参,进行键值对传kwargs
add(1, 3, name="yy", key="value")
add(6, 3, name="yy", **{"key":"value", "b":6})  # 该行运行报错,已经进行对b参数不能进行重复传参

d9a589a1845151edd2cd3fc39873eecd.png

veranschaulichen:

Wenn Sie einen Wert übergeben, müssen Sie ein Schlüssel-Wert-Paar übergeben. Wenn Sie ein Diktat übergeben möchten, müssen Sie ** voranstellen, was bedeutet, dass alle Schlüsselwerte dieses Diktats an Kwargs übergeben werden als unabhängige Schlüsselwortparameter (umgewandelt in Schlüssel = Wert). Für dict können Sie auch direkt Schlüssel = Wert schreiben. Wenn der Name mit dem Standardparameter übereinstimmt und zuvor kein Wert übergeben wurde, wird er als Standard übergeben Wenn dies der Fall ist, wird ein Fehler direkt gemeldet. Beim Deklarieren der Funktion kann der Standardparameter nicht
platziert werden Nach variablen Parametern

76a60adc720ccccf0aefcdadc5898070.png

Achten Sie auf die offizielle Abrechnung und testen Sie die pünktliche Lieferung der Trockenwaref0db9d59d0d0f4357926006ff6c40040.png

Wundervoller Rückblick auf die Vergangenheit

5ea91c52bcb7bdc0a9cc4fb0b7229f8c.png

Ein Artikel enthüllt für Sie die grundlegende Verwendung von Pytest

Anaconda – eine Open-Source-Python-Distribution

Python-Skript zum Lesen von Consul-Konfigurationsinformationen

Serialisierte Speicherung von Daten mithilfe der Pickle-Bibliothek in Python

Wenig Python-Kenntnisse – wie legt man den erwarteten Parametertyp für die Funktionsparameterübergabe fest?

Teilen von Problemen, die beim Parsen von XML in Python auftreten (im Zusammenhang mit dem Namespace)

Teilen Sie die jüngste Ernte der Nutzung von Python-Wörterbuchwerten

So ermitteln Sie, ob eine Zeichenfolge ein Element in einer Liste in Python enthält

Einführung in die Methode „extend()“ von Listen in Python

Einführung in Duck Typing und Polymorphismus in Python

Einführung in abstrakte Basisklassen in Python

Der Unterschied zwischen Typ und Instanz in Python

Einführung in __mro__, __dict__ und dir in Pythons Klassenattributen, Mehrfachvererbung und Selbstbeobachtungsmechanismen

Der Unterschied und die Verbindung zwischen __new__ und __init__ in Python

62fe25ce739914016b2dec5957f3d56f.png

Im Jahr 618 begann die IT-BUCH-Aktivität der Nachrichtenagentur Tsinghua! Die Aktivitätszeit ist vom 7. bis 18. Juni 2023. Tsinghua News wählt für Sie eine Vielzahl von Büchern mit hoher Punktzahl aus, die C++, Java, Python, Front-End, Back-End, Datenbank, Algorithmus und maschinelles Lernen usw. abdecken . Der Bereich IT-Entwicklung ist für Leser unterschiedlicher Niveaus geeignet. 50 % Rabatt auf die gesamte Website, noch mehr Rabatte durch Scannen des QR-Codes, um Gutscheine zu erhalten! Kommen Sie nach Jingdong und klicken Sie auf den Link ( https://pro.m.jd.com/mall/active/3Rho97HkMaGFycLzAWfFdvZdyvRn/index.html ) IT-BUCH (oder scannen Sie den Jingdong-QR-Code), um Details anzuzeigen!

 

Ich denke du magst

Origin blog.csdn.net/liboshi123/article/details/131098936
Empfohlen
Rangfolge