|
|
Python - Lexikon A - Z (Teil N - Z) |
|---|
|
|
|
Q |
V |
X |
Y |
P
Paketkonstruktor
py2exe - Modul
U
Unicode
Indizierung als Ansprechmöglichkeit eines mehrteiligen Objektes mit einem Index ist z.B. hilfreich beim Herausholen einzelner Bytes aus einem String
s = 'Pythonquelltext'
print s[3]
'h'
Ebenso kann Zugriff auf eine Liste oder ein Tupel erfolgen. Das erste Element hat die Zählnummer 0 und so weiter. Ist aber der Index negativ, dann zählt es von hinten! Eine sehr nützliche Sache, wobei das letzte Element den Index -1 hat und so weiter nach links. Beispiel:
# die 4 letzten Zeichen vom o.g. String von rechts abgeschnitten
herausholen:
print s[-4:]
'text'
Anmerkung: Der Doppelpunkt bewirkt hier eine Bereichsangabe von Position -4 bis Ende. Dagegen hätte
print s[:-4] die Ausschrift
'Pythonquell'
gebracht, wobei das Zeichen der Position -4 selbst nicht dazugehört!
Objektorientierte Programmierung. In Python werden diese Objekte als Klassen (class) bezeichnet. Hier können für den Anfänger Verwechselungen entstehen, weil in Python Elemente "Objekt" heißen. So sind z.B. Variablen, Funktionen usw. bereits Objekte. Die Klassen haben, wie auch in anderen objektorientierten Programmiersprachen, wesentliche Eigenschaften. Diese sind:
Wenn man mit packages arbeiten möchte, werden die nur als solche erkannt, wenn es eine Datei
__init__.py
im entsprechenden Verzeichnis gibt. Diese ist praktisch der "Paketkonstruktor", wobei diese Datei aber auch leer bleiben kann oder nur globale Paketvariable definiert. Diese Datei muss aber auf jeden Fall vorhanden sein, damit der Paketmechanismus aktiv wird.
Übrigens, wer sein Python - Programm nach Fertigstellung mal an Nichtprogrammierer zur Nutzung weitergeben möchte, hat bestimmt keine Lust, dem Anderen jedesmal die komplette Python - Entwicklungsumgebung mit draufzuspielen. Um dem abzuhelfen, gibt es für Windows das Modus py2exe. Damit kann man eine Handvoll Files erzeugen,die aus dem Hauptprogramm als *.exe - Datei sowie einigen Lib's besteht. Dieses Modul ist hier zu finden: Python Resources.
Rohstring, der ebenfalls eine Zeichenkette wie der traditionelle String darstellt. Jedoch werden die '\' nicht als Steuerzeichen bewertet. Das benötigt man, wenn man reguläre Ausdrücke oder Pfadangaben in Strings legen will.
Beispiel:
>>> print 'c:\autoexec.bat'
bringt (auf einem Windows-Rechner) die Ausgabe:
c:utoexec.bat
weil die Zeichenkombination '\a' nämlich das Signal für einen Glockenton ist, der auch tatsächlich ausgegeben wird. Das Vorhandensein einer Soundkarte vorausgesetzt, lässt ein "going" ertönen. Es ist für unser Beispiel aber ein schlechter Tausch, denn der schöne Ton fordert als Preis, dass unsere Pfadangabe verfälscht wurde. Wer damit nun eine Datei suchen will, erleidet garantiert Schiffbruch! Daher nimmt man dann einen Rohstring:
>>> print r'c:\autoexec.bat'
Wie man sieht, ist dem String das Zeichen r vorangestellt. Nun geht es. Dafür kommt kein "going" mehr. Das zeigt, dass nun der '\' keine Steuerzeichensequenz einleitet, sondern als normales Zeichen interpretiert wird.
Befehl, um aus einer Funktion zurückzukehren. Der Wert nach dem Schlüsselwort return ist der Rückgabewert der Funktion. Ist dieser nicht vorhanden, wird None zurückgegeben. Damit kann also eine Funktion ohne Rückgabewert definiert werden (in Pascal als procedure bezeichnet). Return ohne Rückgabewert kann auch mitten im Text der Funktion stehen, damit im eingetretenen fall die Funktion verlassen wird, ohne dass diedarunterliegenden Befehle noch ausgeführt werden (so wie mit break eine Schleife verlassen wird). Beispiel:
import math
def getLog(x):
if x <= 0:
print "nur positives Argument anwenden!"
return
return math.log(x)
print getLog(-100)
print getLog(123)
Liefert das Ergebnis:
nur positives Argument anwenden!
#
stammt von der Printanweisung der Funktion
None # ist der Rückgabewert des ersten getLog-Aufrufes
4.81218435537
# ist der Rückgabewert des zweiten
getLog-Aufrufes
Die Kommentare sind natürlich nicht Bestandteil des Ergebnisses :-)
Modul, das für einfache Verschlüsselungsaufgaben das Rotieren von Bitmustern unterstützt. Anwendungsbeispiel mit einer einfachen Passwortabfrage findet man hier.
Das, was es eigentlich wörtlich auch heißt - nämlich sowas wie Scheibentechnik. Eine äußerst nützliche Sache, wenn es darum geht, Bereiche aus indizierbaren Objekten zu definieren. Indizierbare Objekte sind Strings, Tupel, Listen und Dictionarys, wobei für letztere das Slicing leider nicht geht, wie sich schnell selbst ausbrobieren läßt. Slicing geschieht folgendermaßen:
s = '12345678'
print s[3:5] # Achtung, die hintere Grenze zählt nicht mit (offenes Intervall)
Antwort: '45'
Das heißt, es wird ein Bereich von .. bis angegeben, der dann
aus dem Objekt ausgeschnitten wird. Um die Sache
noch zu erleichtern, kann man die Bereichsgrenzen weglassen,
wenn der Geltungsbereich vom Anfang oder bis zum Ende des Objektes
reicht. So ist es zulässig folgendes zu schreiben:
print s[:4]
Antwort: '1234'
print s[:]
Antwort: '12345678' # Diese Variante
wird z. B. genutzt, wenn man eine Kopie eines Objektes herstellen will
Interessant ist noch die Möglichkeit der negativen
Indizierung.
Modul, das in pythongerechter Manier den Zugriff auf Tk gestattet. Tk ist Bestandteil von Tcl/Tk, womit man aus der Programmiersprache Tcl graphische Bedienoberflächen gestalten kann. Tk ist z.B. für Linux und für Windows95/98/NT verfügbar. Tkinter kommt ohne Tcl aus. Sofern auf dem jeweiligen Rechner Tk installiert ist, läuft ein Python -Programm, das Tkinter nutzt sowohl auf Linux, als auch auf Windows. Die Python - Programmierumgebung Idle läuft übrigens auch auf der Basis von Tkinter.
Objekt, das eine Aneinanderreihung von anderen Objekten ist in der
Darstellung: (obj1, obj2, obj3, ... ). Das Tupel, einmal gebildet ist
unveränderlich. Die Elemente sind über Index ansprechbar.
Die Objekte können verschiedenartig sein, z.B. in der Art:
(zahl, string, funktion, class, liste ... ) usw. Das Tupel kann in
eine Liste umgewandelt werden, wonach dann die einzelnen Elemente
überschrieben werden können. Tupel werden oft als
Übergabeparameter zu Funktionen verwendet.
Ein Modul, das in der großen Modulsammlung ein Zubehör zu
Python bildet. Das Modul webchecker.py findet man bei den Tools.
Im
Unterverzeichnis "Webchecker" befindet sich neben diesem Modul noch
das Modul wcgui.py, womit es möglich wird, webchecker.py mit einer
grafischen Oberfläche zu bedienen. Dabei basiert wcgui.py auf
Tkinter. Das Programm checkt rekursiv die Links einer vorgegebenen
Webseite ab. Solange die Links auf lokale Seiten der gleichen Page
zeigen, werden auch diese Seiten gecheckt. Zeigen die Links nach
draußen, wird noch geprüft, ob das Ziel vorhanden ist, aber
der Weg dann nicht weiter verfolgt. Das ist auch sehr nötig, damit
unser Progrämmchen nicht versucht, das Internet insgesamt zu
checken. :-)
Mit diesem Tool ist es schnell möglich zu prüfen, ob nicht
Links z.B. auf der eigenen HomePage inzwischen ungültig geworden
sind oder ins Leere zeigen.
Objekte einer graphischen Benutzeroberfläche, die ein definiertes Aussehen und Verhalten haben. So sind zum Beispiel Buttons, Labels oder Menues jeweils andere Widgets