Variable exportieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gast

Variable exportieren

Beitragvon Gast » Sonntag 27. Juni 2004, 12:17

Hi
Kann mir jemand sagen wie ich eine Variable exportiere, also nicht nur in einem Programm wo sie definiert wurde, sondern auch in anderen Python-programm, nutzen kann?

Schon mal danke im voraus an alle die mir helfen.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 27. Juni 2004, 12:33

Hi auch,

explizit exportieren brauchst Du in Python nichts. Alles was in einem Modul, auf Modulebene definiert ist, ist von anderen Scripts aus importierbar.
Wenn Du eine Variable in Funktionen ändern willst, die auch von anderen Scripten importierbar sein soll, must Du diese, innerhalb der Funktion, als global deklarierern, das sollte aber nur in Ausnahmefällen geschehen.


Gruß

Dookie
Gast

Beitragvon Gast » Sonntag 27. Juni 2004, 13:01

Ich glaub du hast mich nicht ganz richtig verstanden, ich meinte, wie ich einer Variablen einen Wert zuweise den ich dann später in anderen Pythonprogrammen wieder abrufen kann und erhöhen kann. Diesen neuen Wert will anschließend weiter verwenden kann.
Gast

Beitragvon Gast » Sonntag 27. Juni 2004, 13:19

Hier ist mein Programm und Variable joker_zaehler will ich über diese Programm hinaus nutzen

Code: Alles auswählen

def Joker(self):
          global joker_zaehler       
          if joker_zaehler >= 3:
              print "Leider Haben Sie den Joker zu oft verwendet"
          else:
              pygame.init()
              size = width, height = 640, 480
              black = 0, 0, 0
              screen = pygame.display.set_mode(size)
              ball = pygame.image.load("Frage50euro01_50,50.bmp")
              ballrect = ball.get_rect()

              screen.fill(black)
              screen.blit(ball, ballrect)
              pygame.display.flip()

              joker_zaehler = joker_zaehler+1
              print joker_zaehler
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 27. Juni 2004, 14:23

hmm das ist kein Programm sondern eine Methode. In jeder Funktion in der "joker_zaehler" verwendet wird, muss diese natürlich auch als global definiert werden. Da Du aber eine Methode hast, gehe ich davon aus, daß Du auch eine eigene Klasse verwendest, dann bietet es sich an "joker_zaehler" als Attribut zu definieren.

Code: Alles auswählen

class Spiel(object):
    __slots__ = ['joker_zaehler']
    def __init__(self):
        self.joker_zaehler = 0
        super(Spiel, self).__init__()

    def Joker(self):
          if self.joker_zaehler >= 3:
              print "Leider Haben Sie den Joker zu oft verwendet"
          else:
              """
              pygame.init()
              size = width, height = 640, 480
              black = 0, 0, 0
              screen = pygame.display.set_mode(size)
              ball = pygame.image.load("Frage50euro01_50,50.bmp")
              ballrect = ball.get_rect()

              screen.fill(black)
              screen.blit(ball, ballrect)
              pygame.display.flip()
              """
              self.joker_zaehler = self.joker_zaehler+1
              print self.joker_zaehler

spiel = Spiel()
print "Jokerzaehler steht auf %d" % spiel.joker_zaehler
spiel.Joker()
print "Jokerzaehler steht auf %d" % spiel.joker_zaehler

Du kannst natürlich auch screen und/oder ball als Attribute definieren.


Gruß

Dookie

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder