liuzhijun666

全局变量和局部变量

1、局部变量

局部变量就是python函数内定义的变量

其作用范围也就是函数内部有效而且优先,出了此函数就无效

操作

name=\'全局\'
def fun1():
    name=\'局部\'
    print(\'fun1:\',name)
def fun2():
    print(name)
def main():
    fun1()
    fun2()
if __name__=="__main__":
    main()

结果

fun1: 局部
fun2 全局

我们可以看出局部变量作用范围有限

2、全局变量

从创建开始到程序结束都有效果

操作

name=\'全局\'
def fun1():
    name=\'局部\'
    print(\'fun1:\',name)
def fun2():
    print(\'fun2\',name)
def main():
    print(\'main:\',name)
    fun1()
    fun2()
if __name__=="__main__":
    main()

结果

main: 全局
fun1: 局部
fun2 全局

global声明变量

在python中全局变量不像java或者c语言一样直接可在函数中修改全局变量

所以,python中修改全局变量需要 用global声明(只限于全局变量为不可变)

操作

name=\'全局\'
def fun1():
    name=\'局部\'
    print(\'fun1:\',name)
def fun2():
    print(\'fun2\',name)
def fun3():
    global name #声明全局变量
    name+="hhhhh"
def main():
    print(\'main:\',name)
    fun1()
    fun2()
    fun3()
    print(name)

if __name__=="__main__":
    main()

结果

main: 全局
fun1: 局部
fun2 全局
全局hhhhh

当全局变量可变时

name=\'全局\'
list=[1,2,3,4]#可变
def fun1():
    name=\'局部\'
    print(\'fun1:\',name)
def fun2():
    print(\'fun2\',name)
def fun3():
    global name #声明全局变量
    list.append(6)
    name+="hhhhh"
def main():
    print(\'main:\',name)
    fun1()
    fun2()
    fun3()
    print(name)
    print(list)

if __name__=="__main__":
    main()

结果

main: 全局
fun1: 局部
fun2 全局
全局hhhhh
[1, 2, 3, 4, 6]

分类:

技术点:

相关文章:

  • 2021-10-14
  • 2021-11-15
  • 2021-10-14
  • 2021-11-05
  • 2021-11-05
  • 2021-11-13
  • 2021-07-29
  • 2022-12-23
猜你喜欢
  • 2021-11-15
  • 2021-10-14
  • 2021-12-16
  • 2022-12-23
  • 2021-10-24
相关资源
相似解决方案