On 02/20/2014 10:37 PM, Sam wrote:
I need to pass a global variable into a python function. However, the global 
variable does not seem to be assigned after the function ends. Is it because 
parameters are not passed by reference? How can I get function parameters to be 
passed by reference in Python?

Are you passing a value *into* a function, or back *out of* the function? These are two very different things, and your question mentions both and seems to confuse them.

You can pass any value into a function through its parameters, whether that value comes from a local variable, global variable, or the result of some computation. (But consider: it is the value that is being passed in -- not the variable that contains that value.) You can't pass values back out from a function through assignment to any of the parameters.

The global statement is a way to allow a function to assign to a global variable, but this would not be considered "passing" a global into a function. It's just a way to access and assign to a global variable from withing a function.

v = 123

def f(...):
   global v  # Now v refers to the global v
   print(v)  # Accesses and prints the global v
   v = 456 # Assigns to the global v.

Gary Herron
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to