OOP - erste Fragen
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Ich will was kostenloses. Ich geb nicht wieder Geld aus für ein Buch.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Ich denke du kannst ruhig OOP mit Hilfe von Python Das Umfassende Handbuch verstehen lernen. Ich habe das Buch nicht gelesen, hier ist BlackJacks Buchkritik (Link) das könntest du mal lesen.
Ich habe Python fast ausschließlich anhand des Python Tutorials gelernt, ich weiß nicht ob dir das hilft. Hier ist eine Übersetzung die cofi hier aus dem Forum betreut: Link.
mfG
Ich habe Python fast ausschließlich anhand des Python Tutorials gelernt, ich weiß nicht ob dir das hilft. Hier ist eine Übersetzung die cofi hier aus dem Forum betreut: Link.
mfG
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Sehr gut! Vielen Dank! Nun - aus einem anderen Forum wurde mir dieses Buch deutlichst empfohlen. Hier eher nicht. Dann ist die Frage: Waren die 40 Euro umsonst?
@Gary123456 Ich würde sagen, ja, die 40 € waren umsonst. Was Dir dieses Buch beibringt, das kannst Du auch genauso gut aus frei im Internet verfügbaren Quellen erlernen. In welchem Forum wurde Dir dieses Buch denn sogar „deutlichst“ empfohlen?
Eine gute Quelle ist Learn Python The Hard Way, welches im letzten Teil auch objektorientierte Programmierung lehrt. Der Ansatz dieses Buchs ist ungewöhnlich, da es sehr viel Wert auf Übung legt, doch da man Programmierung vor allem durch Üben lernt, ist es sehr empfehlenswert.
Eine gute Quelle ist Learn Python The Hard Way, welches im letzten Teil auch objektorientierte Programmierung lehrt. Der Ansatz dieses Buchs ist ungewöhnlich, da es sehr viel Wert auf Übung legt, doch da man Programmierung vor allem durch Üben lernt, ist es sehr empfehlenswert.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Hier wurde es mir empfohlen: http://www.computerbase.de/forum/showth ... ?t=1179468
Die Frage ist ja, ob dieses umfassende Handbuch nur in OOP sinnloses Zeug vermittelt oder auch an anderen Stellen?
Werde mir das Buch "Learn Python on the hard way" mal ansehen.
Die Frage ist ja, ob dieses umfassende Handbuch nur in OOP sinnloses Zeug vermittelt oder auch an anderen Stellen?
Werde mir das Buch "Learn Python on the hard way" mal ansehen.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Ui was ich noch schade finde. Die Module os, sys und shutil werden spärlichst beigebracht :/
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Die Python Std. Lib. ist viel zu Umfangreich um im Ganzen behandelt zu werden, da Hilft dir nur mal alle Beschreibungen zu Überfliegen und zu schuauen, wann dir was helfen kann.
@Gary123456: Wo jetzt? Und ich würde auch weniger erwarten das Module an sich „beigebracht” werden, sondern eher Themen wie Textverarbeitung und Dateien und dazu dann die Module die man dafür braucht.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Habe mir jetzt paar Seiten durchgelesen, nur verstehe ich nicht was Namensräume + Gültigkeitsbereiche genau sind. Das ist etwas kompliziert erklärt, finde ich. Wäre um eine simple Erklärung sehr dankbar!
@Gary123456: Von was hast Du jetzt ein paar Seiten gelesen? Das muss man ja irgendwie wissen wenn man etwas einfacher als … erklären soll.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Uuups entschuldige. Hier der Link: http://tutorial.pocoo.org/ Ich kann mir einfach nicht genau vorstellen, was ich unter diesen Begriffen verstehen soll. Ich habe diese 2 Seiten mind 5 mal durchgelesen und ich verstehe teilweise nur Bahnhof.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Und wozu braucht man eig Klassen? Könnte man doch auch umgehen - dann wäre der Code aber unsauber, stimmts? Rest steht oben.
Ich zitiere an der Stelle einfach aus diesem Essay:
Also ja, man kann Klassen in Python die meiste Zeit über vermeiden, verwenden würde ich sie nur um Funktionalität zu gruppieren.Hell, if you can manage it, forget about classes entirely. They’re just a convenient way to factor common behavior out of objects. Let’s design useful, scoped, meaningful objects, and then write classes that produce them.
Sauberer Code hat nichts mit Klassen zu tun, obgleich Klassen dabei hilfreich sein können. Bei Klassen handelt es sich, (sehr) vereinfacht gesagt, um Namensräume. Namensräume sind eine tolle Sache.Gary123456 hat geschrieben:Und wozu braucht man eig Klassen? Könnte man doch auch umgehen - dann wäre der Code aber unsauber, stimmts?
Ich habe ein wenig den Eindruck, Du versuchst ohne die Basics direkt etwas weiter "oben" einzusteigen. Nutze doch einfach mal einen verregneten Tag (so wie heute) und widme Dich z.B. http://learnpythonthehardway.org/, auch wenn es Dir in Deinem Selbstverständnis wie ein Rückschritt vorkommen mag. Das braucht alles etwas Zeit - aber die hast Du ja.
@webspider: Dem würde ich widersprechen. Es gibt sicher eine Klasse (hihi) von Programmen die ohne Klassen auskommen können, aber bei jedem Programm mit einer nicht ganz so trivialen Datenstruktur wo man Verbundtypen braucht um es sauber und nachvollziehbar zu machen, kommt man um Klassen IMHO nicht wirklich herum. Das ist als würde man in C ohne ``struct``\s oder Pascal ohne ``RECORD``\s auskommen. Damit kommt man nicht wirklich weit oder bekommt sehr hässlichen Code.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Was bezeichnet ihr als Basics?
Was ich bisher beherrsche:
-Kontrollstrukturen
-Basisdatentypen
-Dateien
-Funktionen
-Modularisierung
-Schnittstelle zum Betriebssystem
Ich möchte gerne ein etwas größeres Projekt starten. Wüsste nur nicht was. :K
Was ich bisher beherrsche:
-Kontrollstrukturen
-Basisdatentypen
-Dateien
-Funktionen
-Modularisierung
-Schnittstelle zum Betriebssystem
Ich möchte gerne ein etwas größeres Projekt starten. Wüsste nur nicht was. :K
Tja, was ist ein größeres Projekt? Vielleicht die visuelle Darstellung von irgendwelchen Daten. Also Datei mit Daten einlesen, Achsen zeichnen, beschriften, Daten plotten.
Oder ein Labyrinth anlegen und versuchen einen Weg hindurch zu finden - und zwar möglichst schnell.
Oder ein Textadventure.
Oder wenn Du an Logfiles kommst, analysiere diese (wie viel Traffic, wie viele Errors, etc.).
Da lässt sich beim üben schon einiges lernen. Wähle ein Thema, das Du gerne umsetzen möchtest und für Deine Kenntnisse nicht zu schwer ist. Du sollst ja Spaß daran haben. Aber solange Du nicht irgendeinen Kurs abarbeiten möchtest, brauchst Du die Idee schon selbst.
Oder ein Labyrinth anlegen und versuchen einen Weg hindurch zu finden - und zwar möglichst schnell.
Oder ein Textadventure.
Oder wenn Du an Logfiles kommst, analysiere diese (wie viel Traffic, wie viele Errors, etc.).
Da lässt sich beim üben schon einiges lernen. Wähle ein Thema, das Du gerne umsetzen möchtest und für Deine Kenntnisse nicht zu schwer ist. Du sollst ja Spaß daran haben. Aber solange Du nicht irgendeinen Kurs abarbeiten möchtest, brauchst Du die Idee schon selbst.
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Ich interessiere mich sehr für Netzwerkprogrammierung. Vielleicht könnte ich einen kleinen Trojaner bauen, der bestimmte Sachen abfängt un an bestimmte Server schickt.
Oder ein Programm, dass Inhalte bestimmter Dateien auflistet. Registryinhalte (sprich Schlüssel) auflistet usw.
Textadventure wäre auch sehr spannend.
Oder ein Programm, dass Inhalte bestimmter Dateien auflistet. Registryinhalte (sprich Schlüssel) auflistet usw.
Textadventure wäre auch sehr spannend.
Das ist das Problem. Ich kann meine Kenntnisse nicht einschätzen. Denke aber schon, dass ich weitgehenst alles verstanen habe.as Du gerne umsetzen möchtest und für Deine Kenntnisse nicht zu schwer ist
Nun, dann beginne doch damit. einen einfachen Echo-Server mit passendem Client zu entwickeln. Zunächst reicht es, genau eine Verbindung zu aktzeptieren. Im weitern Verlauf entwickelst du den Server derart weiter, dass er mehrere Verbindungen (gleichzeitig) verarbeiten kann (Variante A: Mit Threads, Variante B: Non-Blocking IO).
Damit wärst Du bereits einige Abende beschäftigt und neue Erkenntnisse sind gewiss (erforderlich).
Grüße ... bwbg
Damit wärst Du bereits einige Abende beschäftigt und neue Erkenntnisse sind gewiss (erforderlich).
Grüße ... bwbg
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
-
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
OK werde mir die Sache annehmen. Vielen,vielen,vielen Dank! Kriegste ein virtuelles Bier geschenkt.
Wird also so eine Art ChatProgramm zum Schluss. Erst mal eine Verbindung, dann mit Threads arbeiten und dann umwandeln in ein Chatprogramm.
Wird also so eine Art ChatProgramm zum Schluss. Erst mal eine Verbindung, dann mit Threads arbeiten und dann umwandeln in ein Chatprogramm.