Ab wann ergeben Klassen Sinn?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

@snafu: Man könnte das alles auch *noch* komplizierter machen. :twisted:
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

BlackJack hat geschrieben:@Hellstorm: Man könnte die Funktion deutlich knapper formulieren und zwar IMHO ohne das sie dadurch schwerer zu verstehen ist. Damit könnte man dann auch ganz einfach vermeiden den Namen `file` (lokal) an etwas anderes als den `file`-Typ zu binden.

Der Suffix `tuple` in dem Funktionsnamen ist keine gute Idee denn man kann falls man doch noch Funktionalität zu den Daten packen möchte das `namedtuple` problemlos durch eine Klasse ersetzen. Damit würde man den Funktionsnamen dann auch ändern müssen.

Code: Alles auswählen

def create_file(path):
    return File(path, os.path.basename(path), os.path.getsize(path))
Das hatte ich mir überlegt, aber mir schien es dann doch etwas zu unübersichtlich. Naja, scheint aber doch ganz gut zu sein, dann werde ich das wohl auch so machen.
BlackJack hat geschrieben: Wozu brauchst Du Zugriff über Schlüssel? Statt ``test['name']`` kannst Du doch ``test.name`` schreiben‽ Falls das Attribut variabel sein soll, muss man halt wie üblich bei Attributzugriffen die `getattr()`-Funtkion verwenden. Eventuell kann je nach Anwendungszweck auch `operator.attrgetter()` und vielleicht auch `functools.partial()` nützlich sein.
Naja, ich dachte mir, dass ich es dann sowohl in Form eines Dictionarys wie auch einer Klasse verwenden könnte :D

Naja, gut, ich danke für alle Antworten :) Ich werde mich jetzt erstmal dem Threading-Modul widmen, das brauche ich nämlich jetzt anscheinend erstmal für eine Fortschrittsanzeige bei Qt.
Antworten