OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
OpenSesame videos
Python videos
Supported by

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)
Supported by