Ich habe eine Funktion mit zwei optionalen Parametern:
%Vor%Irgendwo anders in meinem Code mache ich ein bedingtes Argument wie:
%Vor%Gibt es irgendwie in diesem Muster Code zu vereinfachen?
BEARBEITEN :
Nehmen wir an, ich bin nicht berechtigt die Standardparameterlogik in func
zu implementieren.
Ich könnte mehrere Funktionen haben wie func
: func1
, func2
und func3
würden alle das
Aussagen.
Aber ich rufe diese Reihe von Funktionen auf, um Duplikate zu eliminieren. (mit einem Dekorator)
Standardmäßig verwenden alle Methoden in Python variable Argumente .
Wenn Sie ein Argument in der Signatur der Methode definieren, machen Sie es explizit erforderlich. In Ihrem Snippet geben Sie einen Standardwert ein, der nicht optional ist.
Betrachten Sie Folgendes:
%Vor% In diesem Snippet sind sowohl a
als auch b
erforderlich , da ich keine Standardwerte definiert habe. Sie sind nicht optional .
In Ihrem Snippet sind sie jedoch optional, da Sie ihnen Standardwerte in der Methodensignatur gegeben haben, wie sie aussehen , aber ihnen sind nur Standardwerte zugewiesen.
%Vor%Sie können dies überprüfen, indem Sie die Argumentliste im Hauptteil der Methode überprüfen:
%Vor%Eine Methode, mit der Ihre Funktion beliebige Anzahl von Argumenten akzeptieren kann (mit anderen Worten, sie alle optional machen):
%Vor%Tags und Links python