OOP - erste Fragen
-
Gary123456
- 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.
-
BlackJack
@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.
-
Gary123456
- 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!
-
BlackJack
@Gary123456: Von was hast Du jetzt ein paar Seiten gelesen? Das muss man ja irgendwie wissen wenn man etwas einfacher als … erklären soll.
-
Gary123456
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
-
Gary123456
- 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.
-
BlackJack
@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.
-
Gary123456
- 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.
-
Gary123456
- 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!"
-
Gary123456
- 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.
-
BlackJack
In der Python-Dokumentation gibt es das Socket Programming HOWTO. Ansonsten ist auch Literatur zu Socket-Programmierung in C nützlich, denn das `socket`-Modul in Python ist nur eine recht dünne Schicht über der BSD-Socket API die man üblicherweise von C aus verwendet.
-
Gary123456
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Ui weißt Du ob das Galileo Computing Buch darüber ordentliche Infos liefert. Besprochen werden die Module: socket, ftplib,imaplib
Habe grad einen anderen Thread eröffnet, indem es um Kleinigkeiten geht, aber Kleinigkeiten sind Dinge, die mal zum späteren Zeitpunkt wichtig werden können.
Habe grad einen anderen Thread eröffnet, indem es um Kleinigkeiten geht, aber Kleinigkeiten sind Dinge, die mal zum späteren Zeitpunkt wichtig werden können.
-
Leonidas
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Habe gerade das Kapitel zu sockets überflogen, aber wenn du einen Chat-Server machen willst, nutz doch das asynchat-Modul aus der Stdlib, das ist ziemlich brauchbar dafür.Gary123456 hat geschrieben:Ui weißt Du ob das Galileo Computing Buch darüber ordentliche Infos liefert. Besprochen werden die Module: socket, ftplib,imaplib
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
Gary123456
- User
- Beiträge: 318
- Registriert: Dienstag 26. Februar 2013, 18:39
Da gibt es ja an die 70 Seiten rein über Netzwerkprogrammierung. Ich interessiere mich sehr für Netzwerke und werde mir alles durchlesen. Sprich auch alle Module ansehen. Ich denke aber, dass das jetzt abseits des eigentlichen Themas ist. Aber was solls. Es gibt aber sicher mehr Module üfr Netzwerke, als die, die im Buch beschrieben worden sind. Werde mir dazu alles ansehen. Auch das Themengebiet Threads werde ich mir genüsslich vor die Nase reiben. Hehe freu mich schon drauf.
Der Beitrag entwickelt sich zwar grad mehr in Richtung Netzwerke, ich hätte allerdings auch noch mal ein paar grundsätzliche Fragen zu OOP in Python. Ich konnte mit etwas Glück auch ohne Bon das "unfassbare Handbuch" zurückgeben und mach nun mit "OOP mit Python" von Weigend (ausgeliehen) weiter
. Da ich OOP nur in Grundzügen von C her kenne verwunderte mich erstmal, dass Attribute public per default sind und sogar dynamisch erzeugt werden können. Der Autor schrieb das "Restriktionen in der Pythoncommunity generell verpönt" seien, aber andererseits Attribute wenn möglich immer private sein sollten? #
TNX
TNX
> (...(lambda...(it-schemes-i-must-be-jailed-in-braces? code)...))))))))))))))))))))))))))
#t
#t
