Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) SO8 OOo2

Python ([ˈpaɪθn̩]) ist eine Programmiersprache für die objektorientierte, aspektorientierte und funktionale Programmierung. OpenOffice.org stellt keinen eigenen Editordialog für Python-Skripte zur Verfügung, es kann aber die Entwicklungsumgebung IDLE benutzt werden, die zum Installationsumfang von Python gehört. Die erstellten Python-Skripte für OpenOffice.org sollten in das Verzeichnis für globale Python-Makros (/share/Scripts/python im InstallationsVerzeichnis) gespeichert werden. Alternativ ist das Speichern im BenutzerVerzeichnis /user/Scripts/python möglich.

Diese Seite bietet eine kurze Übersicht der Sprachelemente von Python-Makros.

1. Quelltext

Der Quelltext ist zeilenorientiert.

Das Zeilenende beendet jede einzelne Anweisung, Ausnahme Zeilenende mit Zeilenfortsetzungszeichen \.

Mehrere Anweisungen innerhalb einer Zeile werden durch Semikolon getrennt.

Anweisungsblöcke von Schleifen, Verzweigungen, Funktionen, etc. sind durch einheitliches Einrücken des Quelltextes von links definiert. Es gibt keine Schlüsselwörter wie begin, end, { oder } für die Begrenzung von Anweisungsblöcken.

2. Reservierte Wörter

Die folgenden Wörter sind reserviert und dürfen nicht für selbstdefinierte Bezeichner verwendet werden:

and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while

3. Kommentare

# Einzeiliger Kommentar

4. Literale

5            Ganze Dezimalzahl
05           Ganze Oktalzahl (Führende Null)
0x5          Ganze Hexadezimalzahl (Führendes 0x)
5L           Lange Ganzzahl (Angehängtes L)
1.2          Gleitkommazahl
1.2 + 3.4j   Komplexe Zahl
"Einzeiliger String"
'Einzeiliger String'
"""Mehrzeiliger String"""
'''Mehrzeiliger String'''

5. Tupel (feste Mengen von Objekten)

Tupelname = (2, 3, "Element4", 5, 6) # Elemente können jede Art von Objekt sein
a = Tupelname[1]    # Zugriff auf das 2. Element der Liste
b = Tupelname[0:2]  # Zugriff mit Teilbereichsoperator

6. Listen (veränderliche Mengen von Objekten)

Listenname = ["Element1", "Element2", "Element3"] # Elemente können jede Art von Objekt sein
a = Listenname[1]   # Zugriff auf das 2. Element der Liste
b = Listenname[0:2] # Zugriff mit Teilbereichsoperator
Listenname.append('Noch ein Element') # Anängen eines Elements.

7. Dictionaries

Dictionaryname = {
"Schlüssel1" : "Element1",
"Schlüssel2" : Element2,   # Elemente können jede Art von Objekt sein
42.23        : "Element3"  # Schlüssel könen auch (Fliesskomma-) Zahlen sein
}
a = Dictionaryname["Schlüssel"]             # Zugriff auf ein Element
Dictionaryname["Schlüssel"] = "Neuer Wert"  # Ein Element verändern

8. Escape-Sequenzen

\      Zeilenfortsetzung
\\     Rückwärtsschrägstrich
\'     Einzelnes Anführungszeichen
\"     Doppeltes Anführungszeichen
\a     Glocke
\b     Rückschritt
\e     Ausmaskieren
\0     Null
\n     Zeilenende
\v     Vertikaler Tabulator
\t     Horizontaler Tabulator
\r     Wagenrücklauf
\f     Seitenvorschub
\0XX   Oktaler Wert
\xXX   Hexadezimaler Wert

9. Operatoren

=      Zuweisung
+      Positives Vorzeichen, Addition, Verkettung
-      Negatives Vorzeichen, Subtraktion
*      Multiplikation
/      Division
//     Quotient der Ganzzahldivision
**     Exponentialbildung
%      Modulo
<<     Bitweises Linksschieben
>>     Bitweises Rechtsschieben
&      Bitweises Und
|      Bitweises Oder
^      Bitweises Xor
~      Bitweise Negation
and    Logisches Und
or     Logisches Oder
not    Logische Negation
[ ]    Zugriff auf Element einer Liste
:      Teilbereichsoperator
in     ist enthalten in
lambda anonyme Funktion

10. Vergleichsoperatoren

<      kleiner als
>      größer als
<=     kleiner oder gleich als
>=     größer oder gleich als
==     gleich
!=     ungleich
<>     ungleich

11. Programmablaufsteuerung

11.1. Verzweigungen

if bedingung1:
    Anweisungen
elif Bedingung2:
    Anweisungen
else:
    Anweisungen

11.2. Kopfgesteuerte Schleifen

while Bedingung:
    Anweisungen
else:
    Anweisungen

11.3. Zählschleife

for Variable in Sequenz:
    Anweisungen
else:
    Anweisungen

12. Ausnahmebehandlung

try:
    Anweisungen
except Fehler:
    Anweisungen
else:
    Anweisungen

13. Funktionen

13.1. Deklaration

def Funktionsname(a, b):
    Anweisungen
    return Ergebnis

13.2. Wichtige Vordefinierte Standardfunktionen

abs(x)

apply(func, args [, keywords])

chr(i)

cmp(x, y)

complex(real [, imag])

delattr(object, attr)

dir([object])

divmod(a, b)

filter(function, list)

float(x)

getattr(object, name)

hasattr(object, name)

hash(obj)

hex(x)

input([prompt])

isinstance(object, classobj)

issubclass(class1, class2)

len(s)

list(s)

long(x)

map(function, list, ...)

max(s [, args, ...])

min(s [, args, ...])

oct(x)

open(filename [, mode [, bufsize]])

ord(c)

pow(x, y [, z])

range([start,] stop [, step])

reduce(func, seq [, initializer])

repr(object)

round(x [, n])

setattr(object, name, value)

slice([start,] stop [, step])

str(object)

tuple(s)

type(object)

vars([object])

xrange([start,] stop [, step])

14. Klassen

14.1. Deklaration

class Klasse:
    Eigenschaft = "Wert"
    def __init__(self, name):
        self.name = name
    def Methode(self, wert):
        self.name = self.name + wert
        return self.name

a = Klasse(5)       # Klasseninstanz erzeugen
b = a.Methode(3)    # Methode aufrufen
c = a.Eigenschaft   # auf Eigenschaft zugreifen

14.2. Spezielle Methoden

__getattr__()  # kann bei Zufriff auf Attribut aufgerufen werden
__del__()      # kann bei Zerstörung der Klasseninstanz aufgerufen werden
__dict__       # Zugriff auf das Dictionary der Klasseninstanz

14.3. Vererbung, Kapselung

class Klasse1(Klasse2, Klasse3): # Vererbung
    def __init__(self):
        self.__X = 3             # Datenkapselung, verstümmelt zu _Klasse1__x

14.4. Klassen importieren

from ... import ...

15. Siehe auch


KategorieMakro KategorieAllgemeines


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28