Typen


... [Seminar "Java und Werkzeuge für das Web] ... [Python 2.2] ... [einfache Ausdrücke] ...

Übersicht: Typen

  • Zahlen
  • Listen
  • Strings
  • Tupel
  • assoziative Arrays
  • Dateien

  • Zahlen

    python
    einfaches Integer
    42, -23, 0
    long Integer
    1234567890L
    Fliesskommazahlen
    12.5, 1e5
    komplexe Zahlen
    7j, 1+1j
    perl
    Skalar
    42
    0.78
    -1
    1e5
    nicht unbegrenzt
    tcl
    Skalar
    42
    0.78
    -1
    1e5
    beschänkt auf int und float

    Listen

    python
    Deklaration
    list = [ 47, 23, 42 ]
    list = [ 'spam', 'eggs', 'ham' ]
    Indizierter Zugriff
    list[2]
    list[-2]
    Slicing
    list[1:]
    list[:1]
    haben eine Ordnung
    sind in-place veränderbar
    list[0] = 'spamspam'
    sind erweiterbar
    list.append('spam')
    perl
    Deklaration
    @a = ("quick", "brown", "fox")
    Indizierter Zugriff
    $a[0]
    sind veränderbar
    $a[1] = "dirty"
    tcl
    Deklaration
    set l [list foo bar]
    set l { foo bar }
    Indizierter Zugriff
    lindex $l 1

    Strings

    python
    Deklaration
    "string"
    'string'
    '''Ich bin Holzfäller
    und mir gehts gut'''
    Raw String
    r'raw stri\ng'
    Indexieren
    "string"[2]
    "string"[-2]
    Länge berechnen
    len("string")
    Slicing
    "string"[0:3]
    Stringformatierte Ausgabe C-artig
    "%s and %s" % ('spam','eggs')
    String-Multiplikation
    "ni " * 5
    perl
    quoting beeinflusst Interpretation
    $x = 7;
    print "x ist $x " . (++$x) . "\n";
    print 'x ist $x $x + 1\n';
    String-Multiplikation
    "foo " x 5
    tcl
    quoting beeinflusst Interpretation
    set x 7
    puts "x ist $x [expr $x + 1]"
    puts {x ist $x [expr $x + 1]}

    Tupel

    python
    Deklaration
    tupel = ('spam', 'eggs', 'ham')
    Indizierter Zugriff
    tupel[2]
    tupel[-2]
    Slicing
    tupel[1:]
    haben also eine Ordnung
    sind immutable
    tupel[0] = 'spamspam'
    tupel[2] = 'spamspam'
    perl nichts entsprechendes
    tcl nichts entsprechendes

    assoziative Arrays

    python
    Dictionaries
    Deklaration
    dict1 = { 1:'a', 2:'b'}
    dict2 = { 'a':1, 'b':2}
    Indizierter Zugriff
    dict1[1]
    dict2['a']
    sind veränderbar
    dict1[1] = 'c'
    sind erweiterbar
    dict2['c'] = 3
    haben keine Ordnung
    also kein Slicing
    perl
    Hashes
    Deklaration
    %hash1 = { 1, 'a', 2, 'b' };
    %hash2 = { 'a' => 1, 'b' => 2};
    Indizierter Zugriff
    $hash1{1};
    $hash2{'a'};
    sind veränderbar
    $hash1{1} = 'c';
    sind erweiterbar
    $hash2{'c'} = 3;
    haben keine Ordnung
    tcl
    Arrays
    Deklaration
    array set array1 { 1 a }
    array set array1 { 2 b }
    array set array2 { a 1 }
    array set array2 { b 2 }
    Indizierter Zugriff
    array get array1 1
    array get array2 b
    sind veränderbar
    array set array1 { 1 c }
    sind erweiterbar
    array set array2 { c 3 }
    haben keine Ordnung

    Dateien

    python
    öffnen
    datei = open('dateiname')
    datei = open('dateiname','r')
    lesen
    s = datei.readline()
    f = datei.readlines()
    schreiben
    datei.write('spam and eggs')
    schliessen
    datei.close()
    perl
    öffnen
    open(DATEI, "dateiname");
    open(DATEI, "< dateiname");
    lesen
    $zeile = <DATEI>;
    @zeilen = <DATEI>;
    schreiben
    print DATEI "spam and eggs";
    schliessen
    close(DATEI);
    tcl
    öffnen
    set datei [open dateiname]
    set datei [open dateiname r]
    lesen
    gets $datei zeile
    schreiben
    puts $datei "spam and eggs"
    schliessen
    close $datei

    ... [Seminar "Java und Werkzeuge für das Web] ... [Python 2.2] ... [einfache Ausdrücke] ...