Python入門指南學(xué)習(xí)筆記-3-流程控制

for循環(huán)的else子句

for循環(huán)可以有一個(gè)else子句;它在循環(huán)迭代完整個(gè)列表時(shí)執(zhí)行,但循環(huán)被break中止的情況下不會(huì)執(zhí)行。以下搜索素?cái)?shù)的示例程序演示了這個(gè)子句:

<pre>

for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... # loop fell through without finding a factor
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
</pre>

函數(shù)默認(rèn)值解析

函數(shù)默認(rèn)值會(huì)解析,并且只賦值一次

<pre>
i = 5
def f(arg=i):
print arg
i = 6
f()

結(jié)果如下:

5
</pre>

默認(rèn)值只賦值一次,默認(rèn)值為引用對(duì)象時(shí)如下:

def f(a, L=[]):
    L.append(a)
    return L
print f(1)
print f(2)
print f(3)
# 結(jié)果如下:
[1]
[1, 2]
[1, 2, 3]

想想如何改進(jìn)...

函數(shù)參數(shù)

def parrot(voltage,action='voom',*arguments,**keywords):

分別是參數(shù)、可選參數(shù)、可變參數(shù),關(guān)鍵字參數(shù)
可變參數(shù)接收一個(gè)元祖,關(guān)鍵字參數(shù)接收一個(gè)字典

Lambda

通過lambda關(guān)鍵字,可以創(chuàng)建短小的匿名函數(shù)。這里有一個(gè)函數(shù)返回它的兩個(gè)參數(shù)的和:lambda a,b:a+b 。分號(hào)前面是參數(shù),分后后面是返回值。Lambda 形式可以用于任何需要的函數(shù)對(duì)象。出于語法限制,它們只能有一個(gè)單獨(dú)的表達(dá)式。
lambda 形式可以從外部作用域引用變量:

>>> def make_incrementor(n):
...    return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容