Is it possible to define global variables in a function in Python

PythonFunctionGlobal Variables

Python Problem Overview


How do I declare a global variable in a function in Python?

That is, so that it doesn't have to be declared before but can be used outside of the function.

Python Solutions


Solution 1 - Python

Yes, but why?

def a():
    globals()['something'] = 'bob'

Solution 2 - Python

def function(arguments):
    global var_name
    var_name = value #must declare global prior to assigning value

This will work in any function, regardless of it is in the same program or not.

Here's another way to use it:

def function():
    num = #code assigning some value to num
    return num

NOTE: Using the return built-in will automatically stop the program (or the function), regardless of whether it is finished or not.

You can use this in a function like this:

if function()==5 #if num==5:
    #other code

This would allow you to use the variable outside of the function. Doesn't necessarily have to be declared global.

In addition, to use a variable from one function to another, you can do something like this:

import primes as p #my own example of a module I made
p.prevPrimes(10) #generates primes up to n
for i in p.primes_dict:
    if p.primes_dict[i]: #dictionary contains only boolean values
        print p.primes_dict[i]

This will allow you to use the variable in another function or program without having use a global variable or the return built-in.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWoooHaaaaView Question on Stackoverflow
Solution 1 - PythonJon ClementsView Answer on Stackoverflow
Solution 2 - PythonRushy PanchalView Answer on Stackoverflow