Hi community!
Google books hat mich nicht weitergebracht,deshalb frage ich euch:
Ich suche ein Buch über die Programmiersprache Python für den Webeinsatz,das eine möglichst aktuelle Version behandelt (2.5 oder 2.6).
Die Themen xml in python,multithreading,Objektorientierung und eine Datenbank (am besten MySQL(aufgrund der Verbreitung)) sollten auch behandelt werden.
Es soll sich an python Einsteiger richten.
mfG
Suche Buch über Python und SQL
HI!
Willkommen im Forum!
Bin zwar auch noch nicht so erfahren, jedoch habe ich so gehört von verschiedenen "Bücherdiskussionen" hier im Forum, dass die meisten
Python Bücher nicht so das Wahre sind. Lieber ein paar anständige
(deutsche?) Dokumentionen / Tutorials im Internet durcharbeiten.
Hoffe dich nicht verschreckt zu haben,
MfG Jonas
Willkommen im Forum!
Bin zwar auch noch nicht so erfahren, jedoch habe ich so gehört von verschiedenen "Bücherdiskussionen" hier im Forum, dass die meisten
Python Bücher nicht so das Wahre sind. Lieber ein paar anständige
(deutsche?) Dokumentionen / Tutorials im Internet durcharbeiten.
Hoffe dich nicht verschreckt zu haben,
MfG Jonas
Es gibt nich die Lösung, es gibt zig Lösungen.
Jetzt könnte dir jeder seine Lieblingslösung nennen und ein paar Dokus dazu und vielleicht schaffts der Thread auch noch zum Flamewar oder du sagst etwas detailierter was du machen willst, was deine Anforderungen sind und du bekommst brauchbarere Antworten.
Jetzt könnte dir jeder seine Lieblingslösung nennen und ein paar Dokus dazu und vielleicht schaffts der Thread auch noch zum Flamewar oder du sagst etwas detailierter was du machen willst, was deine Anforderungen sind und du bekommst brauchbarere Antworten.
Wenn du nichts gegen Englisch hast, kann ich dir "Core Python Programming" empfehlen. Die von dir genannten Themen werden alle behandelt. Was ich besonders gut finde, sind die Vergleiche. Es wird z.B. ein Dialog mit 4 verschiedenen Toolkits verglichen. An Datenbanken wird man auch reichlich bedient:
Und hier noch eine Buchkritik, die gleich am Anfang des Buches zu finden ist:
- MySQL, SQLite, PostgreSQL
- eine Datenbankanwendung, die einmal SQL-Alchemy und ein anderes Mal SQLObject benutzt
Und hier noch eine Buchkritik, die gleich am Anfang des Buches zu finden ist:
@DasIch: uups, zu spät hab deinen Post vorm Schreiben noch nicht gelesen.David Mertz, Ph.D., IBM Developer Works® hat geschrieben: [...] I think this is the best book currently available for learning Python. I would recommend Chun's book over Learning Python (O'Reilly), Programming Python (O'Reilly) or The Quick Python Book (Manning).
Zuletzt geändert von derdon am Sonntag 23. November 2008, 19:16, insgesamt 2-mal geändert.
@ dasich
Wie meinst du das?
Ich habe doch geschrieben,was in dem Buch enthalten sein soll.
Oder möchtest du wissen,welche Erfahrungeb ich habe?Ich kann etwas php und c,SQL kann ich gar nicht.
mfG
edit @ vorposter:Ich bin erst zwölf Jahre alt,die drei Jahre Schulenglisch reichen glaube ich noch nicht.
Wie meinst du das?
Ich habe doch geschrieben,was in dem Buch enthalten sein soll.
Oder möchtest du wissen,welche Erfahrungeb ich habe?Ich kann etwas php und c,SQL kann ich gar nicht.
mfG
edit @ vorposter:Ich bin erst zwölf Jahre alt,die drei Jahre Schulenglisch reichen glaube ich noch nicht.
Frameworks:
Template Sprachen:
ORMs:
Das sind die die mir spontan eingefallen sind und jeder hier könnte dir jetzt eine Kombination dieser librarys vorschlagen und du wüsstest danach genauso viel wie vorher. Such einfach mal nach Python Frameworks, spiel mit jedem rum schau dir an was dir am besten gefällt und frag dann wenn nötig nach einem Buch/Doku/Tut dafür.
Allerdings solltest du dich zuallerst damit anfreunden deine Englisch Kenntnisse ernsthaft nutzen zu müssen.
Allerdings solltest du dich zuallerst damit anfreunden deine Englisch Kenntnisse ernsthaft nutzen zu müssen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo cajus, willkommen im Forum,
Wenn du unbedingt Web-Sachen machen willst (wovon ich um ehrlich zu sein als erstes Projekt abreaten würde, denn es ist sehr, sehr unfassend) dann solltest du dir ein Web-Framework zulegen, für den Anfang wohl am besten Django und dort deine Sachen zu implementieren versuchen. Wenn es dir dann an einigen Stellen an Wissen fehlt, dann liest/lernst das eben nach. Alles von Anfang an zu lernen ist ein großer Zeitaufwand und mangels sofort sichtbarer Resultate oftmals eher frustrierend. Ich weiß wovon ich spreche.
SQL brauchst du gar nicht, weil man in Python sowieso eher ORMs verwendet, das was du aus PHP weißt vergisst du am besten wieder. Lediglich die C-Kenntnisse könnten in irgendwieweit nützlich seincajus hat geschrieben:Oder möchtest du wissen,welche Erfahrungeb ich habe?Ich kann etwas php und c,SQL kann ich gar nicht.
Quatsch. Wenn man sich nichts vornimmt, dann lernt man nichts. Gerade im Bereich der Programmierung ist Englisch viel wichtiger als jede Programmiersprache die du lernen kannst. Und Computer-Dokumentation ist in Englisch auch nur halb so wild, denn viele dir bereits bekannte Begriffe sind sowieso Englisch, noch dazu sind das Sachbücher und keine Belletristik, wo man die Feinheiten des Wortwitzes erst mit zunehmender Sprachkenntnis zu schätzen weiß. Ich habe viel Englisch eben durch das Lesen von Englischer Dokumentation gelernt und mit 12 Jahren geht das sicher viel einfacher als zu irgendeinemspäteren Zeitpunkt.cajus hat geschrieben:edit @ vorposter:Ich bin erst zwölf Jahre alt,die drei Jahre Schulenglisch reichen glaube ich noch nicht.
Wenn du unbedingt Web-Sachen machen willst (wovon ich um ehrlich zu sein als erstes Projekt abreaten würde, denn es ist sehr, sehr unfassend) dann solltest du dir ein Web-Framework zulegen, für den Anfang wohl am besten Django und dort deine Sachen zu implementieren versuchen. Wenn es dir dann an einigen Stellen an Wissen fehlt, dann liest/lernst das eben nach. Alles von Anfang an zu lernen ist ein großer Zeitaufwand und mangels sofort sichtbarer Resultate oftmals eher frustrierend. Ich weiß wovon ich spreche.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Leonidas!Leonidas hat geschrieben:SQL brauchst du gar nicht, weil man in Python sowieso eher ORMs verwendet
Ich bin anderer Meinung. SQL ist in meinen Augen einfacher und kontrollierbarer als der Umgang mit ORMs. ORMs verlieren, meiner Meinung nach, an Nutzbarkeit sobald die Anforderungen komplexer werden. Ich lese gerade wieder ein Buch, in dem etwas auf die Unterschiede zwischen drei ORMs eingegangen wird. Es wird erklärt, wir man einen Foto-Blog mit einem ORM programmieren kann. Es vergeht keine Stunde, ohne dass ich mir denke, dass man die Aufgabe mit reinem SQL schöner und ressourcenschonender (schneller) programmieren hätte können. Und so geht es mir immer öfter, wenn ich Code durchlese, der SQLAlchemy, SQLObject oder Dejavu einsetzt. Die anderen ORMs kenne ich nicht. Bei SQLObjekt fällt mir auf, dass z.B. versucht wird, SQL nachzubilden. Da frage ich mich aber, warum auf das mächtige SQL verzichten, wenn versucht wird, es krampfhaft nachzubilden. Nur damit man ohne große Umstellung verschiedene Datenbanksysteme verwenden kann? Das muss ich nicht verstehen, oder?
SQL ist so einfach, dass es von jedem schnell erlernt werden kann. Weiters gibt es hunderte Tools, mit denen man maßgeschneiderte SQL-Anweisungen/-Abfragen erstellt, die man direkt in sein Python-Programm integrieren kann. Per Mausklick, sozusagen. So etwas gibt es für ORMs nicht.
Bevor ich mich da zu sehr reinsteigere (so tragisch ist das Thema nun doch wieder nicht), lasse ich es und wünsche allen eine gute Nacht.
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Zufällig habe ich kürzlich bei Thalia in der Technikecke gestöbert und dabei "Web Applications with Python" gefunden und überrascht näher angesehen. Dort wird aber primär TurboGears behandelt, das IMHO definitiv keine gute Basis für die Zukunft (von wem oder was auch immer) [mehr] ist.
Als Einsteiger rate ich dir auch zum aktuellen und populären Komplettpaket Django. Dennoch verbirgt sich dahinter weit mehr, als du dir vorstellen kannst: Datenbanken, Modellierung, Template Engines, URL-Routing, HTTP, XHTML, CSS, JavaScript, AJAX plus die Pakete, die dieses umsetzen, sind *sehr* viele, teilweise *sehr* umfangreiche Bereiche. Ein einfacher, kombinierter Startpunkt ist gut, aber das ist nur der Anfang.
gerold: Ich habe viele Jahre mit SQL gearbeitet und nutze es heute noch, um sowohl während der Entwicklung als auch im Produktionsbetrieb Daten in meinen Tabellen herumzuschubsen. Für meine Anwendungen selbst bin ich nach durchwachsenen Erfahrungen mit SQLObject allerdings von SQLAlchemy und seinem Query-Ansatz* schwer begeistert.
Dass ich mit einem ORM nur eine Sprache, Python, konsequent verwenden kann, gefällt mir sehr gut. SQL in Stringform einzubringen, wie es z. B. in der PHP-Welt noch an der Tagesordnung sein dürfte (wo allerdings auch fleißig andere Dinge wie PHP-Code und HTML gemischt werden) hat mich schon immer gestört. Das geht aber nur mit einem wirklich guten ORM, zugegeben. Ebenso empfinde ich meine SQL-Kenntnisse als sehr hilfreich und wichtig, um zu verstehen, was vor sich geht, was es zu erreichen gilt und wie man optimieren kann. Mit SQLAlchemy bin ich in der Lage, effiziente, kombinierte SQL-Queries in schönem Python in sehr kurzer Zeit zu erzeugen.
Der absolute Killerpunkt für mich ist jedoch der, dass SQL nur Tupel (oder, wenn man mit DB-Adapter-spezifischen Cursorn arbeitet, immerhin Dictionaries) ausspuckt, die Zahlen und Strings enthalten. Ein ORM macht es mir möglich, direkt mit Klasseninstanzen zu arbeiten und komfortabel mit Datumsobjekten, Kindobjekten, Adjazenzlisten und mehr zu hantieren. Bis dahin sehe ich ein, dass SQL mehr oder weniger genau so gut funktioniert, aber genau der Übergang in die Welt der Python-Objekte und deren Relation ist der Punkt, an dem SQL zurück bleibt und es umständlich wird.
Davon ab gefällt mir die Möglichkeit, das Schema im Code - gemeinsam mit zusätzlichen Properties und Methoden - zu definieren, um daraus das Schema generieren zu können; egal ob ich das gerade für MySQL oder PostgreSQL oder SQLite einsetzen möchte (und sei es nur für Unittests).
Weder werfe ich dir vor, dass du bei SQL bleibst, noch will ich dich konvertieren. Es geht aber auch anders, wenn man vernünftige Mittel hat - ich denke, du wärst zumindest angenehm überrascht.
*) Die Präsentation Ingredients for Building a DSL in Python (Episode I) geht sehr schön darauf ein, wie SQLAlchemy mit generativen Queries (War das der Ausdruck?) eine DSL bildet, ähnlich wie das was jQuery + Co. machen, um hier SQL sehr ähnliche Abfragen zu gestalten.
Als Einsteiger rate ich dir auch zum aktuellen und populären Komplettpaket Django. Dennoch verbirgt sich dahinter weit mehr, als du dir vorstellen kannst: Datenbanken, Modellierung, Template Engines, URL-Routing, HTTP, XHTML, CSS, JavaScript, AJAX plus die Pakete, die dieses umsetzen, sind *sehr* viele, teilweise *sehr* umfangreiche Bereiche. Ein einfacher, kombinierter Startpunkt ist gut, aber das ist nur der Anfang.
gerold: Ich habe viele Jahre mit SQL gearbeitet und nutze es heute noch, um sowohl während der Entwicklung als auch im Produktionsbetrieb Daten in meinen Tabellen herumzuschubsen. Für meine Anwendungen selbst bin ich nach durchwachsenen Erfahrungen mit SQLObject allerdings von SQLAlchemy und seinem Query-Ansatz* schwer begeistert.
Dass ich mit einem ORM nur eine Sprache, Python, konsequent verwenden kann, gefällt mir sehr gut. SQL in Stringform einzubringen, wie es z. B. in der PHP-Welt noch an der Tagesordnung sein dürfte (wo allerdings auch fleißig andere Dinge wie PHP-Code und HTML gemischt werden) hat mich schon immer gestört. Das geht aber nur mit einem wirklich guten ORM, zugegeben. Ebenso empfinde ich meine SQL-Kenntnisse als sehr hilfreich und wichtig, um zu verstehen, was vor sich geht, was es zu erreichen gilt und wie man optimieren kann. Mit SQLAlchemy bin ich in der Lage, effiziente, kombinierte SQL-Queries in schönem Python in sehr kurzer Zeit zu erzeugen.
Der absolute Killerpunkt für mich ist jedoch der, dass SQL nur Tupel (oder, wenn man mit DB-Adapter-spezifischen Cursorn arbeitet, immerhin Dictionaries) ausspuckt, die Zahlen und Strings enthalten. Ein ORM macht es mir möglich, direkt mit Klasseninstanzen zu arbeiten und komfortabel mit Datumsobjekten, Kindobjekten, Adjazenzlisten und mehr zu hantieren. Bis dahin sehe ich ein, dass SQL mehr oder weniger genau so gut funktioniert, aber genau der Übergang in die Welt der Python-Objekte und deren Relation ist der Punkt, an dem SQL zurück bleibt und es umständlich wird.
Davon ab gefällt mir die Möglichkeit, das Schema im Code - gemeinsam mit zusätzlichen Properties und Methoden - zu definieren, um daraus das Schema generieren zu können; egal ob ich das gerade für MySQL oder PostgreSQL oder SQLite einsetzen möchte (und sei es nur für Unittests).
Weder werfe ich dir vor, dass du bei SQL bleibst, noch will ich dich konvertieren. Es geht aber auch anders, wenn man vernünftige Mittel hat - ich denke, du wärst zumindest angenehm überrascht.
*) Die Präsentation Ingredients for Building a DSL in Python (Episode I) geht sehr schön darauf ein, wie SQLAlchemy mit generativen Queries (War das der Ausdruck?) eine DSL bildet, ähnlich wie das was jQuery + Co. machen, um hier SQL sehr ähnliche Abfragen zu gestalten.
Hat jemand mit diesem Buch Erffahrung?http://www.amazon.de/gp/product/3836211106/
Ich möchte erst einmal Python ohne Framework lernen und kleine Programme erstellen.
Weiß jemand über welche Version das Buch handelt (ich hoffe ich war nicht zu blöd und habe es übersehen)?
Ich möchte erst einmal Python ohne Framework lernen und kleine Programme erstellen.
Weiß jemand über welche Version das Buch handelt (ich hoffe ich war nicht zu blöd und habe es übersehen)?
@gerold: Deine Argumente SQL oder ORM klingen so ein bisschen nach C vs. Python. Die Resourcen, die "verschwendet" werden, gibt man für eine einfacherere API aus, die einem Arbeit abnimmt. Dafür hat man nicht mehr die volle Kontrolle.
Wobei ich SQL auch nicht unbendingt als leicht bezeichnen würde. Das ist so ähnlich wie bei Python -- ``print`` ist einfach, `itertools` braucht 'ne Weile bis man's beherrscht. So ähnlich ist das bei SQL -- ein simples ``SELECT`` ist einfach, aber wenn verschiedene ``JOIN``\s, ``GROUP BY`` und ``HAVING`` dazu kommen, kann auch schon mal der Kopf rauchen.
Was mich persönlich an SQL am meisten stört, sind die grossen Unterschiede bei verschiedenen DBMS schon bei den einfachsten Dingen wie Namen von Datentypen oder wie man so etwas wie ein automatisches ID-Feld deklariert.
Wobei ich SQL auch nicht unbendingt als leicht bezeichnen würde. Das ist so ähnlich wie bei Python -- ``print`` ist einfach, `itertools` braucht 'ne Weile bis man's beherrscht. So ähnlich ist das bei SQL -- ein simples ``SELECT`` ist einfach, aber wenn verschiedene ``JOIN``\s, ``GROUP BY`` und ``HAVING`` dazu kommen, kann auch schon mal der Kopf rauchen.
Was mich persönlich an SQL am meisten stört, sind die grossen Unterschiede bei verschiedenen DBMS schon bei den einfachsten Dingen wie Namen von Datentypen oder wie man so etwas wie ein automatisches ID-Feld deklariert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Web ohne Framework? Schlechte Idee, ehrlich. Vor allem da du anfangs nicht immer weißt was wie geht, da bietet dir ein Framework ein Grundgerüst und einige Best Practices nach denen du dich richten kannst.cajus hat geschrieben:Ich möchte erst einmal Python ohne Framework lernen und kleine Programme erstellen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich meinte mit Programm ein offline-Programm,wie langwierig es ist,ein web-script in nicht nur dafür entworfenen Sprachen zu erstellen,kenne ich aus c.
Z.B. muss man dann Funktionen wie die php-funktion htmlspecialchars() selber programmieren,dass ist zu umständlich.
Oder ist es besser,auch offline ein Framework zu nutzen?
Z.B. muss man dann Funktionen wie die php-funktion htmlspecialchars() selber programmieren,dass ist zu umständlich.
Oder ist es besser,auch offline ein Framework zu nutzen?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein.DasIch hat geschrieben:Ja.cajus hat geschrieben:Oder ist es besser,auch offline ein Framework zu nutzen?
Das heißt wohl eher: hängt ab was man machen will. Es gibt eigentlich nur wenige "offline" Frameworks, wie man für bestimmte Dinge einsetzen würde, für andere nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Auch in PHP ist es nicht verkehrt ein Framework zu verwenden.cajus hat geschrieben:Ich meinte mit Programm ein offline-Programm,wie langwierig es ist,ein web-script in nicht nur dafür entworfenen Sprachen zu erstellen,kenne ich aus c.
Viele Funktionen die du suchst gibt es im cgi-Modul, z.B. cgi.escapeZ.B. muss man dann Funktionen wie die php-funktion htmlspecialchars() selber programmieren,dass ist zu umständlich.
Danke für die Einstiegshilfen an alle!
Morgen kaufe ich mir wahrscheinlich das Buch "Das Python Praxisbuch" (http://www.amazon.de/dp/3827325439).
In diesem Buch steht alles,was ich am Anfang wissen möchte.
Thread kann also geschlossen werden.
Über die Vor- und Nachteile von DBs könnt ihr ja noch woanders diskutieren
Morgen kaufe ich mir wahrscheinlich das Buch "Das Python Praxisbuch" (http://www.amazon.de/dp/3827325439).
In diesem Buch steht alles,was ich am Anfang wissen möchte.
Thread kann also geschlossen werden.
Über die Vor- und Nachteile von DBs könnt ihr ja noch woanders diskutieren
Ich finde dieses Forum echt toll,weil ich noch nie ein einem Forum war,in dem ein so freundlicher Ton herrscht und der Administrator auch ein wirklicher user ist!
Dieses Buch kenne ich nicht (aber den Preis - hui!). Nachdem, was inzwischen über dein Alter, deine Ziele und Vorkenntnisse deutlich geworden ist, empfehle ich dir "Michael Weigend: Objektorientierte Programmierung mit Python."cajus hat geschrieben:Morgen kaufe ich mir wahrscheinlich das Buch "Das Python Praxisbuch" (http://www.amazon.de/dp/3827325439).
In diesem Buch steht alles,was ich am Anfang wissen möchte.
Da ist alles drin, was du wolltest - allerdings nicht SQL (ein Kapitel zu Datenbanken gibt es allerdings). Außerdem eignet es sich IMHO in besonderer Weise für Programmiereinsteiger, weil grundlegende Strukturen und Begriffe der Programmierung behandelt werden.