1.全部变量的调用,在方法体外进行变量的定义,在方法体内进行变量内容的输出,示例代码如下:
#!/usr/bin/python
x = 100
def func():
print x
func()
2.局部变量的调用,在方法体内进行变量的定义,在方法体内进行变量内容的输出,并调用该方法,示例代买如下:
#!/usr/bin/python
def func():
x = 100
print x
func()
3.全局变量声明后,在方法中引用完成,在方法外打印该变量,变量能够正确的进行打印,示例代码如下:
#!/usr/bin/python
x = 100
def func():
print x
func()
print x
4.在方法内进行变量的声明,方法体外进行变量的打印,将报错,示例代码如下。报错信息:NameError: name 'x' is not defined
#!/usr/bin/python
def func():
x = 100
print x
func()
print #*20
print x
5.说明,函数体外定义的变量为全局变量,可以在函数体外和函数体内使用,函数体内定义的变量,只能在函数体内使用。
6.当函数体中定义的变量名同全局变量的名称时,函数体内调用的是局部变量的数据内容,函数体外使用的是全局变量的数据值,示例代码如下。
#!/usr/bin/python
x="global var"
def func():
x = 100
print x
func()
print x
7.如果想调用函数体内的变量值,可以用global的方法进行定义,函数体外可以正确的引用该变量值,示例代码如下:
#!/usr/bin/python
x="global var"
def func():
x = 100
global y
y = 123
print x
func()
print y
print x
8.如果想调用函数体内的global变量,必须对函数进行调用,才能引用函数体内的变量值,否则将会报错(NameError: global name 'y' is not defined),示例代码如下:
#!/usr/bin/python
x="global var"
def func():
x = 100
global y
y = 123
print x
print y
print x
9.全局变量声明后,然后在函数体内重新对该全局变量进行赋值,调用该函数体后,全局变量的值会被重新赋值,函数体内重新调用该变量,变量值发生改变,示例代码如下:
#!/usr/bin/python
x="global var"
def func():
global x
x = 123
func()
print x
10.多个函数中均声明global变量,并且变量同时对全局变量进行引用,会根据前后顺序对全局变量的数据值进行改变,示例代码如下:
#!/usr/bin/python
x="global var"
def func123():
global x
x = 123
def func456():
global x
x = 456
func456()
print x
func123()
print x