wie kann ich aus Strings neue Variablen erzeugen?
Code: Alles auswählen
def erzeuge_var(name_als_string, inhalt_variable):
#code?
erzeuge_var('x',70)
print x==70
Code: Alles auswählen
def erzeuge_var(name_als_string, inhalt_variable):
#code?
erzeuge_var('x',70)
print x==70
Code: Alles auswählen
Alt_A = 101
Alt_B = 102
meine_liste[Alt_A]
Tut ich immer. In jedem Programm, auch hier:str1442 hat geschrieben:Angenommen, ich möchte bei einem Programm in Laufzeit objekte generieren und auch vernichten.
Code: Alles auswählen
print "Hello world!"
Joa schon klar, ich meinte auch eher wenn das programm selbständig ein object generieren soll. Wenn zb die variable resource den wert 1000 erreicht dann generiere neue Einheit und gib der KI die kontrolle darüber + Einheit.machiwas bis du tot bist. Im Falle eines Echtzeitstrategiespieles zb.audax hat geschrieben:Tut ich immer. In jedem Programm, auch hier:str1442 hat geschrieben:Angenommen, ich möchte bei einem Programm in Laufzeit objekte generieren und auch vernichten.Code: Alles auswählen
print "Hello world!"
str1442 hat geschrieben: Joa schon klar, ich meinte auch eher wenn das programm selbständig ein object generieren soll. Wenn zb die variable resource den wert 1000 erreicht dann generiere neue Einheit und gib der KI die kontrolle darüber + Einheit.machiwas bis du tot bist. Im Falle eines Echtzeitstrategiespieles zb.
Code: Alles auswählen
class Facility(Foo):
[...]
def create_soldier(self):
soldier = Soldier()
self.owner.gain_control(soldier)
class Solder(Bar):
[...]
def do_stuff(self):
while self.alive:
do_something()
class Ai(User):
[...]
def gain_control(self, unit):
self._controlled.append(unit)
unit.do_stuff()
Code: Alles auswählen
def erzeuge_var(name_als_string, inhalt_variable):
globals()[name_als_string] = inhalt_variable
Code: Alles auswählen
class Foo: pass
for i in range(1000): Foo()
Interessanter als die Aussage wären die Gründe. Zur genauen Erläuterung eine Code Beispiel:sma hat geschrieben:Ich bin mir sicher, das der Frage ein fundamentales Missverständnis des Programmiermodells von Python vorangeht
Code: Alles auswählen
headers = ['X','Y','Z']
daten = [2.4,1.3,9.9]
# jede menge legacy code der so bestehen bleiben soll
X = Y+Z
Y = Z/100
Code: Alles auswählen
# indizes automatisch erzeugt (statisch)
INDEX_X = 0
INDEX_Y = 1
INDEX_Z = 2
X = daten[INDEX_X]
Y = daten[INDEX_Y]
Z = daten[INDEX_Z]
#legacy code
X = Y+Z
Y = Z/100