Docs von Python Libraries

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

Vielleicht bin ich ja von der Java-Api etwas verwöhnt, aber ist das normal, daß die Dokumentation wie dort: http://www.wxpython.org/docs/api/wx.Win ... enToClient
Ich dachte, einer der Grundsätze von Python sei "Better explicit than implicit"? Was ich unklar finde:
- Wie genau beeinflußt der Parameter die Funktion?
- Welche Klasse hat der Parameter genau? Nur mit dem Namen kann man doch nichts anfangen, für mich kann "Point" aus 2 oder mehr Koordinaten, evtl auch noch Dicke und Farbe, bestehen
- Und der Rückgabewert, welche Klasse hat der (gleiche Begründung wie eben)?


Oder sind Klassennamen innerhalb eines Programms einzigartig? In Java zB. ist es durchaus erlaubt, daß zwei verschiedene Klassen "Point" heißen, solange sie in verschiedenen Packages sind.

Wie gesagt komme ich von Java hierher, deswegen schließe ich natürlich nicht aus, daß ich einfach noch anders ticke als Python, und daher meine Probleme stammen ;-)
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Die Funktion nimmt eine Point Instanz entgegen, wandelt sie wie in der Doc beschrieben um, und gibt eine neue Point Instanz zurück.

Code: Alles auswählen

In [1]: import wx
wx
In [2]: wx.Point
Out[2]: <class 'wx._core.Point'>
Die Dokumentation von wxPython soll, nachdem was ich hörte, eher mager sein. Du musst wohl die originale WxWidgets Dokumentation miteinbeziehen und um die Ecke denken.
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

str1442 hat geschrieben:Die Funktion nimmt eine Point Instanz entgegen, wandelt sie wie in der Doc beschrieben um, und gibt eine neue Point Instanz zurück.
Soviel ist klar, aber was ist denn genau ein Point? Muß der quaken und watscheln, oder muß der auch noch fliegen können? :wink:

Trotzdem danke für die Hilfe und den Tip mit wxWidgets, werde mich dort mal umschauen :-)
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Point ist eine der grundlegenden Klassen von wx und unter wx.Point zu finden. Jetzt kannst du doch einfach help(wx.Point) quaken lassen ;)
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Tiefflieger hat geschrieben: Soviel ist klar, aber was ist denn genau ein Point? Muß der quaken und watscheln, oder muß der auch noch fliegen können? :wink:
Steht doch in der Doku zu wx.Point
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Tiefflieger hat geschrieben:
str1442 hat geschrieben:Die Funktion nimmt eine Point Instanz entgegen, wandelt sie wie in der Doc beschrieben um, und gibt eine neue Point Instanz zurück.
Soviel ist klar, aber was ist denn genau ein Point? Muß der quaken und watscheln, oder muß der auch noch fliegen können? :wink:
Etwas was sich wie wx.Point verhält. Es muss höchstwarscheinlich kein wx.Point selbst sein und vermutlich nicht davon erben, aber es muss eben das gleiche Verhalten zeigen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

Leonidas hat geschrieben:
Tiefflieger hat geschrieben:
str1442 hat geschrieben:Die Funktion nimmt eine Point Instanz entgegen, wandelt sie wie in der Doc beschrieben um, und gibt eine neue Point Instanz zurück.
Soviel ist klar, aber was ist denn genau ein Point? Muß der quaken und watscheln, oder muß der auch noch fliegen können? :wink:
Etwas was sich wie wx.Point verhält. Es muss höchstwarscheinlich kein wx.Point selbst sein und vermutlich nicht davon erben, aber es muss eben das gleiche Verhalten zeigen.
Wahrscheinlich doch ... denn die darunter liegende C++-Schicht verlangt klar definierte Typen.

@tiefflieger
Ich weiß nicht, wie du das siehst, aber im Allgemeinen ist ein "Punkt" nichts weiter als eine Liste von Koordinaten innerhalb eines Koordinatensystems. Da ein Bildschirm nicht dreidimensional ist, hat ein wx.Point wohl nur eine X und eine Y-Koordinate. Der Typ ist ja in der Doku angegeben, und was die Doku tut, ist auch gesagt: "Converts from screen to client window coordinates."

Irgendwie verstehe ich nicht, was da unklar sein soll ...
DeJe
User
Beiträge: 39
Registriert: Sonntag 23. November 2008, 19:38

Ihm fehlte halt einfach dies hier. ;)

So ein kleiner 'Punkt' ist halt schnell mal übersehen. :D
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

DeJe hat geschrieben:Ihm fehlte halt einfach dies hier. ;)
Ganz genau :-) 1. Der volle Name der Klasse (also auch in welchem Modul sie liegt) und 2. nett wäre auch noch eine Verlinkung in der Doku.
Es ging mir nicht um diese eine Funktion, sondern eher allgemein darum, die Doku zu verstehen.

Man stelle sich folgende Doku vor:
----------------
GoToWarp(self, shearfactor)
gets you really fast from A to B

Parameters:
shearfactor (type=Factor)

returns:
Hyperfluxcompensation
----------------
Woher soll ich denn da wissen, was die Klassen Factor und Hyperfluxcompensation genau sind? Nur mit dem Namen (also ohne das beinhaltende Modul) kann ich nix anfangen, oder beziehen sich die Klassennamen immer nur auf das eigene Modul?
"Factor" z.B. könnte doch sowohl in meinem (fiktiven) Mathe-Modul, als auch in meinem StarTrek-Modul existieren, oder? Es wären eben zwei vollkommen verschiedene Klassen mit gleichem Namen.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Tiefflieger hat geschrieben:Woher soll ich denn da wissen, was die Klassen Factor und Hyperfluxcompensation genau sind? Nur mit dem Namen (also ohne das beinhaltende Modul) kann ich nix anfangen, oder beziehen sich die Klassennamen immer nur auf das eigene Modul?
„Immer“ bestimmt nicht. Aber wenn nichts dabei steht wird wohl schon das aktuelle Modul gemeint sein. Aber die Doku von wypython ist wirklich nicht besonders toll.
DeJe
User
Beiträge: 39
Registriert: Sonntag 23. November 2008, 19:38

Naja, zur "Ehrenrettung" der wx-Doc muß man aber sagen das es sich um ein GUI-TK handelt. Was soll 'Point' Anderes sein als (x,y)? ;)

Kann ja sein das es mehr und größere Löcher in der wx-Doc gibt, aber Point sollte man selbst als Anfänger mit GUI/wx kennen. Oder anders ausgedrückt, wenn mir unklar ist was 'Factor' oder 'Hyperfluxcompensation' im Modul 'stmbttf' ("""This module implements classes for StarTrek meets Back to the Future""") ist, sollte ich nicht auf Warp gehen. :D
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

wxPython als Aufsatz für wxWidgets (das C/C++[?]) verwendet ist allerdings nun nicht gerade das Paradebeispiel für gute Dokumentation. Ich habe mich auch schon öfter in den wxWidgets-Docs umgesehen, weil auch die Python-Doku mehr oder weniger nur ein Wrapper ist ;)
Tiefflieger
User
Beiträge: 11
Registriert: Freitag 28. November 2008, 18:47

Ok, jetzt ists mir klar, vielen Dank allen Antwortern :-)
Antworten