Add Funktion in Python

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.
Antworten
cool_brick24
User
Beiträge: 8
Registriert: Montag 10. September 2018, 12:45

Montag 17. September 2018, 14:29

Hallo liebe User,

Ich möchte mir in Python ein Modul programmieren. Das geht ja alles noch klar. Nur, was ich mich frage, ist wenn man eine .add Funktion einbauen möchte z.B.

Code: Alles auswählen

 mD = meinModul.meinModul() 
mD.add(Irgendwas)
also, das ich "md." danach noch etwas eigenes hinzufügen kann, wie z.B. ".addButton". Ich weiß das sowas in Java etc. funktioniert, aber ich fände es toll zu wissen, wie sowas in Python funktioniert. Und meine 2. Frage ist: Wie kann ich sowas erstellen?

Code: Alles auswählen

 md = meinModul.meinModul() 
? Also das ich das "meinModul" etwas abkürzen kann. Fände es toll, wenn sich jemand damit auskennt.



Mit freundlichen Grüßen

cool_brick24
Benutzeravatar
__blackjack__
User
Beiträge: 1226
Registriert: Samstag 2. Juni 2018, 10:21

Montag 17. September 2018, 15:15

@cool_brick24: Also mir ist so überhaupt gar nicht klar was Du hier eigentlich wissen willst. Die Namen sind auch ein bisschen komisch. Wieso gibt es in im Modul (?) `meinModul` eine Funktion mit dem Namen `meinModul()`? Oder soll das eine Klasse sein? Das wäre schon mal ein bisschen klarer wenn Du auch einen Import davon gezeigt hättest und Dich an die Namenskonventionen in Python halten würdest. Namen werden klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase).

Bei der zweiten Frage vermute ich mal Du möchtest Dir anschauen was man bei Importen alles machen kann. Andererseits würde ich dringend davon abraten jetzt anzufangen alles irgendwie kryptisch abzukürzen. Namen sollen dem Leser verraten was der Wert bedeutet, und nicht zu rätselraten führen.
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
Benutzeravatar
pillmuncher
User
Beiträge: 1110
Registriert: Samstag 21. März 2009, 22:59
Wohnort: München

Montag 17. September 2018, 17:42

@__blackjack__: wRm?s s do tTl üsTl wn mn zgS aBkzt, o N?
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
__blackjack__
User
Beiträge: 1226
Registriert: Samstag 2. Juni 2018, 10:21

Montag 17. September 2018, 17:59

o N! :-)
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
cool_brick24
User
Beiträge: 8
Registriert: Montag 10. September 2018, 12:45

Dienstag 18. September 2018, 14:57

Ich hätte mich besser ausdrücken sollen. Also, ich hoffe jetzt klappt es:

Angenommen ich habe einen Import selbst kreiert also jetzt z.B. MeinImport1

Darin ist eine definiton:

Code: Alles auswählen

 #MeinImport1.py
def schreiben(message): print(message)

Diese Definition kann ich in einem anderen Python Projekt aufrufen. Also :

Code: Alles auswählen

 from MeinImport1 Import schreiben
schreiben(hallo Welt)
Doch anstatt dieser Funktion, habe ich beispielsweise ein Menu mit QT erstellt. Dieses Menu ist auch in einer Definition gespeichert. Nun möchte ich das machen

Code: Alles auswählen

 meinMenu.addButton("Hi",...)
Darum geht es. Ich möchte eine Funktion haben die etwas zu meinem Menu hinzufügt!

Ich hoffe ich konnte es jetzt erklären.

Mfg cool_brick24
Benutzeravatar
__blackjack__
User
Beiträge: 1226
Registriert: Samstag 2. Juni 2018, 10:21

Dienstag 18. September 2018, 16:03

@cool_brick24: Du hast hoffentlich kein `QMenu`-Objekt auf Modulebene erstellt. Falls doch, lass das sein, dann hast Du auch dieses Problem nicht.

Das mit den Namensschreibweisen ist mit der angehängten 1 bei `MeinImport1` noch einen Tick schlimmer geworden. Man nummeriert keine Namen durch, sondern sucht sich entweder passende Namen oder steckt die Objekte in eine Datenstruktur (mit einem passenden Namen).
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
Antworten