View Single Post
Old 05-12-2014, 02:16 PM
bvldtiger bvldtiger is offline
Join Date: Mar 2014
Posts: 2
Scope of global variable limited to function

I have the following code:

def enterEnd(e):
end = time.clock()
position = viz.MainView.getPosition()
ZpositionEnd = position[2]
global elapsedTime
global deltaZpos
elapsedTime = end - start
deltaZpos = ZpositionEnd - ZpositionStart
print 'Final speed', deltaZpos/elapsedTime

This works with a sensor and provides head location data for a motion capture experiment. However, when I try to access the deltaZpos variable in another function I get the following error:

Traceback (most recent call last):
File "C:\Program Files (x86)\WorldViz\Vizard4\python\", line 779, in updateAndKillOnException
return self.update()
File "C:\Program Files (x86)\WorldViz\Vizard4\python\", line 749, in update
val = self._stack[-1].send(sendData)
File "C:\Users\jorge_leon\Jorge_VR\Fajen_Sequence_Offic", line 252, in experiment_Fajen
yield testPhase()
File "C:\Users\jorge_leon\Jorge_VR\Fajen_Sequence_Offic", line 235, in testPhase
speed = deltaZpos/elapsedTime
NameError: global name 'deltaZpos' is not defined

I checked and the scope limits itself to the function definition but I want to make sure that any other function can access it, and other variables in other functions do the same.
Reply With Quote