乱人伦 国语对白海角社区,五月激情丁香婷婷综合中文字幕,欧美伊人婷婷久久五月综合,亚洲精品无amm毛片,亚洲男人第一无码AV网站,国产日韩欧美丝袜一区二区,亚洲一区精品在线观看

Python基础之闭包-大富翁娱乐I8CC彩票

Python基础之闭包

2026-01-18 02:33:13投稿人:EMC易倍官方(榆林)有限公司圍觀4756263 評論

Python基礎之閉包

一.閉包的定義:

在一個函數(shù)的內部,再定義一個函數(shù)(內部函數(shù))。這個內部函數(shù)引用了外部函數(shù)的變量 ,并且外部函數(shù)返回這個內部函數(shù) ,我們把這個使用外部函數(shù)變量的內部函數(shù)稱為閉包 。

簡而言之 ,閉包就是能夠讀取外部函數(shù)內的變量的函數(shù)  。

例如:

def f1():  # f1外部函數(shù)    n = 999  # n:外部函數(shù)的變量    def f2():  # 內部函數(shù)        print(n)  # f2中引用f1的變量    return f2  # 外部函數(shù)f1返回內部函數(shù)f2,函數(shù)f2即是閉包#調用法一f1()()# 調用法二# result=f1()# result()

形成閉包的兩個條件:

  • 函數(shù)的返回值必須是被包函數(shù)對象(函數(shù)名)
  • 閉包中必須引用了外層函數(shù)作用域內的變量或者形參

二.閉包的用途

可以讀取函數(shù)內部的變量

將一些變量的值始終保存到內存中

1.讀取函數(shù)內部的變量

在一般情況下,在函數(shù)外部我們是不能訪問到函數(shù)內部的變量的。但是,有時想要在函數(shù)外部能夠訪問到函數(shù)內部的變量 ,那么就可以使用閉包  。

例如:

def f1():    a=100print(a) #NameError: name 'a' is not defined

上面的代碼可以看出,print(a)會拋異常NameError: name 'a' is not defined 。在函數(shù)f1的外面無法訪問它的變量的