3

Could anyone tell me what I am doing wrong in my code. How come, I cannot update my global variable? To my understanding, if it is a global variable I can modify it anywhere.

If the numpy is creating a new array (when I use np.delete), what would be the best way to delete an element in an numpy array.

import numpy as np

global a
a = np.array(['a','b','c','D'])
def hello():
    a = np.delete(a, 1)
    print a

hello()

1 Answer 1

9

If you want to use a global variable in a function, you have to say it's global IN THAT FUNCTION:

import numpy as np

a = np.array(['a','b','c','D'])
def hello():
    global a
    a = np.delete(a, 1)
    print a

hello()

If you wouldn't use the line global a in your function, a new, local variable a would be created. So the keyword global isn't used to create global variable, but to avoid creating a local one that 'hides' an already existing global variable.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.