<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      song1002  

      【一】名稱空間

      【1】什么是名稱空間

      名稱空間就是存放函數(shù)名與函數(shù)值對(duì)應(yīng)關(guān)系的地方

      變量名=變量值

      用變量名 和 變量值進(jìn)行綁定 ---> 名稱空間

      名稱空間即存放名字與對(duì)象映射/綁定關(guān)系的地方

      【2】名稱空間

      [1]內(nèi)建名稱空間

      • 在Python解釋器中自帶的名稱空間會(huì)隨著代碼啟動(dòng)而生成,隨著代碼結(jié)束而關(guān)閉

      [2]全局名稱空間

      • 隨著內(nèi)建名稱空間加載完成自己創(chuàng)建的變量名 / 函數(shù)名 / 類名

      列表是可變數(shù)據(jù)類型 ---> 列表被修改后id不變

      num_list = []
      print(id(num_list)) # 1200291395392
      def add_list(num):
          num_list.append(num)
          print(id(num_list)) # 1200291395392
      add_list(1)
      add_list(2)
      add_list(3)
      print(num_list) # [1, 2, 3]
      print(id(num_list)) # 1200291395392
      

      [3]局部名稱空間

      • 在函數(shù)內(nèi)部或者是類內(nèi)部定義的變量隨著函數(shù)啟動(dòng)而創(chuàng)建,隨著函數(shù)結(jié)束而消失
      • 伴隨函數(shù)的調(diào)用/結(jié)束而臨時(shí)產(chǎn)生/回收,函數(shù)的形參、函數(shù)內(nèi)定義的名字都會(huì)被存放于該名稱空間中
      def add_list(num):
          # 垃圾回收機(jī)制 ---> 節(jié)省內(nèi)存開(kāi)銷(xiāo)
          num_list = []
          num_list.append(num)
          print(num_list)
          print(id(num_list)) # 1200291395392
      add_list(1)
      add_list(2)
      add_list(3)
      

      【3】名稱空間的加載順序

      1. 先加載內(nèi)建名稱空間
      2. 其次是全局名稱空間
      3. 最后就是局部名稱空間

      【4】名稱空間的查找順序

      1. 如果你在全局查 先全局后內(nèi)建 --> 在 py 文件中執(zhí)行代碼
      2. 如果在局部 先局部再全局再內(nèi)建 ---> 在函數(shù)內(nèi)部執(zhí)行代碼
      3. 所有的變量 尤其是 可變數(shù)據(jù)類型 字典 列表 盡量寫(xiě)在文件開(kāi)頭 如果放在函數(shù)下面可能會(huì)導(dǎo)致檢索不到變量

      【二】作用域

      【1】變量作用域

      • 變量的作用域

        • Python是靜態(tài)作用域,也就是說(shuō)Python中,變量的作用域源于它在代碼中的位置
        • 在不同的位置,可能有不同的命名空間。命名空間是變量作用域的體現(xiàn)形式
      • python變量作用域一般有4種:

        • Local(局部變量)
        • Enclosed(嵌套)
        • Global(全局)
        • Built-in(內(nèi)置)

      [1]Local 局部變量

      • Local(局部變量):暫時(shí)的存在,依賴于創(chuàng)建該局部作用域的函數(shù)。函數(shù)存,則局部變量存,函數(shù)亡,則局部變量亡
      • 作用范圍:當(dāng)前整個(gè)函數(shù)體范圍
      # 定義一個(gè)函數(shù),函數(shù)內(nèi)部就是局部作用域
      def fun():
          # 只有在函數(shù)內(nèi)部的變量
          b = 2
          print(b)  # 輸出2
      
      
      fun()
      # 調(diào)用函數(shù)后,發(fā)現(xiàn)找不到變量 b 是因?yàn)樵谌肿饔糜蛑姓也坏?變量 b
      print(b)  # 報(bào)錯(cuò)
      
      '''
      Traceback (most recent call last):
        File "E:\PythonProjects\def_func.py", line 16, in <module>
          print(b)  # 報(bào)錯(cuò)
      NameError: name 'b' is not defined
      '''
      
      

      [2]Enclosed 嵌套

      • Enclosed(嵌套):一般是在函數(shù)中嵌套函數(shù)的時(shí)候,外層函數(shù)的變量作用域。
      • 作用范圍:閉包函數(shù)
      # Enclosed(嵌套)作用域
      def fun1():
          b = 2
          print("這是fun1打印的:", b)
      
          def fun2():
              # 函數(shù) func1 里面 嵌套的 函數(shù) func2 里面的作用域就是 嵌套作用域
              print("這是fun2打印的:", b)
      
          # 將內(nèi)部函數(shù) func2 的內(nèi)存地址返回
          return fun2
      
      
      # 調(diào)用 函數(shù) fun1 , 函數(shù) func1 的返回值是內(nèi)部函數(shù) fuc2的函數(shù)地址
      temp = fun1()
      
      # 調(diào)用 函數(shù) fun1 的返回值(fuc2的函數(shù)地址) , 從而執(zhí)行 函數(shù) fuc2
      temp()
      # 這是fun1打印的: 2
      # 這是fun2打印的: 2
      

      [3]Global 全局

      • Global(全局):一般模塊文件頂層聲明的變量具有全局作用域,從外部來(lái)看,模
        塊的全局變量就是一個(gè)模塊對(duì)象的屬性,僅限于單個(gè)模塊文件中。
      • 作用范圍:當(dāng)前模塊(文件)
      # Global(全局)作用域
      
      # 定義在全局的變量,在本文件任意位置可調(diào)用該變量
      a = 2
      
      
      def fun1():
          print("這是fun1打印的:", a)
      
      
      fun1()
      print(a)
      
      # 這是fun1打印的: 2
      # 2
      
      

      [4]Built-in 內(nèi)置

      • Built-in(內(nèi)置):解釋器內(nèi)置的變量,比如int, str等。
      • 作用范圍:所有模塊(文件)
      • Python中沒(méi)有塊級(jí)作用域。
      • 塊級(jí)作用域:代碼塊中的變量,比如if、while、for后面的代碼

      【2】LEGB規(guī)則

      按照L--->E--->G--->B的順序查找變量

      [1]基于命名空間的常見(jiàn)變量類型

      • 局部變量:
        • 在一個(gè)函數(shù)體的內(nèi)部定義的變量
        • 作用域?yàn)楹瘮?shù)內(nèi)部
        • 查看局部變量命令:locals()
      • 全局變量
        • 在函數(shù)體外部,文件最外層定義的變量
        • 作用域?yàn)檎麄€(gè)文件內(nèi)部
        • 查看全局變量命令:globals()

      【3】變量的修改

      [1]global修改全局變量

      [2]nonlocal修改外層函數(shù)變量

      posted on 2024-04-16 20:38  全宇宙最帥  閱讀(30)  評(píng)論(0)    收藏  舉報(bào)
       
      主站蜘蛛池模板: 国产成人一区二区免av| 中文字幕一区二区网站| 国产超碰无码最新上传| 亚洲精品麻豆一二三区| 精选国产av精选一区二区三区| 噜噜噜噜私人影院| 99久久久国产精品免费无卡顿| 免费无码AV一区二区波多野结衣| 国产AV影片麻豆精品传媒| 草草浮力影院| 国产免费福利网站| 日韩精品福利视频在线观看| 元码人妻精品一区二区三区9| 97精品国产91久久久久久久| 国产成人女人在线观看| 色8久久人人97超碰香蕉987| 欧美视频二区欧美影视| 亚洲熟妇一区二区三个区| 中文字幕成人精品久久不卡| 国精偷拍一区二区三区| 2020年最新国产精品正在播放| 欧美大胆老熟妇乱子伦视频| 亚洲综合无码久久精品综合| 亚洲国产在一区二区三区| 日韩视频一区二区三区视频| 国产精品特级毛片一区二区三区| 亚洲精品成人一二三专区| 高平市| 亚洲av天堂综合网久久| 亚洲av永久无码精品水牛影视| 老司机午夜精品视频资源| 这里只有精品免费视频| 亚洲无av在线中文字幕| 国产 麻豆 日韩 欧美 久久| 午夜福利日本一区二区无码| 精品国产成人亚洲午夜福利| 亚洲精品沙发午睡系列| 日韩精品中文字幕国产一| 欧美白妞大战非洲大炮| 免费国精产品wnw2544| 亚洲国产午夜理论片不卡|