Python Doku: von list / dict erben...
- jens
- Moderator
- Beiträge: 8458
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Eingangs hatte ich gefragt, ob jemand eine Webseite nennen kann wo sowas steht. Brauchbare Treffer gab es nicht.
Also hab ich das mal kurz und knapp in's Wiki geschrieben. Das war nun falsch?
...motiviert mich jetzt tierisch, mehr im Wiki zu schreiben...
Also hab ich das mal kurz und knapp in's Wiki geschrieben. Das war nun falsch?

...motiviert mich jetzt tierisch, mehr im Wiki zu schreiben...
CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
jens hat geschrieben:Eingangs hatte ich gefragt, ob jemand eine Webseite nennen kann wo sowas steht. Brauchbare Treffer gab es nicht.
9. Classes zählt nicht?
jens hat geschrieben:...motiviert mich jetzt tierisch, mehr im Wiki zu schreiben...
Naja, es geht ja nicht darum dass du etwas geschrieben hast, das ist ja schön und gut, sondern dass du etwas geschrieben hast was nicht notwendig war. Stattdessen hättest du etwa [wiki]Module[/wiki] oder [wiki]Neue Features[/wiki] um Punkte, Beschreibungen und Absätze erweitern können.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
- jens
- Moderator
- Beiträge: 8458
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Leonidas hat geschrieben:9. Classes zählt nicht?
Das ist ehr allgemein über vererben. Schön und gut, aber es erklärt IMHO nicht so einfach, wie ich von list oder dict Sinnvoll erben kann. Ein Blick auf die Beispiele die ich in's Wiki gestellt habe tun genau das.
CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
jens hat geschrieben:Schön und gut, aber es erklärt IMHO nicht so einfach, wie ich von list oder dict Sinnvoll erben kann.
Das erklärt wie man Vererbt, von belibigen Objekten, und eine Transferleistung von ``object`` zu ``list`` traue ich den meisten Leuten zu. Und es erklärt auch, dass man in Kind-Klassen Funktionen überschreibt, so wie in deinem Beispiel. Und mehr bieten deine Beispiele ja auch nicht, oder?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
mitsuhiko hat geschrieben:War die Wiki-Seite jetzt wirklich nötig? Ist doch irgendwie Basiswissen über Vererbung oder?
Naja, offenbar eben nicht ...

Andererseits frage ich mich gerade, ob es angebracht ist, aus jens' Wissen um absolute OOP-Grundlagen auf die Code-Qualität seines CMS-Projekts zu schließen ...
Meine €0.02: Ich finde Jens Anliegen eigentlich toll: Die wiki-Seiten sind ja nicht als Ersatzdoku gedacht, sondern dazu Leuten mit konkreten Problemen Antworten zu bieten. Solche Probleme haben Anfänger. Dieses Stadium mag bei manchem hier schon länger her sein, aber es ist doch gut, wenn sich jemand darum Gedanken macht.
Die Qualität der wiki-Seiten stimmt in euren Augen nicht? Es fehlen Links (z. B. auf die Classes-Doku)? Es ist ein wiki! Ich bin sicher, Jens nimmt es niemanden übel, wenn ein Verweis auf die offziziöse Doku eingefügt würde, oder?
Gruß,
Christian
Die Qualität der wiki-Seiten stimmt in euren Augen nicht? Es fehlen Links (z. B. auf die Classes-Doku)? Es ist ein wiki! Ich bin sicher, Jens nimmt es niemanden übel, wenn ein Verweis auf die offziziöse Doku eingefügt würde, oder?
Gruß,
Christian
- jens
- Moderator
- Beiträge: 8458
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Noch eine Frage zum Thema von dict erben. Geht das auch anders:
Code: Alles auswählen
class Foo(dict):
def new(self, new_data):
self.clear()
self.update(new_data)
CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
- jens
- Moderator
- Beiträge: 8458
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Na, das dict soll von außen neu gesetzt werden, aber es soll ja bei meiner eigenen Klasse bleiben.
Noch ein Beispiel:
Dabei geht es mir jetzt nicht darum, das ich nicht d = {2:"bar"} machen kann, sondern nur, das MeinDict.new() mir umständlich erscheint.
Noch ein Beispiel:
Code: Alles auswählen
class MeinDict(dict):
def new(self, new_data):
self.clear()
self.update(new_data)
d = MeinDict({1:"foo"})
print d # -> {1: 'foo'}
# neu setzten
d.new({2:"bar"})
print d # -> {2: 'bar'}
print type(d) # -> <class '__main__.MeinDict'>
# so geht's natürlich nicht:
d = {2:"bar"}
print type(d) # -> <type 'dict'>
Dabei geht es mir jetzt nicht darum, das ich nicht d = {2:"bar"} machen kann, sondern nur, das MeinDict.new() mir umständlich erscheint.
CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Ich würde copy überschreiben, wenn __init__ dasselbe Verhalten wie bei einem normalen dict aufweist geht:
Kein großer unterschied aber imho vernünftiger.
Code: Alles auswählen
class Foo(dict):
def copy(self):
return self.__class__(self)
Kein großer unterschied aber imho vernünftiger.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder