BlackJack hat geschrieben:Ein „slot” muss nicht zwingend eine Methode sein, da geht jedes aufrufbare Objekt, also zum Beispiel auch Funktionen.
"aufrufbares Objekt", was ist genau damit gemeint ?
BlackJack hat geschrieben:Ich denke mal statt Package meinst Du Modul weil das Beispiel kein Package verwendet beziehungsweise ein Package letztendlich ja auch nur eine spezielle Art von Modul ist.
Ja, ich meinte, richtig bezeichnet, Modul (danke). Nach dem genauen Unterschied Modul/Package (und auch Methode/Funktion) muss ich wohl noch mal googlen. So ganz ist mir das noch nicht klar. (Hat das vielleicht was mir dem Return-Wert zu tun?)
BlackJack hat geschrieben:In einer Klasse und in Methoden kannst Du genau wie in Funktionen auch alles aus dem Modulnamensraum benutzen.
Sind das die von mir zwar registrierten aber noch nicht genau betrachteten "namespace"s ? Aber wie greife ich denn aus dem Namensraum einer Klasse auf ein Objekt im Modulnamensraum zu ?
BlackJack hat geschrieben:Wenn ein Namen in einer Funktion oder Methode nicht lokal ist, dann wird er in den lexikalisch umgebenden Namensräumen (das meinst Du wahrscheinlich mit Kontext) gesucht.
Ja, so ungefähr. Kontext sagt man aber wohl nicht bei Python. Allerdings verstehe ich "lexikalisch umgebende Namensräume" nicht so ganz genau.
BlackJack hat geschrieben:Also erst in umgebendenen Funktionen/Methoden falls man die verschachtelt hat, dann auf Modulebene, und dann in den eingebauten Funktionen, dem `__builtin__`-Modul.
Das ist sehr exakt beschrieben, danke !
BlackJack hat geschrieben:`staticmethod()` ist kein Zauberwort sondern eine Funktion. Die ist, genau wie `classmethod()` in den eingebauten Funktionen enthalten.
Klar, in Python gibt es keine Zauberwörter
Mit dem `__builtin__`- Modul muss ich mich also auch mal genau beschäftigen. Es ist sehr gut, dass Du mir zeigst, welche Zusammenhänge und Begriffe ich noch mal nachlesen muss.
BlackJack hat geschrieben:Beide kann man mit der Dekorarorsyntax verwenden.
Es gibt also eine Dekoratorsyntax und eine Funktions-Syntax für ein und die selbe Funktion ?
BlackJack hat geschrieben:Das sollte die IDE auch beruhigen. Und der Leser weiss dann das es kein Versehen ist, wenn `self` nicht verwendet wird, sondern das dort absichtlich eine Funktion auf der Klasse definiert wurde.
Danke, super erklärt !
BlackJack hat geschrieben:Hast Du Dir Gedanken darüber gemacht was passieren soll wenn der Benutzer die Schaltfläche noch einmal betätigt? Wenn auch mehrere Fenster gleichzeitig offen sein dürfen, funktioniert das *so* nicht.
Nein, habe ich noch nicht. Man braucht das Bearbeiten-Fenster nur einmal (es werden nicht mehrere Datensätze auf einmal bearbeitet). Aber da hast Du Recht, den Button muss ich deaktivieren, wenn das Fenster geöffnet ist, sonst gibt es wohl einen fatalen Fehler.
BlackJack hat geschrieben:Und ansonsten wäre ein modaler Dialog vielleicht die ”natürlichere” Lösung.
Was ist ein "modaler Dialog" ?
Viele Grüße
mephisto-online