Can global variable be passed into Python function?

Mark H. Harris harrismh777 at gmail.com
Thu Feb 27 08:24:22 EST 2014


On Friday, February 21, 2014 12:37:59 AM UTC-6, 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?

def  func(x):
    global  ref_name
    ref_name = '3.14159'
    # rest of the code
    # rest of the code

When you call this function the ref_name  reference will be set to '3.14159' as a string and your main code will be able to 'see' it, and other funcs will be able to 'see' it too... play with it a bit...  if other funcs need to write to it they will also have to use the   global ref_name  line.  As long as other funcs only read the reference, then the global line is not needed to 'see' the reference.

As others have noted, python does not have a 'variable' concept (references to objects instead) and so your question is a little ambiguous. 

Also, using global references within functions is not a good idea... generally speaking. 

Cheers



More information about the Python-list mailing list