wo wir grad bei Modulen sind...

Christian Tismer tismer at appliedbiometrics.com
Sun May 10 00:03:48 EDT 1998


Fionn Behrens wrote:
Status: O

> 
> Ich habe hier ein Programm, das über die Zeit recht umfangrech geworden ist
> und würde es gern in Module aufteilen. Um das zu bewerkstelligen bräuchte ich
> jedoch eine Möglichkeit, wenigstens eine einzige Variable sowohl im
> Hauptprogramm als auch in den Modulen global zu halten. Also in allen dieselbe.
> Wer kann mir sagen, wie ich das am besten mache?

Kein Plobrem, mußt Dir nur im klaren sein was eine Variable ist und
was nicht, dann ist's gleich gelöst.
Namen in Python sind Schall und Rauch. Aufkleber, Bapperl, die auf
Objekte zeigen. Ein Objekt kann beliebig viele Bapperl haben.

Du machst das die ganze Zeit, indem Du etwas importierst:
Angenommen, Modul a, b und c importieren alle das Modul "sys".
Was passiert? Das Objekt "Modul sys" erscheint unter dem Bapperl "sys"
im *globalen* Namespace aller drei Module a, b und c, ist aber nur
einmal vorhanden. Ok?

Das Ganze macht natürlich nur mit "mutable objects" (zu denen Module
ja auch gehören) Sinn.

Ich nehme als Beispiel mal an, Du brauchst als "shared Variable" sowas
wie ein Dictionary, und Du hast sowas wie ein Hauptmodul:

# module haupt
glob = {}

# module unter1
from haupt import glob

# module unter2
from haupt import glob

und so weiter. Kannst auch verschiedene Namen nehmen (wenn das der 
Lesbarkeit dient :-), aber es ist immer die eine und dieselbe
Variable, besser gesagt Object.

frohes bapperln - pirx

-- 
Christian Tismer             :^)   <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH      :     Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101   :    *Starship* http://starship.skyport.net
10553 Berlin                 :     PGP key -> http://pgpkeys.mit.edu
     we're tired of banana software - shipped green, ripens at home

______________________________________________________________
   python-de          the German Python mailing list
send messages to:   <mailto:python-de at solar.skyport.net>
list manager: <mailto:owner-python-de at solar.skyport.net>
______________________________________________________________




More information about the Python-de mailing list