Python Program im Autostart hinzufügen

  • Hallo,

    Das ist Quatsch, es kommt wenn drauf an, _was_ du im importiert:

    Python
    >>> len(globals())
    7
    >>> from tkinter import *
    >>> len(globals())
    143
    >>>

    Du holst dir alleine nur mit tkinter 136 Namen in den globalen Namensraum.


    Gruß, noisefloor

    Das kann ja sein, das können von mir aus auch 10.000 Namen sein, aber ich bin noch nie auf ein Modul gestoßen, über das ich mittels

    from Modul import * einen Namen, der ereits in globals vorhanden ist nochmal einbindet.

    Wo liegt denn deiner Meinung nach das Problem darin, seinen namensraum zu erweitern?

    Natürlich mache ich Fehler :stumm:

  • Das kann ja sein, das können von mir aus auch 10.000 Namen sein, aber ich bin noch nie auf ein Modul gestoßen, über das ich mittels

    from Modul import * einen Namen, der ereits in globals vorhanden ist nochmal einbindet.


    Wo liegt denn deiner Meinung nach das Problem darin, seinen namensraum zu erweitern?

    Anderer Aspekt warum ich persönlich es nicht mag.

    Ohne den * Imports seh ich auf einem Blick im Code zu welchem Modul die jeweilige Klasse oder Funktion gehört.

    Bei den * Imports nicht mehr, allein schon aus diesem Grund gefällt mir zum einen die * Imports nicht...sondern allgemein die from xy import z

    und schon weiß man nicht mehr dass z zu xy gehört...

  • Hallo,

    Zitat

    Wo liegt denn deiner Meinung nach das Problem darin, seinen namensraum zu erweitern?

    a) das du eventuell versehentlich selber einen Namen aus dem globalen Namenraum überschreibst, mit einer selbst-definierten Variablen / Konstanten auf oberster Ebene deines Programms. Das kann zu Fehlern führen, die extrem schwer zu finden sind. b) das der Quellcode schwerer Verständlich wird, weil nicht klar ist, wo der Name her kommt. Wenn du im Falles von tkinter in deinem Codes `UNITS = irgendwas` schreibst, dann würde man normalerweise vermuten, dass du UNITS anlegst und nicht UNITS überschreibst, was bei `from tkinter import *` in den globalen Namensraum geholt hast.


    Gruß, noisefloor

    • Offizieller Beitrag

    Na dann mach Deinen Autostart rückgängig und mach diesen per .desktop-Datei. Wie das geht musst Du mal im Forum suchen, u.a. gabs von mir auch schon Hilfestellungen. Bin gerade am Handy, da ist direkte Hilfe inkl. Forensuche nervig. ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!