python學習 函式 作用域

2021-07-28 15:01:40 字數 959 閱讀 2385

定義函式:

>>> def do_nothing()

pass

呼叫函式:

>>> do_nothing()

none:是python中的乙個特殊的值,它和false,空值是有區別的。

注意函式引數的傳入。

使用*收集位置引數:當引數被用在函式內部時,星號將一組可變數量的位置引數集合成引數值的元組。

>>> def print_args(*args):

print('posistionaltuple:',args)

>>> print_args()

posistional tuple: ()

>>> pring_args(3,2,1)

posistional tuple: (3, 2, 1)

用來建立python序列的乙個物件,它可以迭代龐大的序列,且不需要再記憶體中建立和儲存整個序列,range()就是乙個資料生成器。每次迭代生成器時,它會記錄上一次呼叫的位置,並且返回下乙個值。這一點和普通函式是不一樣的,一般函式都不記錄前一次呼叫,而且都會在函式的第一行開始執行。定義生成器函式,它的返回值使用yield語句宣告。

裝飾器實質上是乙個函式。它把乙個函式作為輸入並且返回另外乙個函式。

全域性變數、區域性變數,在區域性呼叫全域性變數,要加顯式的關鍵字global

兩個獲取命名空間的函式:

. locals() 返回乙個區域性命名空間內容的字典;

.globals() 返回乙個全域性命名空間內容的字典;

名稱中兩個下劃線__開頭和結束的,都是python的保留用法,不能在自定義的變數中使用。

乙個函式的名稱是系統變數function.__name__,它的文件字串是 function.__doc__,它的主程式被賦值特殊的名字__main__

需要除了異常型別以外其它的異常細節,可以使用下面的格式獲取整個異常物件:

except exceptiontype as name

Python 函式作用域

python中變數作用域分4種情況 x max 1,6 max為系統變數,它的作用域為python的所有模組 y 1 y為全域性變數,它的作用域為當前模組 defouter i 3 i的作用域為當前函式,包括巢狀函式 definner count 2 count為區域性變數,作用域只在當前函式有效函...

python 函式作用域小記

函式內部的變數只作用在函式內部,外部是不能呼叫的。python 中有作用域鏈,變數會由內向外找,先在自己的作用域找,自己沒有再向上級找,直到找不到報錯。若在自己的作用域找到了變數,而在賦值之前呼叫則程式會報錯 1name milton def f1 print name f1 程式會輸出 milto...

python中函式作用域

在python中,乙個函式就是乙個作用域 name xiaoming defchange name name sthu print 在change name裡的name name change name 呼叫函式 print 在外面的name name 執行結果如下 在change name裡的na...