047 閉包函數

閉包函數

  • 閉包指的是:函數內部函數對外部做用域而非全局做用域的引用。python

  • 咱們以前學習函數的參數的時候,咱們給函數傳參數是從函數的外部傳參的閉包

def func(a):
    print(a)
func(2)
  • 如今閉包給咱們提供了另一種給傳參數的思路
  • 把函數以及變量一塊兒包起來,也就是封裝起來,下次須要用的時候能夠直接拿來用
  • 其實也就是函數裏面嵌套着一個函數
  • 閉包函數: 傳參的另一種方式, 參數與函數包在一塊兒返回出去
  • 閉包的意義:返回的函數對象,不單單是一個函數對象,在該函數外還包裹了一層做用域,該函數不管在何處調用,優先使用本身外層包裹的做用域。
def func(a):
    def add():
        print(a)
    return add

res = func(2)
res()
  • 查看閉包的元素,就是查看閉包函數裏面封裝的有哪些東西函數

    print(F"f.__closure__[0].cell_contents: {f.__closure__[0].cell_contents}")
  • 爬取網頁的閉包函數學習

import requests

def func(url)
    def receive()
        r = requests.get(url)
        print(r.text)
    return receive

baidu = func('https://www.baidu.com/') # baidu = func函數名
baidu() # baidu()= func()

taobao = func('https://www.taobao.com/')
taobao()
相關文章
相關標籤/搜索