资讯专栏INFORMATION COLUMN

python变量与变量作用域

chavesgu / 675人阅读

摘要:在函数中执行赋值操作时,会创建一个局部变量,如果想在函数中通过赋值改变一个全局变量,则需要用关键字申明,只要出现了操作符,则这个变量就是局部变量,除非显示申明为。

python变量与变量作用域

c语言中,变量的定义会为变量分配一块内存,变量的内存地址不会发生改变,当变量的值发生改变时,改变的是对应内存地址中的值。

python中,给变量赋值时,变量保存的是一个对象的引用,如果想改变变量的值,其实改变的是变量保存的引用,使变量指向了另一个对象。

在函数中执行赋值操作时,会创建一个局部变量,如果想在函数中通过赋值‘=’改变一个全局变量,则需要用关键字global申明,只要出现了‘=’操作符,则这个变量就是局部变量,除非显示申明为global。

LEGB,在某一作用域内想使用某个变量时,会按照LEGB的顺序来查找,找不到则会报错。

给函数传参,函数的形参是一个局部变量,这个局部变量和传入的实参都绑定在某一对象上,函数运行完后,将这个局部变量会被解绑。

函数return后,接收的变量会绑定在return的对象上,return结束后会把原函数内绑定在这个对象上的变量解绑。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43090.html

相关文章

  • PyTips 0x04 - Python 闭包作用

    摘要:项目地址闭包在计算机科学中,闭包英语,又称词法闭包或函数闭包,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。 项目地址:https://git.io/pytips 闭包(Closure) 在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是...

    leejan97 评论0 收藏0
  • Python家国天下

    摘要:正如儒家经典所阐述修身齐家治国平天下。除此之外,模块还有如下最基本的属性在一个模块的全局空间里,有些属性是全局起作用的,称之为全局变量,而其它在局部起作用的属性,会被称为局部变量。 导读:Python猫是一只喵星来客,它爱地球的一切,特别爱优雅而无所不能的 Python。我是它的人类朋友豌豆花下猫,被授权润色与发表它的文章。如果你是第一次看到这个系列文章,那我强烈建议,请先看看它写的前...

    姘搁『 评论0 收藏0
  • Python家国天下

    摘要:正如儒家经典所阐述修身齐家治国平天下。除此之外,模块还有如下最基本的属性在一个模块的全局空间里,有些属性是全局起作用的,称之为全局变量,而其它在局部起作用的属性,会被称为局部变量。 导读:Python猫是一只喵星来客,它爱地球的一切,特别爱优雅而无所不能的 Python。我是它的人类朋友豌豆花下猫,被授权润色与发表它的文章。如果你是第一次看到这个系列文章,那我强烈建议,请先看看它写的前...

    felix0913 评论0 收藏0
  • Python3 关键字nonlocal和global的用法区别

    摘要:关键字在中,闭包只能读外部函数的变量,而不能改写它。注意关键字是中出现的所以在中无法直接使用关键字里只有种作用域全局作用域和局部作用域。两者使用的范围不同。 关键字nonlocal 在Python 2.x中,闭包只能读外部函数的变量,而不能改写它。为了解决这个问题,Python 3.x引入了nonlocal关键字,在闭包内用nonlocal声明变量,就可以让解释器在外层函数中查找变量名...

    PumpkinDylan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<