python废话三:变量:局部变量和全局变量

下面看代码:

str = "python 2.7" //全局变量

def test1():
    str = "test_python" //局部变量
    print(str)
    
if __name__ == '__main__':
    test1()
这个时候打印出来的是test_python

难道这个方法把全局变量改变了?我们再次做个试验:

str = "python 2.7"

def test1():
    str = "test_python"
    print(str)
    
def test2():
    print(str)
if __name__ == '__main__':
    test1()
    test2()

这个时候打印出来的是test_python python 2.7,也就是说现在这个改变的只是方法内部的数据,我们可以改变全局变量的值呢:

看方法:

str = "python 2.7"

def test1():
    str = "test_python"
    print(str)

def test3():
    global str
    str = "test_python_2"
    print(str)    
    
def test2():
    print(str)

if __name__ == '__main__':
    test1()
    test3()
    test2()
出来的结果是:test_python test_python_2 test_python_2

看出来在test3()中全局变量已经发生了改变。




你可能感兴趣的:(python,废话,笔记)