python global和nonlocal_python-global和nonlocal区别

原博文

2020-04-24 17:14 −

# L = Local 局部作用域

# E = Enclosing 嵌套作用域

# N = nonlocal 只作用于嵌套作用域,而且只是作用在函数里面

# G = global 全局作用域

# B = Built-in 内置作用域

"""

locals()函数返回一个当前位置的...

相关推荐

2019-12-22 16:35 −

一:global:在函数内部引用/声明全局变量

在自定义函数时,有时候需要引用函数外的一些全局变量,如果不需要修改全局变量的内容,则可以直接引用,像下面这样:

c = 999 def func(): print(c)

if __name__ == '__main__': fun...

comment.png

0

attention.png

80

2019-12-23 15:35 −

函数作用域 自己有用自己的 自己没有用上一层 一层一层往上找:

num = 0

def one():

print(num) #自己没有且没有上一层了用全局 0

num = 1

def two():

num =2

def three():

print(num)#自己没有往上找 2

...

comment.png

0

attention.png

97

2019-12-12 21:23 −

1 nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量.写在内部嵌套函数里面,它实质上是将该变量定义成了全局变量,它等价于用两个global来定义该变量.只不过用两个global来实现太繁琐.只用一个global的话无法在这儿(嵌套函数中)实现.

def make_c...

comment.png

0

attention.png

114

2019-12-12 19:45 −

1 class Text:

2 def __init__(self):

3 pass

4 def big(self):

5 n, m = 0, 0

6 def a():

7 nonlocal n

8 n += 1

9 ...

2019-12-24 10:01 −

Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。 例子1 x = 1 def func(): x = 2 func() print(x) 输出:1 在func函数中并未在x前面加global,所以func函数无法将x赋为2,无法改变x...

2019-12-11 15:55 −

如果需要在函数内部改变函数外部的变量,就可以通过在函数内部声明变量为global变量。这样当程序运行至global变量便会替换外部的同名变量。

例1:

# -*- coding:utf-8 -*- name = "小明" def test(): global name name = "xia...

comment.png

0

attention.png

4385

2019-12-23 17:24 −

# _*_coding=utf-8 _*_

# __author__ = 'juzi_juzi' # python3 函数引用,内部函数,闭包,nonlocal # 函数引用传递:直接用代码例子来说明:

def test(param1): print('在这里我们执行了test 函数,且参数为:...

comment.png

0

attention.png

210

2019-12-18 17:11 −

保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。Python 包含的保留字可以执行如下命令进行查看:

>>> import keyword>>&g...

2019-12-24 01:04 −

函数装饰器于闭包。

装饰器于闭包前面我前面已经有简单的记录,这次我根据书中内容,对函数装饰器重新于闭包做个简要笔记。

def deco(func): def inner(): print('running inner()') return inner

@deco

def targe...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值