[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