Übersicht der verfügbaren Funktionen in Python

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.
BastiFantasti
User
Beiträge: 7
Registriert: Dienstag 28. Oktober 2008, 11:32

Übersicht der verfügbaren Funktionen in Python

Beitragvon BastiFantasti » Sonntag 2. November 2008, 15:31

Hallo,

ich lerne mich gerade in Python ein und bin auf der Suche nach einer Übersicht der verfügbaren Funktionen. Gibt es ein Programm, dass alle installierten Module/Funktionen durchforstet und dann eine Suchfunktion zur Verfügung stellt?

Gruß

Bastian
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Beitragvon str1442 » Sonntag 2. November 2008, 15:38

docs.python.org
farid
User
Beiträge: 95
Registriert: Mittwoch 8. Oktober 2008, 15:37

Re: Übersicht der verfügbaren Funktionen in Python

Beitragvon farid » Sonntag 2. November 2008, 20:14

Hier ist eine Liste von Builtins (Funktionen bzw. Klassen, die immer zur Verfuegung stehen und nicht extra importiert werden muessen):

Code: Alles auswählen

>>> [ f for f in dir(__builtins__) if 'a' <= f[0] <= 'z' ]
['abs', 'all', 'any', 'apply', 'basestring', 'bool', 'buffer', 'callable',
'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex',
'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate',
'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'frozenset', 'getattr',
'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern',
'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long',
'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property',
'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum',
'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']


Dann kannst Du jeden Eintrag abfragen:

>>> help(zip)
Help on built-in function zip in module __builtin__:

zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]

Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences. The returned list is truncated
in length to the length of the shortest argument sequence.


Natuerlich gibt es auch eine Unmenge von Modulen... Benutze einfach das Programm 'pydoc', das Teil der Python-Installation ist. Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Re: Übersicht der verfügbaren Funktionen in Python

Beitragvon DasIch » Sonntag 2. November 2008, 20:41

farid hat geschrieben:Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.

Das führt bei mir zu einem Segmentation Fault(Python 2.6).

Mit sys.modules bekommt man eine dict mit den Namen aller Module und einer Referenz darauf.
BlackJack

Beitragvon BlackJack » Montag 3. November 2008, 08:15

@DasIch: Dann wird sich wohl irgendein Modul, wahrscheinlich ein C-Modul von einem Drittanbieter, nicht importieren lassen. Oder Du hast einen Bug in Python 2.6 gefunden.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Re: Übersicht der verfügbaren Funktionen in Python

Beitragvon BlackVivi » Montag 3. November 2008, 10:16

DasIch hat geschrieben:
farid hat geschrieben:Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.

Das führt bei mir zu einem Segmentation Fault(Python 2.6).
Bei mir aber auch =/ Sehr komisch. Hab aber auch einige Module installiert, muss ich sagen... Aber ansonsten geht alles.
BastiFantasti
User
Beiträge: 7
Registriert: Dienstag 28. Oktober 2008, 11:32

Re: Übersicht der verfügbaren Funktionen in Python

Beitragvon BastiFantasti » Montag 3. November 2008, 21:46

farid hat geschrieben:Hier ist eine Liste von Builtins (Funktionen bzw. Klassen, die immer zur Verfuegung stehen und nicht extra importiert werden muessen):

Code: Alles auswählen

>>> [ f for f in dir(__builtins__) if 'a' <= f[0] <= 'z' ]
['abs', 'all', 'any', 'apply', 'basestring', 'bool', 'buffer', 'callable',
'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex',
'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate',
'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'frozenset', 'getattr',
'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern',
'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long',
'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property',
'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum',
'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']


Dann kannst Du jeden Eintrag abfragen:

>>> help(zip)
Help on built-in function zip in module __builtin__:

zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]

Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences. The returned list is truncated
in length to the length of the shortest argument sequence.


Natuerlich gibt es auch eine Unmenge von Modulen... Benutze einfach das Programm 'pydoc', das Teil der Python-Installation ist. Oder, innerhalb der Python-Shell einfach 'help()' aufrufen, gefolgt von 'modules' um eine lange Liste lokal installierter Module zu bekommen.



Hallo,

danke für die zahlreichen Tipps. Ich werd mir die genannten Links und Programme mal näher anschauen.

Gruß

Basti
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Montag 3. November 2008, 22:59

BlackJack hat geschrieben:@DasIch: Dann wird sich wohl irgendein Modul, wahrscheinlich ein C-Modul von einem Drittanbieter, nicht importieren lassen. Oder Du hast einen Bug in Python 2.6 gefunden.

Wie finde ich dass am einfachsten raus? Die Ausgabe der Module scheint keine bestimmte Reihenfolge zu haben dafür gibt es eine ganze Menge an DeprecationWarnings.
lunar

Beitragvon lunar » Montag 3. November 2008, 23:35

Alle C-Module sukzessive deinstallieren, bis der Fehler verschwindet?
BlackJack

Beitragvon BlackJack » Montag 3. November 2008, 23:55

Python mit ``strace`` starten ist vielleicht etwas weniger aufwändig. :-)
lunar

Beitragvon lunar » Montag 3. November 2008, 23:58

BlackJack hat geschrieben:Python mit ``strace`` starten ist vielleicht etwas weniger aufwändig. :-)

Allerdings ist diese Komfort den Linux-Nutzern vorbehalten ;)
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Dienstag 4. November 2008, 00:18

Python im Debugger starten und nachsehen wo es knallt?
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
lunar

Beitragvon lunar » Dienstag 4. November 2008, 00:27

Das wird bei externen Modulen nicht funktionieren, da die nicht unbedingt mit Debugging-Informationen übersetzt wurden. Außerdem hat ein Windows-Python-Entwickler nicht notwendigerweise Visual Studio zum Debugging installiert ;)
DasIch
User
Beiträge: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Dienstag 4. November 2008, 16:19

Ich habs mal mit strace ausprobiert, sieht nach einem Bug in Numeric aus.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Dienstag 4. November 2008, 16:34

Solltest Du statt Numeric nicht sowieso besser NumPy verwenden?
MfG
HWK

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]