At 05:47 PM 11/4/2005, Carroll, Barry wrote: >I have a function that makes use of several global variables: > >########## >Include struct
Did you mean "import"? >ABC = 1 >DEF = 2 >xyz = 0 >def do_stuff(in_str): > hdr = struct.pack('@2BH',ABC|DEF,xyz,len(in_str)) > newstr = hdr+in_str Works find for me. Is there anything else you are not showing us? >When I run the program containing this code I get this error: > > >>>>>>>>> >Traceback (most recent call last): > File "sample.py", line 43, in ? > ret_data = do_stuff(data) > File "sample.py", line 17, in do_stuff > hdr = struct.pack('@2BH', ABC|DEF,xyz,len(in_str)) >UnboundLocalError: local variable 'xyz' referenced before assignment > >>>>>>>>> > >The error goes away if I include a 'global' statement at the top of the >function: > >########## >def do_stuff(in_str): > global xyz > hdr = struct.pack('@2BH',ABC|DEF,xyz,len(in_str)) >########## > >Why does the interpreter choke on xyz and not on ABC or DEF? > >Barry > >_______________________________________________ >Tutor maillist - Tutor@python.org >http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor