operator-keyword

___ answer4773111 ___

Zuerst müssen Sie den Unterschied zwischen %code% und %code% verstehen.

Die Methode %code% eines Objekts ist eine normale Addition: Sie benötigt zwei Parameter, gibt ihre Summe zurück und ändert keinen der Parameter.

Die Methode %code% eines Objekts nimmt auch zwei Parameter, macht aber die Änderung an Ort und Stelle und ändert den Inhalt des ersten Parameters. Da dies eine Objektmutation erfordert, sollten unveränderliche Typen (wie die Standard-Zahlentypen) keine Methode %code% haben.

%code% verwendet %code% . %code% verwendet %code% , wenn es existiert; Ist dies nicht der Fall, emuliert es es über %code% , wie in %code% . %code% und %code% unterscheiden sich auf die gleiche Weise.

Zur anderen Frage: %code% ist nicht äquivalent zu %code% , denn wenn kein %code% existiert, wird stattdessen %code% verwendet. Sie müssen den Wert zuweisen, um sicherzustellen, dass das Ergebnis in beiden Fällen gespeichert wird: %code% .

Sie können das selbst leicht sehen:

%Vor%     
___ tag123function ___ Eine Funktion (auch als Prozedur, Methode, Unterroutine oder Routine bezeichnet) ist ein Teil des Codes, der dazu bestimmt ist, eine einzelne, spezifische Aufgabe auszuführen. Verwenden Sie dieses Tag für Fragen, die speziell das Erstellen oder Aufrufen von Funktionen betreffen. Wenn Sie Hilfe beim Implementieren einer Funktion zum Ausführen einer Task benötigen, verwenden Sie stattdessen [algorithm] oder ein taskspezifisches Tag. ___ qstnhdr ___ Wie unterscheiden sich die Operatorfunktionen von Python von den Standardoperatorfunktionen? ___ answer4772998 ___

Vielleicht, weil einige Python-Objekte unveränderlich sind.

Ich denke, %code% entspricht %code% nur für veränderbare Typen wie Wörterbücher und Listen, aber nicht für unveränderliche Typen wie Zahlen und Zeichenfolgen.

    
___ tag123operatoryeyword ___ In mehreren Sprachen wird das Schlüsselwort operator verwendet, um Methoden zu identifizieren, die beim Überladen von Operatoren verwendet werden. ___ qstntxt ___

Warum ist %code% nicht äquivalent zu %code% ? Und wie unterscheidet sich %code% von %code% ?

Aus den Dokumenten :

  

Viele Operationen haben einen "In-Place"   Ausführung. Die folgenden Funktionen   bieten einen primitiveren Zugang zu   In-Place-Betreiber als die üblichen   Syntax tut; zum Beispiel, die   Anweisung x + = y ist äquivalent zu x =   operator.iadd (x, y). Ein anderer Weg   sagen wir, dass z =   operator.iadd (x, y) ist äquivalent zu   die zusammengesetzte Aussage z = x; z + = y.

In Verbindung stehende Frage , aber ich interessiere mich nicht für Python-Klassenmethoden; nur reguläre Operatoren für integrierte Python-Typen.

    
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___
2
Antworten

Ist es möglich, den Operator ohne %% zu definieren?

In R sind benutzerdefinierte Operatoren erlaubt, aber es scheint, dass nur % % wie Operatoren akzeptiert werden. Ist es möglich, diese Einschränkung zu umgehen, um Operatoren wie zum Beispiel >> oder etwas, das nicht wie % % ist,...
11.07.2014, 12:02
3
Antworten

Reihenfolge der Ausführung im Operator

Ich habe Schwierigkeiten, die Reihenfolge der Aufrufe im folgenden Code zu verstehen. Ich habe erwartet, die Ausgabe unter zu sehen %Vor% Ich kann zwar sehen, dass die Ausgabe, die ich bekomme, ist %Vor% Ich dachte, dass der Aufruf std:...
11.02.2013, 10:11
2
Antworten

? = Operator C ++ größer minus Fragezeichen ist gleich Vorzeichen

Ich habe & lt;? = und & gt;? = in einem Code verwendet: Ссылка Ich habe versucht, ohne die Includes zu kompilieren, um zu testen, ob es Standard ist, aber es hat nicht funktioniert. Ich fügte dann die Includes hinzu, aber es gibt immer noch...
20.04.2013, 23:55
3
Antworten

Priorität der Booleschen Operatoren

Ich würde gerne wissen, ob der Vorrang von Operatoren in Programmiersprachen von der Implementierung abhängt oder ob es eine feste Regel gibt, der alle Sprachen folgen. Und wenn möglich, könnten Sie die folgenden Operatoren mit der höchsten Prio...
19.09.2012, 12:19
1
Antwort

Wie funktioniert die Operatorbindung in diesem Python-Beispiel?

Ich bin kürzlich über diesen Ausdruck gestolpert: %Vor% Es wird in False ausgewertet, aber ich verstehe nicht warum. True == False ist False und False in (False,) ist True , also beide (für mich) plausible Möglichkeiten %Vor...
27.03.2012, 12:08
4
Antworten

isSet () oder operator void * () oder explizite opertor bool () oder etwas anderes?

Was ist der Stand der Technik über Funktionen, um zu überprüfen, ob ein Wert gesetzt ist oder nicht ? Beispielsweise analysiert der folgende Iterator Zellen. Einige Zellen enthalten einen Wert, andere Zellen sind leer. Was ist der bequ...
23.05.2017, 12:32
2
Antworten

C ++ Grundkonzept bezüglich des Rückgabetyps des Referenzoperators

Ich muss ein Grundkonzept klären. Dieser Code funktioniert gut. Kann mir jemand erklären, dass wenn die Funktion calDouble bereits die Adresse (Referenz) von int zurückgibt, warum muss ich & amp; Operator weiter im Haupt int * j = & amp; calDoub...
07.07.2012, 06:29
3
Antworten

Überladen neuer Betreiberprobleme

Ich habe beschlossen, die neuen, neuen [], ... Operatoren in meinen Klassen zu überladen, damit ich die Datei und die Zeile, an der sie aufgerufen wurden, protokollieren kann, um Speicherzuweisungen / -lecks leichter verfolgen zu können. Jetz...
22.07.2011, 10:07
2
Antworten

Wie unterscheiden sich die Operatorfunktionen von Python von den Standardoperatorfunktionen?

Warum ist operator.iadd(x, y) nicht äquivalent zu z = x; z += y ? Und wie unterscheidet sich operator.iadd(x, y) von operator.add(x, y) ? Aus den Dokumenten :    Viele Operationen haben einen "In-Place"   Ausführung. Die fol...
23.01.2011, 08:44