一、函數名是能夠被引用的python
二、函數名能夠當參數使用函數
三、函數名能夠看成返回值使用spa
四、函數名能夠被當作容器類型的元素code
PS:傳參的時候沒有特殊需求,必定不要加括號,加括號會當場執行對象
def index(): def home(): print('from home') home() index() 打印結果: from home
在python提早給定義完的名字,就是存在的內置名稱空間blog
存放於文件及的變量名字,就是全局名稱空間生命週期
if,while,for內容定義的名字執行以後都存放於全局作用域
函數內部的全部名字都是存放於當前函數的內置名稱空間class
在python解釋器啓動時候生效,關閉解釋器失效容器
當你啓動當前py文件時生效,當前頁面代碼執行結束後失效
當你調用當前函數時生效,函數體代碼左後一行執行結束後就失效
PS:函數內部使用的名字,在定義階段已經規定了,與你的調用位置無關
全局做用域能夠調用的名字就存在於全局做用域
局部能夠調用的名字就存放於局部做用域
x = 1 def index(): global x # 聲明全局變量 x = 2 index() print(x) 打印結果 2
def index1(): x = 1 def index2(): nonlocal x #聲明局部變量(改寫了上層的值) x = 2 index2() print(x) index1() 打印結果: 2