Verlauf

Programmierworkshop/Python/termine/2012-10-27

Python

Haus Gallus, Vereinsraum 2

27. Oktober 2012

Python Grundlagen II

  • Kurze Wiederholung des 1. Workshops
  • Funktionen, Module und Packages
    • Funktionsargumente
    • Dekoratoren
  • OOP in Python
    • Basic Coding von Klassen in Python
    • Vererbung
    • Operatorenüberladung
    • Properties
    • Static attributes und Klassenmethoden
    • Metaklassen
    • Einige Bastelbeispiele

Praxisübungen

Parallel dazu regelmäßig kleinere Übungen

Ausblick

Im 3. Workshop wird es dann primär um Funktionale Programmierung in Python gehen


Programmierworkshop/Python/termine/2012-10-27/verlauf


Material

Programmierworkshop/Python/termine/2012-10-27

Python

Haus Gallus, Vereinsraum 2

27. Oktober 2012

Python Grundlagen 2

Addendum zu Fragen die im Workshop aufkamen

  • Wie importiert man mehrere Module gleichzeitig aus einem Package?

Man kann in __init__.py eine Liste __all__ anlegen, die alle Module angibt, die bei from <package> import *  mit importiert werden.

http://docs.python.org/2/tutorial/modules.html#importing-from-a-package

  • Wann genau wird __radd__ aufgerufen?

Nach der Python-Dokumentation wird __radd__ (und alle anderen arithmetischen right-side Operatoren) nur dann aufgerufen, falls das Objekt auf der linken Seite die jeweilige Operation nicht unterstützt, und beide Objekte von unterschiedlichem Typ sind.

Beispiel:

   1 # x has __add__ method
   2 # y has __add__ and __radd__ method
   3 # z has neither
   4 
   5 a = x + y       # x.__add__(y) is called
   6 b = z + y       # y.__radd__(z) is called
   7 c = x + z       # x.__add__(z) is called
   8 d = y + z       # y.__add__(z) is called
   9 e = z + x       # TypeError: unsupported operand type(s) for +

http://docs.python.org/2/reference/datamodel.html?highlight=__radd__#object.__radd__

Programmierworkshop/Python/termine/2012-10-27/material


lugfrankfurt: Programmierworkshop/Python/termine/2012-10-27 (zuletzt geändert am 2012-10-28 17:44:55 durch SteffenBauer)