Hallo,
kennt jemand ein gutes Buch für Python Anfänger welches sich vermehrt an OOP orientiert?
Gruß
Python buch OOP
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
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).Sico hat geschrieben: kennt jemand ein gutes Buch für Python Anfänger welches sich vermehrt an OOP orientiert?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
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
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

kotz...
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich weiss gar nicht wo ich anfangen soll, das zu korrigieren ...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
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.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
cofi am besten gibst du jedem neuen hier so eine Antwort,
sowas fördert die Motivation ungemein
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
Mehr sag ich dazu nicht
sowas fördert die Motivation ungemein

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

Mehr sag ich dazu nicht

kotz...
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.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
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.Jean-P. hat geschrieben:cofi am besten gibst du jedem neuen hier so eine Antwort,
sowas fördert die Motivation ungemein
Hat nicht mal jemand ein schön monadiges Haskell-Beispiel zur Hand, um Jean-P. zu zeigen, was funktionale Programmierung wirklich ist? 

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))))))))
- 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:Ergebnis:
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.
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))
Code: Alles auswählen
['jacke', 'pulli']
In specifications, Murphy's Law supersedes Ohm's.
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!