2019-01-09
經過了十天左右的休息,重新開始學習玩蛇
當區域性變數與全域性變數同名時,在定義區域性變數的子程式內,區域性變數起作用,在其他地方全域性變數起作用。
global可以
在函式中獲取全域性變數,變數本質上就是全域性變數,可讀取可賦值;如果函式的內容無global關鍵字,優先讀取全域性變數,只能讀取全域性變數,無法對全域性變數重新賦值,可是對於可變型別,可以對內部元素進行操作
name =["wcb","
lyn"
]def
home():
"baby")
(name)
home()
(name)
結果為:['
wcb', '
lyn', '
baby']
['wcb', '
lyn', '
baby
']
name ="wcb"
defhome():
name = "
wcb"
defhomehome():
nonlocal name
#nonlocal,指定上一級變數
name = "
lyn"
homehome()
(name)
(name)
home()
(name)
結果為:
wcblyn
wcb
1.必須有乙個明確的結束條件
2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少
3.遞迴效率不高,遞迴層次過多會導致棧溢位
3.匿名函式:
lambda 形參:處理邏輯
函式名 = lambda 形參:處理邏輯
函式名()
func = lambda x:x+1print(func(10))
func1 = lambda x,y,z:(x+1,y+1,z+1)print(func1(1,2,3))
func = lambda x,y,z:x+1,y+1,z+1 #
需要自己加括號
print(func(1,2,3))
2019-01-10 16:38:35
Python初學第五天 函式之遞迴函式
遞迴函式就是在函式內部呼叫自身的函式,如階乘 n 用 fact n 表示 def fact n if n 1 return 1 return n fact n 1 遞迴函式的定義簡單,邏輯清晰,理論上所有遞迴函式都可以改寫為迴圈的方式,但是迴圈的邏輯不如遞迴函式清晰。使用遞迴函式時,需要防止棧溢位,...
國慶第五天
直接在寢室待了乙個上午 一 matlab 試了一下昨天安裝的matlab2010b發現檔案都打不開,報這個錯 undefined function or method uiopen for input arguments of type char 二 c 1.找到了個之前 裡的乙個問題 把本週開頭和...
集訓第五天
今天學習了乙個快速指數冪取餘的演算法。就拿一道題來說明 description 上初中的時候我們就學會了冪乘運算,可是我們卻不知道對於高階的冪乘,出結果的方法比較慢,那麼你有什麼更好的方法嗎?input 第1行,乙個整數n 1 n 1000 表示要計算的資料組數 第2 n 1行,每行兩個整數,第1個...