一.变量找寻顺序LEGB L:local 局部变量 E:enclosing 嵌套函数时, 外层的函数的变量,改变这种变量,用nonlocal G:global 全局 B:build_in Python系统给的,默认的 二.闭包 有一个嵌套函数,当内部函数调用外部变量(不是全局变量),这就是闭包 ...
分类:
其他好文 时间:
2019-10-17 11:47:21
阅读次数:
83
在Py2中,闭包只能读外部函数的变量,不能改写它。为了解决这个问题,Py3引入了nonlocal,在闭包内用nonlocal声明变量,就可以让解释器在外层函数中查找变量名2种作用域:全局作用域和局部作用域。全局作用域是指当前代码所在模块的作用域,局部作用域是指当前函数或方法所在的作用域。局部作用域里 ...
分类:
其他好文 时间:
2019-10-14 12:27:09
阅读次数:
87
a=1 def Mm(): a=2 print(b) def mm(): global a#在这里会报错,因为global定义的是全局变量 nonlocal a#在这里使用nonlocal是对上一级的修改 a+=1#不能对全局变量进行修改 reyurn a mm() print(a) ...
分类:
其他好文 时间:
2019-10-10 20:17:50
阅读次数:
130
一. 函数的嵌套 1. 只要遇见了()就是函数的调用. 如果没有()就不是函数的调用 2. 函数的执行顺序 二 .gloabal、nonlocal 首先我们写这样一个代码, 首先在全局声明一个变量, 然后再局部调用这个变量, 并改变这 个变量的值 global表示. 不再使用局部作用域中的内容了. ...
分类:
其他好文 时间:
2019-10-03 18:08:20
阅读次数:
106
keepalived+haproxycat /etc/sysctl.confnet.ipv4.ip_nonlocal_bind = 1net.ipv4.ip_forward = 1sysctl -pcat /etc/keepalived/keepalived.conf ! Configuration... ...
分类:
其他好文 时间:
2019-09-28 10:42:32
阅读次数:
251
全局变量 与 局部变量 与 闭包变量(介于两者之间的变量) global关键字:局部范围内更改全局变量(函数默认只能读取全局变量,不能修改) nonlocal关键字:嵌套函数中修改闭包变量(外层函数定义的变量相当于其语句块内的全局变量) ...
分类:
其他好文 时间:
2019-09-26 23:36:26
阅读次数:
87
#!/usr/bin/env python#-*- coding:utf-8 -*-#name='lhf'# def change_name():# global name# name="帅的一笔"# print('change_name',name)# change_name()# print(n ...
分类:
编程语言 时间:
2019-09-19 21:44:05
阅读次数:
243
闭包函数是在一个函数内部又定义了一个函数,外部函数的返回值是内部函数的引用。 执行外部函数func_out()后,返回的是内部函数func_inner的引用,内部函数的状态还存在。 结果: 678 闭包的用途: 1. 惰性求值(或延迟求值)。 2. 装饰器。 ...
分类:
编程语言 时间:
2019-09-01 01:08:32
阅读次数:
87
函数的嵌套 函数的嵌套 def func() print(1) def f1(): print(2) return f1() func() 结果为:1 2 不管在什么位置,只要是函数+()就是在调用此函数 函数调用执行后,函数体中开辟的空间就自动销毁了 def func(): a=1 def foo ...
分类:
编程语言 时间:
2019-08-31 12:35:03
阅读次数:
68
函数中使用全局变量 执行fun()后返回值为:500 a, b使用的是全局变量的值。 函数中覆盖全局变量 执行fun()后返回值为:50 a, b使用的是局部变量的值。 函数中修改改全局变量 执行fun()后返回值为:110 a使用的是全局变量a=100的值, b使用的是函数func修改后b的值10 ...
分类:
编程语言 时间:
2019-08-30 23:15:24
阅读次数:
141