In this chapter, we'll discuss the global scope
The essence of global: Not declaring a variable type, but declaring a namespace that is scope
1. Summary of global variables:
1) It bit with the top layer inside the module file
We open the test.py module, there is only one sentence, is the following sentence
x=1# global variables, in fact, all the functions inside the module can be used
2) do not declare or use inside the function
We'll add a little code to the test.py file.
x=1# global variables, is actually the module inside all functions can use Def test (): print (x) if __name__== ' __main__ ': Test ()
Output:
3) If the function is assigned a value, it must be declared
With the above code, we add a sentence that changes x in the test:
x=1# global variables, is actually the module inside all functions can use Def test (): print (x) x=2if __name__== ' __main__ ': Test ()
Output:
>>> ================================ RESTART ================================>>> Traceback (most Recent: file "c:/python34/test.py", line 6, <module> Test () file "c:/python34/test.py" , line 3, in test
It's not going to change, but we need to add the global statement.
x=1# global variables, in fact, all the functions inside the module can use Def test (): print (x) Global x x=2 Print (x) if __name__== ' __main__ ': Test ()
Output:
2. Problems with global variables
There are serious problems with using global variables, especially changing global variables, because you don't know the order of the functions that change this global variable, so debugging is cumbersome and cumbersome to use.
Let's change the code above to look like this:
x=1# global variables, is actually the module inside all functions can use Def test (): print (x) Global x x=2 print (x) def test2 (): print (x) Global x x= ' abc ' print (x) if __name__== ' __main__ ': test () test2 ()
Output:
Now let's change the position of some of the two functions.
x=1# global variables, is actually the module inside all functions can use Def test (): print (x) Global x x=2 print (x) def test2 (): print (x) Global x x= ' abc ' print (x) if __name__== ' __main__ ': test2 () test ()
Output:
Because x changes as the function executes, if there are thousands of changes in a large project, the problem is very serious.
The solution to this problem is to use a file to define all the global variables and turn the global variable into a communication tool so that it is easier to maintain
Of course, the use of global variables is not recommended under unfamiliar assumptions.
Summary: This section briefly explains the global scope and some of the issues that need to be noted in using it
This chapter is here, thank you.
------------------------------------------------------------------
Click to jump 0 basic python-Catalogue
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
0 Fundamentals python-16.4 Global scope