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
factorial(3)
遞迴實現:
deffactorial(n): if
n == 1:
return1
else:
return
n*factorial(n-1)
factorial(3)
遞迴實現如下:
defpower(x,n): if
n==0:
return1
else:
return
x*power(x,n-1)
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...