Subprocess - Anderes Programm im Hintergrund starten

  • Hallo,


    bootsmann : eher python-forum.de __blackjack__, sirius3, Pillmuncher oder __deets__ sind schon extrem "fit", was Python angeht.


    dreamshader : einer _der_ Unterschiede in Sachen OOP zwischen Python und Java ist ja, dass Java die Klasse immer erzwingt, Python aber nicht. Von daher ist das nicht wirklich vergleichbar.


    Gruß, noisefloor

  • Den 2. Teil verstehe ich nicht - der Zustand (also Prozess läuft oder nicht) ist doch in der Coroutine drin?!

    Deswegen schrieb ich ja auch:

    Mir ist noch ein Nachteil des Ansatzes mit einer Funktion (nicht Coroutine) eingefallen:

    (Hervorhebung hinzugefügt).

    IMHO sollte sich die Coroutine mit dem Beispiel (viel) weiter oben im Thread mit gpiozero und dem `whenpressed` Event kombinieren lassen.

    Sehe ich auch so.

    Letztendlich ist das aber Übungs- und Gewohnheitssache, denke ich.

    Klar.

    Allein schon deswegen, wenn mittels Funktion(en) der Code verkürzt werden kann.

    Da sehe ich in diesem Beispiel maximal 2-3 Zeilen Potential – dafür handelt man sich für den callback eine functools.partial-Funktion oder eben eine Couroutine ein. Beides halte ich für weniger intuitiv als die Verwendung einer Klasse. Auch im Sinne des Zen of Python:

    If the implementation is hard to explain, it's a bad idea.

    If the implementation is easy to explain, it may be a good idea.

    noisefloor schrieb:

    einer _der_ Unterschiede in Sachen OOP zwischen Python und Java ist ja, dass Java die Klasse immer erzwingt, Python aber nicht.

    noisefloor : Kannst Du das etwas genauer erläutern?

  • Hallo,


    Manul : du _musst_ in Java eine Klasse anlegen, ohne geht das nicht. Beispiel: Hallo Welt in Java:

    Java
    1. public class HelloWorld {
    2. public static void main(String[] args) {
    3. // Prints "Hello, World" in the terminal window.
    4. System.out.println("Hello, World");
    5. }
    6. }

    Einfacher geht's nicht. Also so was wie in Python print('Hallo Welt') geht nicht.


    Gruß, noisefloor

  • Hi,

    Einfacher geht's nicht. Also so was wie in Python print('Hallo Welt') geht nicht.

    genau aus diesem Grund sagte ich, dass das wohl eine "Glaubensfrage" ist und habe den Link mit dem Zitat gepostet ... ;)


    Oder sagen wir statt Glaubensfrage lieber: eine Sache der Projekt-Definition. Striktes oder etwas "gelockertes" OOP-Projekt oder sogar egal ;)


    -ds-