Wenn ich verbal über Methoden spreche, bin ich mir nie sicher, ob ich das Wort Argument oder Parameter oder etwas anderes verwenden soll. So oder so wissen die anderen Leute, was ich meine, aber was ist richtig und wie ist die Geschichte der Begriffe?
Ich bin ein C # -Programmierer, aber ich frage mich auch, ob Leute unterschiedliche Begriffe in verschiedenen Sprachen verwenden.
Ich bin Autodidakt ohne Hintergrund in Informatik. (Bitte sagen Sie mir nicht, dass ich Code Complete lesen soll, da ich dies zum Nutzen anderer Leute bitte, die noch keine Kopie von Steve McConnells wunderbarem Buch haben.)
Zusammenfassung
Der allgemeine Konsens scheint zu sein, dass es in Ordnung ist, diese Begriffe in einer Teamumgebung austauschbar zu verwenden. Außer vielleicht, wenn Sie die genaue Terminologie definieren; dann können Sie auch " formales Argument / Parameter" und " tatsächliches Argument / Parameter" verwenden, um zu unterscheiden.
quelle
Antworten:
Ein Parameter ist eine Variable in einer Methodendefinition. Wenn eine Methode aufgerufen wird, sind die Argumente die Daten, die Sie an die Parameter der Methode übergeben.
quelle
Parameter ist in der Funktionsdeklaration variabel.
Argument ist der tatsächliche Wert dieser Variablen, der an function übergeben wird.
quelle
*args
oderARGV
nicht an eine Methode übergeben wurde*params
:-)*params
wäre der Name einer Variablen, die die Parameternamen enthalten soll (möglicherweise zur Selbstbeobachtung verwendet).*args
deklariert einen Parameter,args
dessen Wert eine Liste (Name und Typ zur Deklarationszeit bekannt) der Argumente ist (deren Nummer nur zur Aufrufzeit bekannt ist).Zu diesem Thema gibt es bereits einen Wikipedia-Eintrag (siehe Parameter ), der die Begriffe Parameter und Argument definiert und unterscheidet . Kurz gesagt, ein Parameter ist Teil der Funktions- / Prozedur- / Methodensignatur und ein Argument ist der tatsächliche Wert, der zur Laufzeit und / oder am Aufrufort für den Parameter angegeben wird.
Der Wikipedia-Artikel besagt auch, dass die beiden Begriffe häufig synonym verwendet werden (insbesondere, wenn informell über Code nachgedacht wird):
Angesichts der folgenden Beispielfunktion in C, die zwei Ganzzahlen hinzufügt
x
undy
als ihre Parameter bezeichnet wird:An einer Anrufstelle
add
, die wie das unten gezeigte Beispiel verwendet wird, werden 123 und 456 als Argumente des Anrufs bezeichnet.Einige Sprachspezifikationen (oder formale Dokumentationen) verwenden ausschließlich Parameter oder Argumente und verwenden stattdessen Adjektive wie formal und actual , um zwischen den beiden Fällen zu unterscheiden. Zum Beispiel, C / C ++ Dokumentation bezieht sich häufig auf Funktionsparameter als formale Argumente und Funktionsaufruf Argumente als tatsächliche Argumente . Ein Beispiel finden Sie unter „ Formale und tatsächliche Argumente “ in der Visual C ++ - Sprachreferenz .
quelle
Einfach:
quelle
Ein Parameter muss beim Aufrufen einer Funktion ausgefüllt werden. Was Sie hineingesteckt haben, ist das Argument.
Einfach setzen: Das Argument geht in den Parameter, ein Argument ist der Wert des Parameters.
Ein bisschen mehr Infos unter: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments
quelle
Parameter ist in der Funktionsdeklaration variabel.
Argument ist der tatsächliche Wert dieser Variablen, der an function übergeben wird.
quelle
MCSD Cerfification Toolkit (Prüfung 70-483) Programmierung in C # , 1. Auflage, Wrox, 2013
Reales Szenario
quelle
Beim Bearbeiten bin ich oft davon abgeschreckt, wie die Leute vergessen: Struktursprachen basieren auf natürlichen Sprachen.
Auf Englisch
Ein "Parameter" ist ein Platzhalter. Sie legen das Antwortformat in gesprochener Sprache fest. Per Definition ist es Teilnehmer des Anrufs, wodurch die Antwort begrenzt wird.
Ein "Argument" ist eine Position, die berücksichtigt wird. Sie argumentieren Ihre Meinung: Sie betrachten ein Argument.
Hauptunterschied
Die thematische Rolle eines Arguments ist Agent. Die thematische Rolle des Parameters ist der Empfänger.
Interaktionen
Stellen Sie sich das Argument als männlichen Teil vor und machen Sie den Parameter zum weiblichen Teil. Das Argument geht in den Parameter.
Verwendungszweck
In Definitionen wird normalerweise ein Parameter verwendet. Ein Argument wird normalerweise in Aufrufen verwendet.
Fragen
Beenden Sie den Satz, um ihn weniger dissonant zu machen.
(A) Apropos Definition:
(B) Apropos Anrufung:
Antworten
(EIN)
(B)
Überlappungen
Wie Sie sich vorstellen können, führen diese Wörter nach der Antwort in der gesprochenen Sprache manchmal zu identischen Antworten!
Also in der Regel:
Wenn jemand Parameterinformationen möchte, möchte er normalerweise mehr über den Typ, den Variablennamen usw. erfahren. Sie können verwirrt werden, wenn Sie nur Beispielargumente angeben.
quelle
Dieses Beispiel könnte helfen.
quelle
Denken Sie immer daran: - Argumente werden übergeben, während Parameter empfangen werden.
quelle
Die Parameter einer Funktion / Methode beschreiben Ihnen die Werte, die sie zur Berechnung ihres Ergebnisses verwendet.
Die Argumente einer Funktion sind die Werte, die diesen Parametern während eines bestimmten Aufrufs der Funktion / Methode zugewiesen wurden.
quelle
Oder es ist noch einfacher, sich so zu erinnern, wenn optionale Argumente für eine Methode vorliegen:
parameter
ist der Parameter, sein Wert,"argument"
ist das Argument :)quelle
Angenommen, Sie sind eine Fluggesellschaft. Sie bauen ein Flugzeug. Sie installieren Sitze darin. Dann füllen Sie das Flugzeug mit Passagieren und schicken es irgendwohin. Die Passagiere (oder besser gesagt eine räumlich-zeitlich veränderte Version davon) steigen aus. Am nächsten Tag verwenden Sie dasselbe Flugzeug und dieselben Sitze wieder, diesmal jedoch mit unterschiedlichen Passagieren.
Das Flugzeug ist Ihre Funktion.
Die Parameter sind die Sitze.
Die Argumente sind die Passagiere, die auf diesen Sitzen sitzen.
quelle
Parameter und Argumente
Quelle: Absolutes C ++, Walter Savitch
Das ist,
quelle
Die Begriffe sind etwas austauschbar. Die in anderen Antworten beschriebene Unterscheidung wird besser ausgedrückt mit den Begriffen formaler Parameter für den Namen, der im Hauptteil der Funktion verwendet wird, und Parameter für den an der Aufrufstelle angegebenen Wert ( formales Argument und Argument sind ebenfalls üblich).
Beachten Sie auch, dass in der Mathematik der Begriff Argument weitaus häufiger vorkommt und Parameter normalerweise etwas ganz anderes bedeuten (obwohl der Parameter in einer parametrischen Gleichung im Wesentlichen das Argument für zwei oder mehr Funktionen ist).
quelle
Ein Argument ist eine Instanziierung eines Parameters.
quelle
Ja! Parameter und Argumente haben unterschiedliche Bedeutungen, die leicht wie folgt erklärt werden können:
Funktionsparameter sind die Namen in der Funktionsdefinition aufgelistet.
Funktionsargumente sind die wirklichen Werte übergeben (und empfangen von) die Funktion.
quelle
Einfache Erklärungen ohne Code
Ein "Parameter" ist eine sehr allgemeine, breite Sache, aber ein "Argument: ist eine sehr spezifische, konkrete Sache. Dies lässt sich am besten anhand alltäglicher Beispiele veranschaulichen:
Beispiel 1: Verkaufsautomaten - Geld ist der Parameter, $ 2.00 ist das Argument
Die meisten Maschinen nehmen eine Eingabe entgegen und geben eine Ausgabe zurück. Zum Beispiel nimmt ein Verkaufsautomat als Eingabe: Geld und gibt als Ausgabe kohlensäurehaltige Getränke zurück. In diesem speziellen Fall akzeptiert es als Parameter: Geld.
Was ist dann das Argument? Wenn ich $ 2,00 in die Maschine stecke, lautet das Argument: $ 2,00 - es ist die sehr spezifische Eingabe, die verwendet wird.
Beispiel 2: Autos - Benzin ist der Parameter
Betrachten wir ein Auto: Sie akzeptieren Benzin (bleifreies Benzin) als Eingabe. Man kann sagen, dass diese Maschinen Parameter vom Typ Benzin akzeptieren . Das Argument wäre der genaue und konkrete Input, den ich in mein Auto gesteckt habe. zB In meinem Fall wäre das Argument: 40 Liter bleifreies Benzin.
Beispiel 3 - Ausarbeitung von Argumenten
Ein Argument ist ein bestimmtes und spezifisches Beispiel für eine Eingabe. Angenommen, meine Maschine nimmt eine Person als Eingabe und verwandelt sie in jemanden, der kein Lügner ist.
Was ist dann ein Argument? Das Argument wird die bestimmte Person sein, die tatsächlich in die Maschine eingesetzt wird. Wenn beispielsweise Colin Powell in die Maschine eingesetzt wird, lautet das Argument Colin Powell.
Der Parameter wäre also eine Person als abstraktes Konzept, aber das Argument wäre immer eine bestimmte Person mit einem bestimmten Namen , die in die Maschine eingegeben wird. Das Argument ist spezifisch und konkret.
Das ist der Unterschied. Einfach.
Verwirrt?
Schreiben Sie einen Kommentar und ich werde die Erklärung korrigieren.
quelle
Oder noch einfacher ...
Argumente in!
Parameter raus!
quelle
Beide haben keinen großen Unterschied in der Verwendung in C, beide Begriffe werden in der Praxis verwendet. Meistens werden Argumente mit Funktionen verwendet. Der mit der Funktionsaufrufanweisung übergebene Wert wird als Argument bezeichnet. Der Parameter ist die Variable, die den Wert in der Funktionsdefinition kopiert (als formaler Parameter bezeichnet).
Im obigen Code sind
num1
undnum2
formale Parameter unda
undb
sind tatsächliche Argumente.quelle
In den Java-Tutorials von Oracle wird diese Unterscheidung folgendermaßen definiert: "Parameter beziehen sich auf die Liste der Variablen in einer Methodendeklaration. Argumente sind die tatsächlichen Werte, die beim Aufrufen der Methode übergeben werden. Wenn Sie eine Methode aufrufen, müssen die verwendeten Argumente mit den Parametern der Deklaration übereinstimmen in Art und Reihenfolge. "
Eine detailliertere Diskussion der Parameter und Argumente: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html
quelle
Logischerweise sprechen wir tatsächlich über dasselbe. Aber ich denke, eine einfache Metapher wäre hilfreich, um dieses Dilemma zu lösen.
Wenn die Metaphern als verschiedene Verbindungspunkte bezeichnet werden können, können wir sie mit Steckpunkten an einer Wand gleichsetzen. In diesem Fall können wir Parameter und Argumente wie folgt betrachten:
Parameter sind die Buchsen des Steckpunkts, die verschiedene Formen annehmen können. Aber nur bestimmte Arten von Steckern passen zu ihnen.
Argumente sind die tatsächlichen Stecker, die in die Steckerpunkte / Buchsen eingesteckt werden, um bestimmte Geräte zu aktivieren.
quelle
Parameter ist eine Variable in einer Funktionsdefinition.
Argument ist ein Wert von Parameter
quelle
Im Allgemeinen werden die Begriffe Parameter und Argument synonym verwendet, um Informationen zu bezeichnen, die an eine Funktion übergeben werden.
Aus Sicht einer Funktion:
quelle
Wenn wir die Methode (Funktion) in Java erstellen, ist die Methode wie folgt ..
data-type name of the method (data-type variable-name)
In der Klammer sind dies die Parameter, und wenn wir die Methode (Funktion) aufrufen, übergeben wir den Wert dieses Parameters, die als Argumente bezeichnet werden.
quelle
Nach Josephs Alabahari-Buch "C # in a Nutshell" (C # 7.0, S. 49):
In einigen menschlichen Sprachen (afaik Italienisch, Russisch) werden häufig Synonyme für diese Begriffe verwendet.
An meiner Universität verwenden Professoren beide Arten von Namen.
quelle
Parameter sind die Variablen, die von einer Funktion empfangen werden. Daher sind sie in der Funktionsdeklaration sichtbar. Sie enthalten den Variablennamen mit ihrem Datentyp. Argumente sind Istwerte, die an eine andere Funktion übergeben werden. Deshalb können wir sie im Funktionsaufruf sehen. Sie sind nur Werte ohne Datentyp
quelle
Die formalen Parameter für eine Funktion sind in der Funktionsdeklaration aufgeführt und werden im Hauptteil der Funktionsdefinition verwendet. Ein formaler Parameter (jeglicher Art) ist eine Art Leerzeichen oder Platzhalter, der beim Aufruf der Funktion mit etwas ausgefüllt wird.
Ein Argument wird zum Ausfüllen eines formalen Parameters verwendet. Wenn Sie einen Funktionsaufruf aufschreiben, werden die Argumente in Klammern nach dem Funktionsnamen aufgeführt. Wenn der Funktionsaufruf ausgeführt wird, werden die Argumente für die formalen Parameter eingefügt.
Die Begriffe Call-by-Value und Call-by-Reference beziehen sich auf den Mechanismus, der beim Einstecken verwendet wird. Bei der Call-by-Value-Methode wird nur der Wert des Arguments verwendet. Bei diesem Call-by-Value-Mechanismus ist der formale Parameter eine lokale Variable, die mit dem Wert des entsprechenden Arguments initialisiert wird. Im Call-by-Reference-Mechanismus ist das Argument eine Variable und die gesamte Variable wird verwendet. Im Call-by-Reference-Mechanismus wird der formale Parameter durch die Argumentvariable ersetzt, sodass jede Änderung, die am formalen Parameter vorgenommen wird, tatsächlich an der Argumentvariablen vorgenommen wird.
quelle
Parameter sind Variablen, die zum Speichern der Daten verwendet werden, die an eine Funktion übergeben werden, die von der Funktion verwendet werden soll. Argumente sind die tatsächlichen Daten, die beim Aufrufen an eine Funktion übergeben werden:
quelle
Ich dachte darüber nach und stellte fest, dass meine vorherige Antwort falsch war. Hier ist eine viel bessere Definition
{ Stellen Sie sich einen Eierkarton vor: Eine Packung Wurst-Links: Und ein Dienstmädchen } Diese stellen Elemente einer Funktion dar, die für die Zubereitung benötigt wird: (Verwenden Sie einen beliebigen Namen: Nehmen wir an, Kochen ist der Name meiner Funktion).
Ein Dienstmädchen ist eine Methode.
(Sie müssen __call_ oder diese Methode bitten , um das Frühstück zuzubereiten ) (Das Zubereiten des Frühstücks ist eine Funktion namens Kochen ) _
Eier und Würstchen sind Parameter:
(weil die Anzahl der Eier und die Anzahl der Würste, die Sie essen möchten, __variable_ ist.) _
Ihre Entscheidung ist ein Argument:
Es repräsentiert den __Wert_ der gewählten Anzahl von Eiern und / oder Würstchen, die Sie kochen ._
{ Mnemonik }
_ "Wenn Sie die Magd anrufen und sie bitten, Frühstück zu machen, __argues_ sie mit Ihnen darüber, wie viele Eier und Würste Sie essen sollten. Sie ist besorgt über Ihr Cholesterin" __
(Argumente sind also die Werte für die Kombination von Parametern, die Sie deklariert und an Ihre Funktion übergeben haben.)
quelle