python全栈开发_day11_作用域,函数嵌套和闭包

一:作用域

  1)什么是作用域

    作用域是规定一个变量可以作用的范围,运行和销毁的范围

  2)作用域的分类

    1.内置作用域built_in:随着解释器的运行而产生,解释器运行的终止而销毁。

    2.全局作用域global:随着文件的打开运行而产生,随着文件的运行的终止而销毁。

    3.嵌套作用域enclosing:函数嵌套关系中,内部函数可以使用外部函数的变量。

    4.局部作用域local::函数自身的变量,作用于函数内部,随着函数的使用产生,函数使用的结束而销毁。

  3)嵌套作用域的运行

    

def a():
num=1
def b():
print(num)
return b() print(a()) #获得返回值:1 None
#函数的嵌套就是在函数中定义另一个函数,这个函数可以使用外置函数的变量,遵从嵌套作用域的运行关系。

二:闭包(重点重点重点)

  1)什么是闭包

    闭包实际上就是函数的嵌套,产生可以外部调用的内部函数。

  2)闭包的运用

    

def a():
num=1
def b():
print(num)
return b c=a()
c() #这是最简单闭包,外部调用内部函数。
import requests

def a(address):
def b():
print(requests.get(address).text)
return b baidu=a("https://www.baidu.com")
baidu() #如此定义一个函数关系,可以在后续的代码中更好更简单的获取网页数据

    

上一篇:I/O Mutiplexing poll 和 epoll


下一篇:python全栈开发-Day13 内置函数