1. 程式人生 > 其它 >python 函式基礎知識

python 函式基礎知識

1.函式返回的多個值會被組織成元組被返回,也可以用多個值來接收

2.呼叫函式時候,傳入的引數叫實際引數,簡稱實參,定義函式的引數叫做形式引數,簡稱形參
-- 位置引數 def mymax(x,y):
a.按照位置傳值 mymax(20,10)
b.按照關鍵字傳值 mymax(y = 10,x = 20)
c.位置、關鍵字形式混著用 mymax(10,y = 20) 位置引數必須在關鍵字引數的前面,對於一個形參只能賦值一次

-- 預設引數 將變化比較小的值設定成預設引數 預設引數是一個可變資料型別
def stu_info(name,sex = "male"):
stu_info('alex')
stu_info('eva','female')

-- 動態引數 按位置傳值多餘的引數都由args統一接收,儲存成一個元組的形式
def mysum(*args):
mysum(1,2,3,4)

def stu_info(**kwargs):
stu_info(name = 'alex',sex = 'male')


3.程式碼在執行伊始,建立的儲存“變數名與值的關係”的空間叫做全域性名稱空間,在函式的執行中開闢的臨時的空間叫做區域性名稱空間,*內建名稱空間中存放了python直譯器為我們提供的名字:input,print,str,list,tuple...它們都是我們熟悉的,拿過來就可以用的方法

4.各名稱空間載入順序:內建名稱空間(程式執行前載入)->全域性名稱空間(程式執行中:從上到下載入)->區域性名稱空間(程式執行中:呼叫時才載入)

5.作用域
作用域就是作用範圍,按照生效範圍可以分為全域性作用域和區域性作用域。
全域性作用域:包含內建名稱空間、全域性名稱空間,在整個檔案的任意位置都能被引用、全域性有效
區域性作用域:區域性名稱空間,只能在區域性範圍內生效

6.global關鍵字 在函式內部使用global關鍵字修飾某引數後,只要呼叫了該函式,不管該引數在其他地方是否已經存在,
呼叫該函式後的該引數值為內部函式所賦予的值

7.函式名本質上就是函式的記憶體地址--可以被引用,可以被當作容器型別的元素,可以當作函式的引數和返回值

8.閉包函式--內部函式包含對外部作用域而非全劇作用域名字的引用,該內部函式稱為閉包函式
def func():
name = 'eva'
def inner():
print(name)
print(inner.__closure__) #判斷是否為閉包函式的方法
return inner

f = func()
f()

生命很短,請讓生活更精彩一些!