日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python基础之名称空间和作用域、函数嵌套

發布時間:2024/7/19 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础之名称空间和作用域、函数嵌套 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、名稱空間

1、定義:存放名字與值的綁定關系

2、名稱空間分為:內置名稱空間、全局名稱空間、局部名稱空間

內置名稱空間:python解釋器自帶的名字,python解釋器啟動就會生成

全局名稱空間:文件級別定義的名字都會存放與全局名稱空間,執行python文件時會產生

局部名稱空間:定義在函數內部的名字,局部名稱空間只有在調用函數時才會生效,函數調用結束則失效

3、加載的順序:三者的加載順序:內置名稱空間->全局名稱空間->局部名稱空間

4、取值的順序:局部名稱空間->全局名稱空間->內置名稱空間7

# # max=10 # def func(): #x=1 # # max=20 # print(max) # # # func()# max=10 # # def func(): #x=1 # max=20 # # print(max) # func() # # # print(max) # # # x=0 # def f1(): # # x=1 # def f2(): # # x=2 # def f3(): # # x=3 # print(x) # f3() # f2() # # f1()

二、作用域

1、范圍:

全局作用域:內置名稱空間與全局名稱空間的名字屬于全局范圍,在整個文件的任意位置都能被引用,全局有效

局部作用域:局部名稱空間的名字屬于局部范圍,只在函數內部可以被引用,局部有效

# x=1 # def foo(): # def f2(): # print(x) # f2() # def bar(): # print(x) # # foo() # bar()# def f1(): # x=1 # def f2(): #f2=value # # x=2 # print(x) # f2() # f1() x=1 def func():x=2def f1():pass# print(dir(globals()['__builtins__'])) #全局作用域name# print(locals()) #局部作用域name func()print(globals() is locals())

2、作用順序是:局部作用域》》》》》》全局作用域

三、函數嵌套

1、函數的嵌套定義

def f1():def f2():def f3():print('from f3')print('from f2')f3()print('from f1')f2() # print(f1) f1()

2、函數的嵌套調用

def max2(x,y):if x > y:return xelse:return ydef max4(a,b,c,d):res1=max2(a,b) #23res2=max2(res1,c) #23res3=max2(res2,d) #31return res3 print(max4(11,23,-7,31))

?

轉載于:https://www.cnblogs.com/fenglinglf/p/7003115.html

總結

以上是生活随笔為你收集整理的python基础之名称空间和作用域、函数嵌套的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。