[Python-de] import Problem
Peter Otten
__peter__ at web.de
Fr Apr 28 08:48:43 EDT 2017
Hermann Riemann wrote:
> Am 28.04.2017 um 12:48 schrieb Peter Otten:
>
>>> ########## globale_funktionen.py
>>> import globale_variable
>>> g=globale_variable.variablen
>>> def f():
>>> global g
>>> g.x=1
>
>> Das "global"-Statement ist überflüssig, da du den Namen g nur liest.
>
> Richtig.
>
>>> ########## globale_variable.py
>>> class Globale_Variablen:
>>> def __init__(self):
>>> self.x=0
>>> variablen=Globale_Variablen()
>
>> Wenn du sowieso mit Klassen hantierst, mach aus f() doch eine Methode.
>
> Wenn ich ########## globale_variable.py zu
> class Globale_Variablen:
> def __init__(self):
> self.x=0
> from globale_funktionen import *
> variablen=Globale_Variablen()
> erweitere, erhalte ich:
>
> SyntaxError: import * only allowed at module level
> Hermann
der mit dem Kopf durch die Wand will ;)
*-Imports sind eine Unsitte; die Namen explizit aufzuführen dürfte nicht
zuviel verlangt sein. Oder du verwendest ein Mix-in:
# methoden.py
class M:
def f(self): ...
...
# gottobjekt.py
import methoden
class G(methoden.M):
...
Mehr Informationen über die Mailingliste python-de