例項1:
defsay
(word)
:def
name
(name)
:print
(word,name)
return name
hi = say(
'你好'
)hi(
'小明'
)#你好 小明
bye=say(
'再見'
)hi(
'小明'
)#再見 小明
例項2:
deffunc()
: res =
defput
(x):
defget()
:return res
return put,get
p,g = func()p(
1)p(2
)print
("當前res值:"
,g()
)#當前res值: [1, 2]p(3
)p(4)
print
("當前res值:"
,g()
)#當前res值: [1, 2, 3, 4]
yield關鍵字可以將函式執行的中間結果返回但是不結束程式。例項:
deffunc
(n):
i=0while iyield i
i +=
1for i in func(10)
:print
(i)
yield關鍵字的作用就是把乙個函式變成了乙個generator(生成器)
關於實現斐波那契的幾種比較:
第一種:
def
fab(
max)
: n,a,b=0,
0,1while n<
max:
print
(b) a,b=b,a+b
n=n+
1fab(
5)
注意:以上直接在函式中列印數字會導致該函式可復用性變差
第二種:
def
fab(
max)
: n,a,b=0,
0,1 l=
while n<
max:
a,b=b,a+b
n=n+
1return l
for i in fab(5)
:print
(i)
第二種函式在執行中占用的記憶體會隨著引數max的增大而增大
第三種:
def
fab(
max)
: n,a,b=0,
0,1while n<
max:
yield
(b) a,b=b,a+b
n=n+
1for i in fab(5)
:print
(i)
第三種比較合理! python知識撿拾 內建方法
getattr setattr 和 getattribute 當讀取物件的某個屬性時,python會自動呼叫 getattr 方法。例如fruit.color將轉換為fruit.getattr color 例項 class fruit object def init self,color red p...
python知識撿拾 模組內建函式
如 def sum x 1,y 2 return x y print sum,1,3 2.filter 對某個序列做過濾處理 filter func or none,sequence 引數func是自定義的過濾函式,在函式func item 中定義過濾的規則,如果func為 none 則過濾項ite...
python知識撿拾 URL及urllib篇
python中用urlparse來對url字元進行解析 urlparse方法由兩個可選的引數 default scheme和allow fragments default scheme主要用來為不包含協議部分的url指定預設協議,此引數預設值為空字串 allow fragments則用來指示是否可以...