Python buch OOP

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Sico
User
Beiträge: 6
Registriert: Samstag 4. Februar 2012, 08:59

Hallo,

kennt jemand ein gutes Buch für Python Anfänger welches sich vermehrt an OOP orientiert?

Gruß
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sico hat geschrieben: kennt jemand ein gutes Buch für Python Anfänger welches sich vermehrt an OOP orientiert?
Ich kann mir kaum vorstellen, dass ein Buch für Anfänger einen so speziellen Fokus setzt. Wieso auch? Python muss man schon "komplett" lernen; da gehört OOP dazu. Ich denke wenn man so weit ist, dann kann man sich danach auch noch in Spezialitäten ohne Buch weiterbilden (Metaprogrammierung fiele mir da ein).
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Sico
User
Beiträge: 6
Registriert: Samstag 4. Februar 2012, 08:59

Was haltet Ihr denn von dem Buch Python von Kopf bis Fuss?
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

Wenn dir die anderen Bücher "Einstieg in Python 3" zu schwer fallen dann biste damit gut bedient,
und wenn das noch zu schwer ist, gibt es noch ein Kinder Buch, steht was von Kids drauf,
oder ein Video2Brain.

"Einstieg in Python 3" gehört bestimmt zu den besten,
plan 2-3 Wochen ein dann haste es durch.

Und ein Buch zu OOP brauchst in Python bestimmt nicht,
da Python auf so Sachen wie Public Private usw. verzichtet,
ist fast so easy wie das Funktionale programmieren nur das du was vererben kannst,
solltest das sofort verstehen 8)
kotz...
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Jean-P. hat geschrieben:Und ein Buch zu OOP brauchst in Python bestimmt nicht,
da Python auf so Sachen wie Public Private usw. verzichtet,
ist fast so easy wie das Funktionale programmieren nur das du was vererben kannst,
solltest das sofort verstehen 8)
Ich weiss gar nicht wo ich anfangen soll, das zu korrigieren ...

Wenn Accessmodifier fuer dich der schwierigste Teil von OOP ist, dann laeuft was schief (v.a. da sie kein wichtiger Bestandteil von OOP sind).
Die Syntax von Klassen ist wirklich nicht schwer, das stimmt, aber mit Meta-Klassen, Mehrfachvererbung (und der entsprechenden Methoden-Aufloesung) kann man nicht wirklich davon reden, dass die Semantik "easy" ist.
Dann habe ich da noch das Gefuehl, dass du mit "funktionales Programmieren" etwas anderes im Sinn hast, als der Rest der Welt. Higher-Order Funktionen sind fuer viele erstmal auch nicht einfach und wieder wegen der Semantik, nicht der Syntax.

@OP:
Weigends Objektorientierte Programmierung mit Python wurde hier desoefteren empfohlen, aber das sieht mir etwas alt aus. Das muss nicht viel heissen und koennte (zumindest) die wichtigsten Teile abdecken. Beim Objektmodell hat sich seitdem AFAIR nicht so viel getan.

@Hyperion:
Natuerlich hast du recht, das heisst aber nicht, das man auf OOP nicht den Schwerpunkt legen kann. So speziell finde ich den Fokus da auch nicht, OOP ist nunmal das Herz von Python auch wenn andere Paradigmen gut unterstuetzt werden.
Benutzeravatar
Jean-P.
User
Beiträge: 48
Registriert: Freitag 27. Januar 2012, 14:41
Wohnort: Berlin

cofi am besten gibst du jedem neuen hier so eine Antwort,
sowas fördert die Motivation ungemein 8)

Und wenn du nicht immer schaust wo du was kritisieren kannst hättest du meinen Beitrag schon verstanden,
das willst du aber scheinbar gar nicht :wink:

Mehr sag ich dazu nicht 8)
kotz...
BlackJack

@Jean-P.: Er hat Deinen Beitrag verstanden — darum hat er ihn ja kritisiert.
deets

Jean-P. hat geschrieben: Und ein Buch zu OOP brauchst in Python bestimmt nicht,
da Python auf so Sachen wie Public Private usw. verzichtet,
ist fast so easy wie das Funktionale programmieren nur das du was vererben kannst,
solltest das sofort verstehen 8)
Fuer jemanden, der noch nicht mal eine simple Schleife in Python proper programmiert, lehnst du dich hier ganz schoen aus dem Fenster. Und funktionale Programmierung ist ganz bestimmt nicht dass, was du glaubst das es ist.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Jean-P. hat geschrieben:cofi am besten gibst du jedem neuen hier so eine Antwort,
sowas fördert die Motivation ungemein 8)
Es steht dir völlig frei in Hundehaufen zu treten, aber wenn du das anderen empfiehlst, dann sieht man sich schon mal genötigt einzugreifen.
lunar

Hat nicht mal jemand ein schön monadiges Haskell-Beispiel zur Hand, um Jean-P. zu zeigen, was funktionale Programmierung wirklich ist? ;)
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ach, ein kleines Scheme-Beispiel für Quicksort (aus Wikibooks entnommen) reicht doch auch als Appetitanreger.

Code: Alles auswählen

(define (quicksort list elt<)
  (let qsort ((list list) (tail '()))
    (if (null-list? list)
        tail
        (let ((pivot (car list)))
          (receive (smaller larger)
                   (partition (lambda (x) (elt< x pivot))
                              (cdr list))
            (qsort smaller (cons pivot (qsort larger tail))))))))
Benutzeravatar
pillmuncher
User
Beiträge: 1527
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Hier ein für sich genommen ziemlich sinnloses Beispiel, das aber ein paar Aspekte Funktionaler Programmierung illustriert:

Code: Alles auswählen

import itertools
import functools

def all_failing(predicate): # pointfree
    return functools.partial(itertools.ifilterfalse, predicate)

def keep(*items):
    return all_failing(items.__contains__)

clothes = 'jacke', 'hose', 'pulli'
removed = keep('hose', 'hemd')
print list(removed(clothes))
Ergebnis:

Code: Alles auswählen

['jacke', 'pulli']
Einer dieser Aspekte ist der hier gezeigte Pointfree (oder: Tacit) Programming Style. In der Funktionalen Programmierung trifft man häufig solche Dinge wie den intensiven Gebrauch von Funktionskomposition, Kombinatoren, Higher Order Functions und Rekursion. Referentielle Transparenz wäre ein weiteres zu googlendes Stichwort.
In specifications, Murphy's Law supersedes Ohm's.
Nuby
User
Beiträge: 8
Registriert: Donnerstag 19. Juli 2012, 15:13

Python von Kopf bis Fuss ist ein ziemlich super. Vor allem durch das didaktische System lernt man den Stoff sehr schnell, wenn man am Ball bleibt!
Antworten