Classes and global statements
Scott David Daniels
scott.daniels at acm.org
Mon Jul 3 12:57:58 EDT 2006
Sheldon wrote:
> Hi,
>
> I have a series of classes that are all within the same file. Each is
> called at different times by the main script. Now I have discovered
> that I need several variables returned to the main script. Simple,
> right? I thought so and simply returned the variables in a tuple:
> (a,b,c,d,e) = obj.method()
> Now I keep getting this error: "ValueError: unpack tuple of wrong size"
What you need to do at this point is read the _whole_ error message
(including the ugly traceback stuff). Think hard about what is going
on. "ValueError: unpack tuple of wrong size" comes from returning
a tuple of a different size than your assignment is producing:
def triple(v):
return v, v*v
x, y, z = triple(13)
Break up the assignment and insert prints:
# x, y, z = triple(13)
temp = triple(13)
print "I'm going to expand the triple:", temp
x, y, z = temp
> I think this is because I am trying to return some Numeric arrays as
> well as list and I didn't declare these prior to calling the class
> method.
Don't guess and hypothesize; create experiments and test. Your
reasoning is off in the ozone. You waste a lot of time creating
great theories; make tiny theories and _test_ them.
<<and the theories wander farther and farther off into the weeds>>
--Scott David Daniels
scott.daniels at acm.org
More information about the Python-list
mailing list