Zugriff auf experimentelle Variablen (var)
Instanz var
Neu in 4.0.0: Ab OpenSesame 4.0 sind alle experimentellen Variablen
auch im Python-Arbeitsbereich verfügbar. Das bedeutet, dass Sie das var
-Objekt nicht mehr benötigen.
Das var
-Objekt ermöglicht den Zugriff auf experimentelle Variablen.
Experimentelle Variablen sind die Variablen, die in der GUI leben und
häufig als unabhängige Variablen im loop-Element gesetzt werden, mit
der geklammerten ({my_variable}
) Schreibweise verwiesen werden und vom
logger-Element protokolliert werden.
Ein var
-Objekt wird automatisch erstellt, wenn das Experiment beginnt.
Zusätzlich zu den unten aufgelisteten Funktionen werden die folgenden Semantiken unterstützt:
Beispiel:
# Eine experimentelle Variable setzen
var.my_variable = u'my_value'
# Eine experimentelle Variable abrufen
print(u'Subject nr = %d' % var.subject_nr)
# Löschen (zurücksetzen) einer experimentellen
Variable
del var.my_variable
# Überprüfen, ob eine experimentelle Variable existiert
if
u'my_variable' in var:
print(u'my_variable existiert!')
# Schleife durch alle
experimentellen Variablen
for var_name in var:
print(u'gefundene Variable:
%s' % var_name)
clear(preserve=[])
Neu in 3.1.2
Löscht alle experimentellen Variablen.
Parameter
- preserve: Eine Liste von Variablennamen, die nicht gelöscht werden sollen.
Beispiel
var.clear()
get(var, default=None, _eval=True, valid=None)
Ruft eine experimentelle Variable ab.
Parameter
- var: Die abzurufende Variable.
- default: Ein Standardwert, falls die Variable nicht existiert, oder
None
für keinen Standardwert. - _eval: Bestimmt, ob der zurückgegebene Wert auf Variablenverweise ausgewertet werden soll.
- valid: Eine Liste der gültigen Werte oder
None
, um alle Werte zuzulassen.
Beispiel
print(u'my_variable = %s' % var.get(u'my_variable'))
# entspricht:
print(u'my_variable = %s' % var.my_variable)
# Wenn Sie jedoch Schlüsselwortargumente übergeben möchten, müssen Sie `get()` verwenden:
var.get(u'my_variable', default=u'a_default_value')
has(var)
Überprüft, ob eine experimentelle Variable existiert.
Parameter
- var: Die zu prüfende Variable.
Beispiel
if var.has(u'my_variable'):
print(u'my_variable wurde definiert!')
# entspricht:
if u'my_variable' in var:
print(u'my_variable wurde definiert!')
inspect(self)
Erzeugt eine Beschreibung aller experimentellen Variablen, sowohl lebendiger als auch hypothetischer.
Gibt zurück
- Ein Wörterbuch, bei dem die Variablennamen Schlüssel sind und die Werte Wörterbücher mit den Quelle, Wert und lebendigen Schlüsseln sind.
items(self)
Gibt eine Liste von (variable_name, value) Tupeln zurück. Siehe var.vars()
für eine Anmerkung zur Nicht-Erschöpflichkeit dieser Funktion.
Gibt zurück
- Eine Liste von (variable_name, value) Tupeln.
Beispiel
for varname, value in var.items():
print(varname, value)
set(var, val)
Setzt eine experimentelle Variable.
Parameter
- var: Die zuzuweisende Variable.
- val: Der zuzuweisende Wert.
Beispiel
var.set(u'my_variable', u'my_value')
# Entsprechend
var.my_variable = u'my_value'
unset(var)
Löscht eine Variable.
Parameter
- var: Die zu löschende Variable.
Beispiel
var.unset(u'my_variable')
# Entsprechend:
del var.my_variable
vars(self)
Gibt eine Liste der experimentellen Variablen zurück. Da experimentelle
Variablen an mehreren Stellen gespeichert werden können, ist diese Liste möglicherweise nicht
erschöpfend. Das heißt, u'my_var' in var
kann True
zurückgeben, während
u'my_var' nicht in der Liste der Variablen enthalten ist, die von dieser Funktion zurückgegeben werden.
Gibt zurück
- Eine Liste der Variablennamen.
Beispiel
for varname in var.vars():
print(varname)