12 Python指令碼學習筆記十二作用域與遞迴

2021-08-10 15:43:38 字數 1234 閱讀 4906

12. python指令碼學習筆記十二作用域與遞迴

本篇名言:「面對困難,微笑含著勇敢;面對挫折,微笑帶著自信;面對誤解,微笑露出寬容;面對冷漠,微笑洋溢熱情;面對愛情,微笑代表真心。願你微笑面對人生。」

python 有個內建的vars函式可以返回變數字典。如下:

>>>x=1

>>> scope=vars()

>>> scope['x']

>>> scope['x']+=1

>>> scope['x']

這個字典叫做命名空間或者作用域。

每個函式呼叫都會建立乙個新的作用域。

deffoo(): x=

42 printx

x=1

foo()

printx

輸出如下:

42可以通過函式globals函式獲取全域性變數值。

如下:>>> x=1

>>> globals()['x']

如果想在函式中引用全域性變數,可以通過 global x引用。

函式可以呼叫自身。就可以簡單理解成遞迴呼叫。

什麼是階乘 **就不說了,不知道就去看下高中數學。

正常版本實現如下:

deffactorial(n):

result=n

fori in

range(

1,n):

result *= i

return

result

print

factorial(3)

遞迴實現:

deffactorial(n): if

n == 1:

return1

else:

return

n*factorial(n-1)

print

factorial(3)

遞迴實現如下:

defpower(x,n): if

n==0:

return1

else:

return

x*power(x,n-1)

print

power(2,

4)

遞迴可以用迴圈來替換的,但是在多數情況下,遞迴更加易讀,有時會大大提高可讀性。

學習筆記 12 python入門 異常處理

立即學習 1.file open 123.txt r r 去讀乙個檔案,如果能開啟就可以 寫入 2.try 嘗試執行需要執行的語句,如有出錯則按照安排好的預案執行。假設目前開啟的路徑沒有123.txt 這個檔案 file open 123.txt r except exception as e 將e...

12 python學習筆記 異常處理,日誌模組

什麼是異常 什麼是錯誤 程式真正執行前 有直譯器發現的一般為語法錯誤 異常一般由邏輯引發 異常處理使用 try 語句實現 格式 try 程式 段 except 異常型別 異常處理 except 可以有多條語句,分別處理不同的異常 else 沒有異常時的操作 finally 清理動作 except 之...

12 Python函式學習(中)

作用域 區域性和全域性變數 前向引用 deftest name,age 18,args,kwargs print name print age,args,kwargs school test 程式執行從上到下的,這裡的school還沒定義,所以執行報錯。test alex age 20,flag f...