Anfängerfrage: welche Parameter hat eine Funktion/Methode?

18/09/2009 - 13:51 von michael bode | Report spam
Hi,

ich versuche gerade meine ersten Schritte mit Python und bin auf
folgendes Problem gestoßen: C hat seine Header Files, Ada hat Package
Specifications in denen Funktionsprototypen oder sowas àhnliches stehen,
aus denen auch der Programmierer rausfinden kann, welche Funktionen
ein Modul/Package/was-noch hat und welche Parameter von welchem Typ die
erwarten. Wie kriege ich das bei einem fremden Python Modul raus, wenn
ich keine Doku dazu hab?

Konkreter Fall ist gnomekeyring. Grob kann man sich da an der C-Doku
orientieren, aber ich bin bisher nicht dahinter gekommen, wie ich an die
genauen Angaben zum Python-Binding komme. Noch wie das Python-Binding
überhaupt funktioniert. Sowas wie eine gnomekeyring.py finde ich nicht.
 

Lesen sie die antworten

#1 Thomas Rachel
18/09/2009 - 16:21 | Warnen spam
michael bode schrieb:
Hi,

ich versuche gerade meine ersten Schritte mit Python und bin auf
folgendes Problem gestoßen: C hat seine Header Files, Ada hat Package
Specifications in denen Funktionsprototypen oder sowas àhnliches stehen,
aus denen auch der Programmierer rausfinden kann, welche Funktionen ein
Modul/Package/was-noch hat und welche Parameter von welchem Typ die
erwarten. Wie kriege ich das bei einem fremden Python Modul raus, wenn
ich keine Doku dazu hab?



Das kommt darauf an, wie das Modul geschrieben ist. Ist es ein Modul in
Python (.py,.pyc,.pyo), kannst Du die Hilfe zu Rate ziehen:
help(<modul>) oder help(<modul>.<funktion>). Die zeigt Dir auch, wenn
der Modulersteller keinen docstring hinterlegt hat, zumindest die Anzahl
der Parameter sowie ggf. deren Defaults.

Hast Du hingegen ein C-Modul (.dll, .so), bleibt Dir eigentlich nur die
Hoffnung, daß der Programmierer gescheite docstrings definiert hat oder
sonstwo eine Dokumentation zu finden ist. Ist dies auch nicht der Fall,
bleibt nur der Blick in den Quellcode oder in anderen Code, der das
Modul verwendet.


Konkreter Fall ist gnomekeyring. Grob kann man sich da an der C-Doku
orientieren, aber ich bin bisher nicht dahinter gekommen, wie ich an die
genauen Angaben zum Python-Binding komme. Noch wie das Python-Binding
überhaupt funktioniert. Sowas wie eine gnomekeyring.py finde ich nicht.



Die ist dann wohl ein Fall von Punkt 2 oben...

Debian? Falls ja, lautet die Dateiliste des Paketes so:

/usr/lib/pyshared/python2.5/gtk-2.0/gnomekeyring.so
/usr/share/doc/python-gnomekeyring/changelog.Debian.gz
/usr/share/doc/python-gnomekeyring/changelog.gz
/usr/share/doc/python-gnomekeyring/copyright
/usr/share/doc/python-gnomekeyring/examples/keyring-async.py
/usr/share/doc/python-gnomekeyring/examples/keyring.py
/usr/share/python-support/python-gnomekeyring.public

Was steht denn in den Examples da? (Hab kein Debian; habs nur über
google gefunden)

Grundsàtzlich könnte ein

import gnomekeyring

gefolgt von einem

help(gnomekeyring)

evtl. das eine oder andere zu Tage fördern.

Ansonsten wàre
http://library.gnome.org/misc/relea...ex.html.de Deine
Anlaufstelle.

Wirst Du da auch nicht fündig, wàre das Quellpaket
(http://packages.debian.org/de/sourc...on-desktop)
relevant. Da hülfe dann nur auspacken und nachschauen, wie der C-Teil
aufgebaut ist.


Thomas

Ähnliche fragen