美文网首页Python3
全局变量和局部变量

全局变量和局部变量

作者: ShuHaiShiYi | 来源:发表于2017-06-19 22:14 被阅读5次
    全局变量和局部变量

    解释1:

    python的运行,当外观看上去是函数内部修改了全局变量的值,实际上是函数内部重新创建了一个与全局变量同名的局部变量,因为作用域不一样,所以是可以同名的,是可以创建成功的,所以a函数里的new_name是函数运行时创建的局部变量。全局变量new_name没有被改变。

    如果想在函数里修改局部变量怎么办?

    加上global关键字即可(注意:一般不建议如此使用,会趟好多坑)

    name = 'hehe'

    def a():
        global name

        name = '嘿嘿'

    print(name) # 打印的是嘿嘿

    解释2:

    为什么外部访问不了局部变量?

    因为函数的局部变量是存储在栈中,当函数运行结束,即语句b = a('小米', 18)执行完毕,函数内部的局部变量随即消亡,所以是访问不到的。

    关于栈我这里还了解的不是很清楚,等了解清楚了在更新。有了解的大神可以给我讲解一下。多谢。

    相关文章

      网友评论

        本文标题:全局变量和局部变量

        本文链接:https://www.haomeiwen.com/subject/btynqxtx.html