Das Hilfesystem von Python
Ein Aufruf von ›help‹ liefert eine kurze Erklärung zu bestimmten Werten oder einem Stichwort, die aber nicht immer genau passend oder verständlich ist. Wir wählen hier einige der verständlicheren Beispiele aus.
Semantik Die Auswertung eines Aufrufs von ›help‹ hat als bewirkte Änderung die Ausgabe eines Informationstextes (der durch das Argumentobjekt bestimmt wird) und als Wert ›None‹.
Informationen zu Stichwörtern
»help« kann uns weitere Informationen über Python s Literale geben.
- Eingabe
help( 'LITERALS' )
Weitere mögliche Stichwörter erscheinen durch Auswertung von »help( 'topics' )«.
Informationen über Funktionen
»help« kann kurze Handbuchseiten zu Funktionen, Klassen und Modulen anzeigen.
- Protokoll
from random import random
help( random )
Help on built-in function random:
random(...) method of random.Random instance
random() -> x in the interval [0, 1).
Da alle im Argumentausdruck vorkommenden Namen definiert sein müssen, war eine from-Importanweisung notwendig.
›help‹ verwendet das Objekt und nicht den Namen
- Protokoll
from random import random
xyz = random
help( xyz )
Help on built-in function random:
random(...) method of random.Random instance
random() -> x in the interval [0, 1).
- Protokoll
from random import random
zufallszahl = random
help( zufallszahl )
Help on built-in function random:
random(...) method of random.Random instance
random() -> x in the interval [0, 1).
Im folgenden Beispiel richtet sich ›help‹ nach der Zeichenfolge »'modules'« und nicht nach dem Namen »x«.
- Protokoll
x = 'modules'
help( x )
Please wait a moment while I gather a list of all available modules...
y = 'modules'
help( y )
Please wait a moment while I gather a list of all available modules...
Informationen über Parameternamen
Ein Parametername ist ein Wort in der Beschreibung eines aufrufbaren Objekts, das am Anfang der Dokumentation des aufrufbaren Objektes hinter dem Namen des aufrufbaren Objekts in runde Klammern geschrieben wird.
Wenn ein aufrufbares Objekt einen Parameternamen hat, wird beim Aufruf jenes Objekts auch ein Argument erwartet.
- Protokoll
from math import floor
help( floor )
Help on built-in function floor in module math:
floor(x, /)
Return the floor of x as an Integral.
This is the largest integer <= x.
Im obigen Protokoll ist der Name »x« in »floor(x, /)« ein Parametername.
Das Komma »,« und den Schrägstrich »/« können wir zunächst ignorieren.
Der Parametername (wie beispielsweise »x«) liefert einen Hinweise auf den erwarteten Typ des Argumentwertes.
Die folgende Tabelle zeigt die vermutlich erwarteten Typen für verschiedene Parameternamen.
- Konventionen (nicht immer zuverlässig)
- »x« oder »y«: eine Gleitkommazahl (Klasse »float«)
- »i«, »j« oder »k«: eine ganze Zahl (Klasse »int«)
- »s«: eine Zeichenfolge (Klasse »str«)
Proklamation und Prosa
Wir geben hier noch einmal eine Dokumentation wieder:
- Dokumentation
floor(x, /)
Return the floor of x as an Integral.
Dokumentation besteht oft aus zwei Teilen: der Proklamation und der Prosa.
Die Proklamation umfaßt oft nur eine Zeile (oder wenige Zeilen) und findet sich am Anfang der Dokumentation. In gedruckten Texten wird sie oft in Schreibmaschinenschrift wiedergegeben (dies ist eine dicktengleiche und serifenbetonte Linearntiqua). Sie gibt die wichtigsten Eigenschaften des Dokumentierten in einer kurzen, formalen Weise wieder.
- Proklamation
floor(x, /)
Die Proklamation »floor(x, /)« besagt, daß der Name »floor« ein aufrufbares Objekt bezeichnet, und jenes aufrufbare Objekt einen Parameternamen »x« hat.
Unter der Proklamation befindet sich die Prosa, welche alle Informationen enthält, die nicht schon der Proklamation entnommen werden können. In gedruckten Texten wird sie oft in normaler Druckschrift wiedergegeben (in einer Proportionalschrift).
- Prosa (übersetzt)
- Ergibt den Boden von x als eine ganze Zahl.
In der Prosa kann der Parametername (hier: »x«) verwendet werden, um sich auf den Wert des Arguments eines möglichen Aufrufs der beschriebenen Funktion zu beziehen.
(Die Begriffe „Proklamation“ und „Prosa“ sind mit den hier angegebenen Bedeutungen nicht allgemein üblich.)
Weitere Informationsquellen
The Python Library Reference Release 3.9.0 ist manchmal deutlicher und noch etwas informativer als »help«.
Dies gilt auch für die offiziellen Dokumentationsseiten, wie beispielsweise »https://docs.python.org/dev/library/math.html#math.floor«.
»help« richtet sich mehr an Fortgeschrittene, denen es als Gedächtnisstütze dient.
Viele Hilfetexte finden sich in der Datei »topics.py«, die zur Python -Distribution gehört. *
Übungsaufgaben
Die folgenden Aufgabe gelten als richtig gelöst, wenn bei der Auswertung der Aufrufe (beziehungsweise Namen) keine Fehlermeldung erscheint. Es ist bei den folgenden Aufgaben nicht nötig, die Bedeutung der aufgerufenen Funktionen (oder der verwendeten Namen) zu verstehen.
/ Übungsaufgabe 0 ⃖
Schreiben Sie eine from-Importanweisung für diejenige Funktion aus dem Modul »math«, deren Dokumentation im folgenden wiedergegeben ist.
Schreiben Sie dann einen Aufruf jener Funktion.
- Dokumentation (frei übersetzt und überarbeitet)
gamma( x, / )
- Ergibt den Wert der Gammafunktion an der Stelle »x«.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 1 ⃖
Schreiben Sie eine from-Importanweisung für diejenige Funktion aus dem Modul »sysconfig«, deren Dokumentation im folgenden wiedergegeben ist.
Schreiben Sie dann einen Aufruf jener Funktion.
- Dokumentation (frei übersetzt und überarbeitet)
get_python_version()
- Ergibt die Versionsbezeichnung der Python -Version der zur Auswertung des Aufrufs verwendeten Python -Implementation in Form einer Zeichenfolge, die aus zwei durch einen Punkt getrennten ganzzahligen Numeralia besteht. Das erste Numerale gibt die Hauptversion an, das zweite die Unterversion.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 2
Finden und lesen Sie die Dokumentation der Funktion »getcwd« aus dem Modul »os« und lassen Sie sich dann den Wert eines Aufrufs jener Funktion ausgeben.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 3
Finden und lesen Sie die Dokumentation der Funktion »unescape« aus dem Modul »html« und lassen Sie sich dann den Wert eines Aufrufs jener Funktion ausgeben.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 4
Geben Sie sich die Dokumentation des Namens »ps1« aus dem Modul »sys« durch und geben Sie dann den Wert dieses Namens aus.
/ Übungsaufgabe 5
Finden und lesen Sie die Dokumentation der Funktion »isfunction« aus dem Modul »inspect« und lassen Sie sich dann den Wert eines Aufrufs jener Funktion ausgeben.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 6
Lesen Sie sich die Dokumentation des Namens »executable« aus dem Modul »sys« durch und geben Sie dann den Wert dieses Namens aus.
/ Übungsaufgabe 7
Finden und lesen Sie die Dokumentation der Funktion »time« aus dem Modul »time« und lassen Sie sich dann den Wert eines Aufrufs jener Funktion ausgeben.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
/ Übungsaufgabe 8
Finden und lesen Sie die Dokumentation der Funktion »copy« aus dem Modul »copy« und lassen Sie sich dann den Wert eines Aufrufs jener Funktion ausgeben.
Diese Aufgabe gilt als richtig gelöst, wenn der geschriebene Aufruf der Funktion von einer Python -Implementation ohne Fehlermeldung ausgewertet werden kann.
Informationen zu Stichwörtern ⃗
»help« kann Informationen zu verschiedenen Stichwörtern liefern. Die Stichwörter müssen dabei als Zeichenfolge übergeben werden, beispielsweise in Apostrophen. Man beachte, daß wir zuvor die Funktion »floor« beim Aufruf von »help« direkt übergeben haben, also ohne Apostrophe.
- Protokoll
help( 'modules' )
Please wait a moment while I gather a list of all available modules...
__future__ _weakrefset hmac selectors
_ast _winapi html setuptools
_asyncio abc http shelve
Das Register der Themen ⃗
»help( 'topics' )« zeigt mögliche Themen an, die beim Aufruf von »help« jeweils als Zeichenfolge übergeben werden können.
- Protokoll
help( 'topics' )
Here is a list of available topics. Enter any topic name to get more help.
ASSERTION DELETION LOOPING SHIFTING
ASSIGNMENT DICTIONARIES MAPPINGMETHODS SLICINGS
ATTRIBUTEMETHODS DICTIONARYLITERALS MAPPINGS SPECIALATTRIBUTES
ATTRIBUTES DYNAMICFEATURES METHODS SPECIALIDENTIFIERS
AUGMENTEDASSIGNMENT ELLIPSIS MODULES SPECIALMETHODS
BASICMETHODS EXCEPTIONS NAMESPACES STRINGMETHODS
BINARY EXECUTION NONE STRINGS
BITWISE EXPRESSIONS NUMBERMETHODS SUBSCRIPTS
BOOLEAN FLOAT NUMBERS TRACEBACKS
CALLABLEMETHODS FORMATTING OBJECTS TRUTHVALUE
CALLS FRAMEOBJECTS OPERATORS TUPLELITERALS
CLASSES FRAMES PACKAGES TUPLES
CODEOBJECTS FUNCTIONS POWER TYPEOBJECTS
COMPARISON IDENTIFIERS PRECEDENCE TYPES
COMPLEX IMPORTING PRIVATENAMES UNARY
CONDITIONAL INTEGER RETURNING UNICODE
CONTEXTMANAGERS LISTLITERALS SCOPING
CONVERSIONS LISTS SEQUENCEMETHODS
DEBUGGING LITERALS SEQUENCES
Eine mögliche Eingabe wäre beispielsweise »help( 'CALLS' )« für Informationen zu Aufrufen oder »help( 'PRECEDENCE' )« für Informationen zur Priorität von Operatoren.
Das Register der Sonderzeichen ⃗
»help( 'symbols' )« zeigt die verfügbaren Stichwörter für Erklärungen zu einigen Zeichenfolgen mit Sonderzeichen an, die als Zeichenfolgen übergeben werden können.
- Protokoll
help( 'symbols' )
Here is a list of the punctuation symbols which Python assigns special meaning
to. Enter any symbol to get more help.
!= *= << ^
" + <<= ^=
""" += <= _
% , <> __
%= - == `
& -= > b"
&= . >= b'
' ... >> j
''' / >>= r"
( // @ r'
) //= J |
* /= [ |=
** : \ ~
**= < ]
Beispielsweise zeigt »help( '"' )« eine Erklärung zum Anführungszeichen »"« an.
Meist entspricht solch ein Aufruf einer Anzeige eines bestimmten Themas, »help( '"' )« erzeugt beispielsweise dieselbe Ausgabe wie »help( 'LITERALS' )«.
Hilfen für Namen ⃗
»help« kann keine Erklärungen zu Namen nicht-aufrufbarer Objekte liefern (wie beispielsweise »pi« aus dem Modul »math«).
Wenn Erklärungen für Namen nicht-aufrufbarer Objekte verlangt werden, so ergeben sich stattdessen Erklärungen des Benannten.
Der Name »__name__« steht beispielsweise für die Zeichenfolge »__main__«.
- Protokoll
__name__
'__main__'
Daher hat »help( __name__ )« dieselbe Bedeutung wie »help( '__main__' )«.
- Protokoll
help( __name__ )
Help on module __main__: …
help( '__main__' )
Help on module __main__: …
Informationen über Schlüsselwörter
Schlüsselwörter der Programmiersprache können nicht direkt als Argumente eines help-Aufrufs verwendet werden, da sie keine Ausdrücke sind.
- Protokoll (übersetzt und gekürzt)
help( import )
Syntax-Fehler
- Protokoll (übersetzt und gekürzt)
help( lambda )
Syntax-Fehler
Informationen über Schlüsselwörter sind aber oft als Informationen zu gleichlautenden Stichwörtern verfügbar.
- Protokoll (übersetzt und gekürzt)
help( 'import' )
The "import" statement …
- Protokoll
help( 'lambda' )
Lambdas …
Das Register der Schlüsselwörter
»help( 'keywords' )« zeigt das Register der Schlüsselwörter an.
- Protokoll
help( 'keywords' )
Here is a list of the Python keywords. Enter any keyword to get more help.
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass
Zu den einzelnen Schlüsselwörtern können dann weitere Informationen abgerufen werden. »help( 'True' )« zeigt beispielsweise eine Information zum Worte »True« an.