美文网首页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)执行完毕,函数内部的局部变量随即消亡,所以是访问不到的。

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

相关文章

  • python

    函数内全局变量赋值 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变...

  • Swift-全局变量、局部变量以及类型属性

    全局变量和局部变量 全局变量和局部变量 计算属性和属性观察器所描述的功能也可以用于全局变量和局部变量。全局变量是在...

  • C语言特性(局部变量和全局变量)

    局部变量和全局变量 局部变量 局部变量根据定义形式的不同,又分为如下三种。 全局变量 在一个函数内部,如果全局变量...

  • 15 C变量的作用域

    1、局部变量和全局变量

  • 9道常见C语言面试题

    1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量...

  • python基础

    1.局部变量、全局变量 在函数内部修改全局变量时局部变量会创建一个和全局变量一样名称的局部变量,在更改的时候只会更...

  • 第10天C语言(00):笔记总结

    01-全局变量和局部变量-基本概念 02-内部全局变量和外部全局变量 03-static对局部变量-作用 04-s...

  • Python基础教程——全局变量和局部变量的应用

    前言 学编程的总离不开全局变量和局部变量,那么,首先我们要知道局部变量和全局变量的定义: 局部变量:定义在函数内部...

  • C/C++知识点分享(16)

    1、statac全局变量、局部变量、函数与普通全局变量、局部变量、函数,static全局变量与普通的全局变量有什么...

  • C的自我修养

    关于全局变量、局部变量和static 变量有全局变量、局部变量之分。全局变量的作用域是从声明的那一行开始,默认是可...

网友评论

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

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