Python: Liste der Operatorne für ein Objekt

OP #4630945
Hallo zusammen,
ich arbeite in der interaktiven Python-Shell gerne mit
1
dir(object)
2
help(object.Methode)

Gibt es sowas Ähnliches auch für Operatoren? Konkretes Beispiel: Kann 
ich irgendwo in der integrierten Hilfe nachlesen, dass "|" bei sets oder 
anderen Datentypen so funktioniert wie es funktioniert?

Gruß
Dennis
OP
Mhh... da steht
1
Help on wrapper_descriptor:
2

3
__or__(...)
4
    x.__or__(y) <==> x|y

Was es BEWIRKT steht da nicht. Schließlich ist | mehrfach belegt... 
Online ist natürlich eine Möglichkeit, aber "alles aus einer Hand" wie 
eben mit den Methoden hat seinen Charme.

Okay, ich hake das ab unter "geht nicht", vielen Dank.

Gruß
Dennis
Gast
Dennis S. schrieb:
> Schließlich ist | mehrfach belegt...

Naja man kann sich natürlich auch künstlich anstellen.
Was soll der Oder-Operator denn schon machen?
Ich bin froh, dass die Standardlib nicht mit so trivialen docstrings 
vollgemüllt wird.
OP
set schrieb:
> Naja man kann sich natürlich auch künstlich anstellen.
Könnte man. Aber dafür ist die Zeit doch viel zu kostbar!

> Was soll der Oder-Operator denn schon machen?
Das ist abhängig vom Datentyp...

> Ich bin froh, dass die Standardlib nicht mit so trivialen docstrings
> vollgemüllt wird.
Hat Dokumentation denn messbare Nachteile? Wer ihn sich nicht anzeigen 
lässt bekommt davon doch nichts mit!?

Gruß
Dennis
Moderator
Der Doc-String für überladene Operatoren scheint für alle
Standardklassen nach dem gleichen Schema aufgebaut zu sein und sagt
lediglich aus, dass die Methode dasselbe tut wie die Anwendung des
entsprechenden Operators. Diese Information ist aber – typunabhängig –
bereits in der Definition des Sprachkerns verankert und damit weitgehend
redundant und nutzlos.

Bei set.__or__ kann man ja noch ahnen, dass es sich dabei um die
Disjunktion handelt, aber wie sieht es mit set.__lt__ aus, d.h. wann ist
eine Menge A kleiner als eine Menge B? Noch schwieriger ist die Funktion
der Methode dict.__lt__ zu erraten, zumal sie in Python 2 und 3
unterschiedlich implementiert ist.

Wenn diese Operatormethoden sowieso einen Doc-String enthalten, könnte
der ja ruhig etwas aussagekräftiger sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.