Derkleine Rabe Socke ist eine Zeichentrick-Kindersendung im deutschen Fernsehen. Im Mittelpunkt stehen der kleine schwarze Rabe mit der Ringelsocke und seine Freunde. Die 52-teilige TV-Serie basiert auf der Buchreihe Kleiner Rabe Socke von Nele Moost und Annet Rudolph, erschienen im Thienemann-Esslinger Verlag in Stuttgart.[1]
Die einzelnen Folgen sind noch sieben Tage nach Ausstrahlung abrufbar. Es gibt in Ausschnitten viele Sprche vom Rabe Socke, Ausmalbilder und Stundenplne fr Socke-Fans. Auerdem gibt es Einblick in die Entstehungsgeschichte und ein Interview mit der Stimme von Rabe Socke, Louis Hofmann. Die Webseite der Serie gehrt zum SWR Kindernetz.
Ich finde ja das englische Wort fr Sequenz schner -> sequence. Was das ist?
Aus dem Englischen ins Deutsche bersetzt bedeutet sequence Aneinanderreihung, Reihe, Folge, Ab(lauf)folge.
Eine sequence ist eine *Sammlung* von Objekten bzw. zu einer Gruppe zusammengefasster Objekte. Diese Objekte einer sequence nennt man auch gerne items.
Jedes Element solch einer sequence wird an einer bestimmten Position gefunden (offset), die wir mit der Positionsnummer, dem Index, schon beim shell-scripting (arrays) kennengelernt haben.
Die Zhlung der Indizes beginnt IMMER bei Null.
Das zweite Element (item) einer bestimmten sequence hat Index-Nummer eins, das dritte Index-Nummer zwei, undsoweiter undsofort.
Wenn Du das letzte item brauchst und es zu lange dauert, bei NULL zu zhlen zu beginnen, kann man auch das letzte Element einer sequence mit -1 ansprechen, das Vorletzte mit -2 etc.
Bei Sequenzen hat mir anfangs folgende Vorstellung zu einem besseren Verstndnis und leichterem Merken verholfen, und ich hoff, es hilft Dir ebenfalls:
Ich stelle mir eine Wscheleine als Sequenz-Objekt eines gewissen Typs (str, list, ...) vor, und ich werde im Anschluss diese Vorstellung etwas strapazieren.
Die Wscheleine ist zunchst noch ein leeres Sequenz-Objekt. Sequenz-Objekt sagt aber schon aus, dass Objekte in einer bestimmten Reihenfolge aufgehngt sein werden, was bedeutet, dass wir Objekte innerhalb eines sequence-Objekts ber deren Position finden.
Objekte (T-Shirts, Socken, Luftballons, Glockenspiel, Fotos, etc) werden an dieser Wscheleine mittels einer Kluppe befestigt und werden so zum Mitglied (member) dieser bestimmten Wscheleine (ich kann ja mehrere Wscheleinen haben, die ich unterschiedlich benenne und wo ich festlegen knnte, dass ich auf Wscheleine A ausschlielich Socken aufhngen darf).
Abfragen wie: blau-gestreifte Socke auf Wscheleine? (also xyz is member?) werden mit True (wahr) oder False (falsch, unwahr), von dem, der die Frage beantworten soll (dem python-Interpreter) beantwortet.
Die uerst linke Wschekluppe ist die erste Kluppe und hat den Index 0, die nchste rechts davon hat Index 1, usw.
Befestige ich nun ein Objekt mittels neuer Kluppe zwischen 0 und 1, dann hat die Kluppe mit dem neuen Objekt Positionsnummer 1, und die Kluppe, die vorher auf Position 1 war, steckt nun auf Position 2. Soll die Socke an Kluppe 1 durch ein T-Shirt ersetzt werden, dann ndert sich an der Anzahl hngender Objekte nichts - es wurde nur Socke aus/von dem Objekt Wscheleine entfernt und durch das Objekt T-Shirt ersetzt.
Die Nummerierung der Kluppen beginnt immer bei 0. Es KANN KEINE Kluppe mit Index 2 geben, wenn es nicht schon Kluppe an erster und zweiter Position (Index 0 und Index 1) gibt. Der Befehl: Hnge schwarze Socke auf Wscheleine an Positionsnummer 28 wrde mit einer Fehlermeldung beantwortet werden, da erst drei items an der Leine hngen, und somit eine fundamentale sequence-Regel gebrochen wurde.
Die Objekte auf der Wscheleine werden ber die Nummer der Kluppe angesprochen. zum Beispiel: Sag mir, welches Objekt ist an der Kluppe 2 befestigt?
Wir werden das so aufschreiben:
print( waescheleine[2] ) (Kluppe Nr. 2 ist die dritte von links, da wir ja bei 0 zu zhlen beginnen!)
Das Wort python, zum Beispiel, knnten wir uns nun so vorstellen, dass die einzelnen Buchstaben an der Wsceleine hngen. p an der Kluppe mit Index 0, y an der 1, t an der 2 usw.. Die Reihenfolge ist hier also ganz wichtig, damit die Buchstabenkette (Zeichenkette oder string) fr uns dann auch einen Sinn ergibt.
Eines ist noch zu sagen. Was, wenn ich etwas ndern mchte? Gemeint ist zur Wscheleine hin, und die blaue Socke an Kluppe 3 durch eine schwarze socke ersetzen.
Das Objekt Wscheleine wird also in place gendert, da es sich ja immer noch um dieselbe Leine handelt, wie zuvor. In diesem Fall war das Sequenz-Objekt muteable, was vernderbar bedeutet.
Im Gegensatz dazu gibt es sequence-Objekte, die immuteable (unvernderbar) sind. Ich kann dann das Objekt nicht in place ndern, sondern es wird ein neues Objekt im RAM gebaut (neues Objekt vom selben Typ, aber neue eindeutige Objekt-Id).
Listen sind, zum Beispiel, ein bestimmter Objekt-Typ, der den fundamentalen Regeln eines Sequenz-Objekts folgt, die vernderbar sind, und Tuple ist ein anderer Objekt-Typ, der unvernderbar (immuteable) ist.
Was du dir merken musst ist, dass du ber den Index auf ein einzelnes Element einer Sequenz zugreifen kannst.
Beispiele aus dem tglichen Leben gegriffen, die eine Sequenz darstellen sind, zum Beispiel, ein Haus mit mehreren Stockserken, oder das Periodensystem, oder die DNA. Kannst dir ruhig ein paar Gedanken darber machen! ;-)
Und hier ein guter comment zu import von Nicholas McGuire:
imports basically just grab the functions and update the namespace, and if necessary the module will do some initialization if called up on the first time. help('import') for a bit more details.
Note that namespace is basically hierarchical and the prime element of this hirarchy is the package - so after importing 'sys' we get the namespace of sys as i.e. sys.getdefaultencoding()
Man kann also die Sonderzeichen im deutschen Alphabet einsetzen und viele andere anderer Sprachen. Aktuell stehen dir mit unicode ca. einhundertTausend verschiedene druckbare Zeichen zur Verfgung. Siehe dazu auch
unicode.org.
Jedem Zeichen sind eine Nummer als vier- oder achtstellige Hexadezimalzahl (16-bit oder 32-bit) und ein Name eindeutig zugeordnet.
Von strings hat man schon gehrt, wenn man mit Computern arbeitet. Manche glauben, dass die -Taste am Keyboard die Abkrzung fr string ist, was falsch ist, denn das keyboard-str steht fr Steuerung.
Was es nun mit diesem sehr wichtigen Objekt-Typ auf sich hat, werden die kommenden Zeilen und Seiten aufzeigen.
Das Kennzeichen von Zeichenketten (eine Kette aus Zeichen) ist, dass sie in Anfhrungsstrichen eingeschlossen sind.
Es wird NICHT zwischen einfachen und doppelten Anfhrungszeichen unterschieden.
string mit einfachen Anfhrungszeichen eingeleitet, muss auch mit einfachen Anfhrungszeichen beendet werden.
Sonderfall:
Die dreifachen Anfhrungszeichen (single oder double)
''' x ''' oder """ x """
schlieen auch Zeichenketten ein. Diese besondere Art setzt Du dann ein, wenn Dein string ein mehrzeiliger ist, und du nicht explizit Zeilenumbrche (\n) im string setzen mchtest - denn das triple-quoting merkt sich die \n (Zeilenumbrche), die sich durch bettigen der -Taste ergeben!
ich brauche das (ausschlielich), wenn ich einen sogenannten docstring verfasse.
docstrings sind man-Texte zu functions, classes, Module.
Ein sehr einfach gehaltenes Programm, das nur dazu dient, die builtin-function eval() kurz vorzustellen.
Ich finde es so praktisch, dass man die *Auswertung* der Eingabe einer builtin-function bergeben kann.
Wir wissen ja schon, dass via input() ein Objekt vom Typ str zurckkommt, welches eval() bergeben bekommt.
eval() nimmt also ein Objekt vom Typ str entgegen. Optional kann man aber auch globals und locals als zweites/drittes Argument dazuangeben.
Der finale Beistrich ist bei der Angabe EINES Objekts im tuple zwingend notwndig, soll ein tuple gebaut werden - bei mehr als einem Objekt ist der finale Beistrich tatschlich optional; wenn Du das genauer berlegst, dann wird dir schnell ein Licht aufgehen; es kommt immer drauf an, auf was Du zeigen lassen willst.
Sonderfall:
nur [:] macht eine 1:1-Kopie im Arbeitsspeicher von einer (muteable) Liste - bei strings oder tuple brauche ich das nicht (wenn ich es verndere, wird sowieso ein neues Objekt gebaut).
Listen erinnern uns an arrays; L[0], L[5], usw. Aufgepasst! Man beginnt bei 0!
Die eckigen Klammern [] sind ihr Markenzeichen und verursachen eine Art Wiedererkennungseffekt in uns.
Listen sind muteable.
was heit das?
Werden Listen verndert (neue Objekte kommen dazu, werden aus der Liste gelscht, oder werden verndert), so passiert das in place (im Hauptspeicheradressbereich des list-Objekts) - die Objekt-id der Liste, die eine nderung erfuhr, hat sich NICHT gendert.
Das geht bei Objekten vom Typ tuple nicht, wie wir noch sehen werden.
tuple und str sind immuteable - Willst das (immuteable) Objekt ndern, dann musst Du ein neues Objekt (aus bestehenden) *bauen*, wobei das bestehende unverndert bleibt.
Die Objekte werden an gewissen Positionen in der Liste angemacht. Stellen wir uns die Liste als Wscheleine vor, dann hngt das erste Objekt an Kluppe 0, und bevor ein Objekt an Kluppe 3 angemacht werden kann, muss ein Objekt an Kluppe 1 und Kluppe 2 hngen.
Um die Reihenfolge des Auffllens brauchen wir uns aber nicht kmmern, denn das macht der Interpreter fr uns.
Und so konntne wir nachsehen, was wieviele Sachen auf der Wscheliene hngen (len(eine_liste), welcher Art die Wscheleine ist (und davon knnen wir ja auch die Regeln ableiten, denen der Objekttyp unterworfen ist) type(eine_liste), und schlislich konnten wir nachsehen, welches objekt an Kluppe 2 (das dritte von links) hngt.
print (eine_liste[2]).
print (eine_liste[-1]) ist sehr praktisch, wenn man sich das Objekt nher ansehen mchte, das am weitesten rechts hngt.
Die beiden 1er in der Liste sind das EINE int-Objekt 1 (1 gibt es als Objekt nur ein Mal im Hauptspeicher, und die id kann das ja beweisen).
Das list-Objekt hat natuerlich auch seine eigene Object-id
3a8082e126