e-console

Übersicht: Python & Blender


Lernziel

a Mache Dich mit der Konsole und dem interaktiven Python in Blender vertraut.

Handlungsanweisungen

Aufgaben:
  1. Welche Version hat der vom System verwendete Python-Interpreter?
  2. Welche Pfade werden vom Interpreter durchsucht?
  3. Lass dir die Dokumentation zum sys-Modul ausgeben.
  4. Wo liegt der Unterschied zwischen den Methoden »version« und »version_info«
  5. Wo liegt die ausführbare (executable) Datei von Python (in unserem Fall blender)?
  6. Was passiert, wenn ihr die Anweisung import this eingebt. Diskutiert die Ausgaben im Team oder zu zweit!

Interpreter installieren

Für die Arbeit mit Python muss eine Software installiert werden. In unserem Fall ein Python-Interpreter. Auf Linuxsystemen ist das Standard. Für Windows kann das Python-Paket nachinstalliert werden. In diesem Kurs verwenden wir eine besondere Form von Python, weil:

  • wir gleichzeitig mit Python die Ergebnisse in einer 3D-Welt darstellen wollen,
  • alle Teilnehmer mit der gleichen Version arbeiten sollen,
  • betriebssystemspezifische Fragen in den Hintergrund und Python im Zentrum der Betrachtungen stehen soll
  • und auch die 3D-Funktionen (mit Tastatur/Maus) von Blender sollen nur am Rande und so weit wie nötig von Interesse sein, denn es gibt für viele GUI-Funktionen ein Python-Kommando.

Die Software, die in dem Kurs verwendet wird, heißt Blender. Lade dir die aktuelle Version (2015: 2.76) von der Website http://www.blender.org/download herunter.

Beachte die Installations- und Startanleitung auf der Blender-Website!

Konsole finden/starten

/all/label-blender.png

Lade Dir die folgende Blender-Datei herunter:

Download: Blender-Datei mit geöffnetem "Konsole-Fenster"

und öffne sie über den File-Open-Dialog oder einen Doppelklick, wenn die Datei-Endung .blend mit dem Programm Blender verknüpft ist.

Alternativ kannst Du auch direkt auf die Konsole umschalten:

/console/console-start.png

In beiden Fällen erhältst Du folgendes Ergebnis (Fenster):

/console/console.png

Infos zum System

/all/label-python.png

Nach dem Prompt: >>> können Anweisungen/Befehle eingegeben werden. Abgeschlossen wird die Eingabe mit der Enter-Taste. Im Bild wurde der Befehl dir() eingegeben.

Die Ausgabe sieht dann etwa so aus:

/console/dir.png

Man erhält eine Liste mit diversen Namen. Die Liste selbst wird durch die eckigen Klammern begrenzt und enthält durch Kommata separierte Einträge.

Bei allen Namen, die mit zwei »Unterstrichen« beginnen und enden, handelt es sich um vom Python-System definierte Namen. Man sollte keine eigenen Namen mit dieser Notation verwenden.

Das sys-Modul

/all/label-python.png

Programme sind oft recht umfangreich, deshalb werden die Programme für speziellen Aufgaben in separaten Dateien/Modulen verteilt. Auch Python ist Modular aufgebaut, zusätzliche Funktionalität lässt sich so nachträglich und je nach Bedarf hinzufügen bzw. aktivieren. Wie bei einer Raumstation, kann ein neues Modul erst genutzt werden, wenn es an der Raumstation angedockt hat. Der Vorgang des »andockens/ladens« von Modulen, wird mit der import-Anweisung realisiert.

>>>import sys

Nach dem Import des Moduls sys zeigt dir() eine verlängerte Liste:

/console/dir1.png

Welche Funktionen bietet das sys-Modul ? Trage in den Klammern den Namen des Moduls ein, zu dem Du weitere Informationen angezeigt haben willst. Auf diese Art kann man sich einen ersten Überblick zu einem Modul verschaffen.

/console/dir2.png

Eine weiter Möglichkeit neue Module zu ergründen, ist der help-Befehl. Ersetze sys durch help und Du erhälst einen kurzen Hinweis bzw. konkrete Werte.

>>>help(sys)

Ausgaben mit print

/all/label-python.png

Die universelle Ausgabeanweisung ist print (Achtung: ab python 3.0 ist print eine Funktion, d.h. es müssen zwei Runde Klammern verwendet werden). Weil platform im Modul sys definiert ist, wird die Punkt-Notation für den eindeutigen Aufruf benutzt. So wie die Bahnhöfe der Bahn durch Gleise verbunden sind, verbindet der Punkt einzelne Namen zu einem ganz konkreten Pfad. Und schon sind wir mitten in der objektorientierten Programmierung.

/console/platform.png

Handelt es sich bei dem Namen um eine Funktion/Methode, muss ein Klammerpaar an den Namen angehängt werden, um den Rückgabewert zu erhalten. Der erste Aufruf im Bild gibt nur den Funktionsnamen in etwas »seltsamer Verpackung« aus. Die zweite Anweisung hat am Ende ein Klammerpaar und damit erhalten wir die verwendete Zeichencodierung als Rückgabewert.

/console/encoding.png

Alles und noch mehr als Film

Kommentare