Variable dauerhaft merken ??

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.
Antworten
69chris
User
Beiträge: 1
Registriert: Dienstag 3. August 2010, 22:31

Hallo,

wie kann ich eine Variable dauerhaft merken?

also z.b

a = 1
irgendwo wird dann diese variable geändert
z.b. a = 5

wie kann ich mir diese 5 merken ohne dass sie wieder von a = 1 überschrieben wird ??
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo 69chris,

Code: Alles auswählen

a=1

def func1():
    global a
    a=5

print a
# a=1
func1()

print a
#a = 5
Gruß
alpha
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

69chris hat geschrieben:wie kann ich eine Variable dauerhaft merken?
Du mußt den Wert irgendwo dauerhaft ablegen. Kann dann eine Variable b vom selben Typ sein. Oder ein Topf, wo Du sie reinschmeißt. Mußt dann nur noch gucken wo Du sie wieder findest. Dass könnte dann eine Liste sein oder ein Set oder so. Allerdings um das zu verstehen, fehlen wohl noch einige Grundlagen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wo ist denn jetzt eigentlich das genau Problem? Wenn du eine Variabel immer einen bestimmten Wert haben muss, dann überschreib' sie doch einfach nicht. :-)

Oder meinst du, dass die Variabel immer wieder zum Ausgangswert "zurückkehren" soll?

Gruß, noisefloor
BlackJack

Wenn ich mir was dauerhaft (oder zumindest länger) merken will, haben sich auch diese kleinen, blassgelben Klebezettelchen bewährt. Da schreibst Du einfach ``a = 1`` mit einem Bleistift drauf (oder Kugelschreiber wenn's "immutable" sein soll) und klebst es an den Monitor. ;-)
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

alpha hat geschrieben:

Code: Alles auswählen

a=1

def func1():
    global a
    a=5

print a
# a=1
func1()

print a
#a = 5
Ein nichtssagendes Codebeispiel mit Verwendung des verpönten "global" ist eher nicht das, was hier hilfreich wäre.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

69chris hat geschrieben:wie kann ich mir diese 5 merken ohne dass sie wieder von a = 1 überschrieben wird ??
Indem du sie unter etwas anderem als „a“ abspeicherst. Ist eigentlich ganz einfach.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:Wenn ich mir was dauerhaft (oder zumindest länger) merken will, haben sich auch diese kleinen, blassgelben Klebezettelchen bewährt. Da schreibst Du einfach ``a = 1`` mit einem Bleistift drauf (oder Kugelschreiber wenn's "immutable" sein soll) und klebst es an den Monitor. ;-)
YMMD! :D
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Also ich glaube dem Starter fehlt hier nicht nur das Python-Wissen sondern eher der grundlegende Denkansatz.

Auch verstehe ich zumindest sein Problem nicht direkt ...

Wenn a=5 bleiben soll dann weise a doch einfach nichts neues zu?!
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Ich habe auch sofort an BlackJacks Methode gedacht!
+1

Mal an den Fragesteller: Was willst du konkret erreichen? Und wozu?
Wenn du das deutlich machen kannst fällt uns vermutlich auch eine passende Lösung ein.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Blackjack++, v.a. weil Post-It's genau das Aequivalent von Variablen sind. In Python ist das keine Schublade, sondern einfach ein Zettelchen, das man sich an seine _Daten_ klebt.

Wenn du dir jetzt mehrere Daten _dynamisch_ merken willst, musst du Container-Objekte benutzen, wie hendrikS schon gesagt hat.
Wenn du dir mehrere _statisch_ merken willst, dann nehm einfach verschiedene Post-It's ;)
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

@ /me

das Codebeispiel sollte zur Frage passen.

Genauso nichtssagend und unqualifiziert.. scheinbar gut gelungen :-P

alpha
Antworten