python是一個依靠tab定位字元和分行符號來進行流程式控制制的程式設計語言,所以必須注意它的空白字元在代碼中的作用。
一. 條件選擇語句
1. if 語句
Code
if x < y:
print "x < y"
elif x == y:
print "x == y"
else:
print "x > y"
elif是else if的縮寫,在每個判斷語句後面用冒號:
if語句塊的結束 是以一個空行來標識的。
二. 迴圈語句
1. for .. in .. 語句
Code
a = ['cat','window','description']
for x in a
print x,len(x)
同樣 for..in.. 語句的結束,也是由一個空行結束的。
三. range()函數
range函數可以產生一個鏈表。
當只有一個參數時,是從0到該參數的步進為1的鏈表。
當擁有兩個參數時,是從參數1 到 參數2 的 步進為1的鏈表。
當擁有三個參數時,是從參數1 到 參數2 的 步進為 參數3 的鏈表。
四. break語句和continue語句,以及迴圈中的else語句。
break表示跳出迴圈。
continue表示忽略以下語句,進入下一次迴圈的條件判斷。
for .. in ..語句的else表示不進入迴圈時所執行的語句,代碼如下:
1 for x in range(0)
2 print x
3 else
4 print 'end'
5
6
五. pass語句
類似於C語言中的空語句,也就是只有一個分號 ;
六. 定義函數
文法: def ..(..):
代碼如:
1 def leesay(str):
2 print 'lee:', str
3
4
七. 深入函數定義
1. 有關預設值
1 def say(s, p="lee"):
2 print p, ":", s
3
4
需要注意的是,含有預設值的參數,要放到形參末尾。
2. 有關顯示傳參
1def fun(a,b):
2 print a,b
3
4fun(b=2,a=1)
需要注意的是,當有一個參數使用了顯示傳參,其他參數都需要使用顯示傳參
3. 可變參數列表
1def fun(a,*b)
2 print a,b
3
4fun(1,2,3) # 1 (2,3)
5fun(1,2) # 1 (2,)
6fun(1) # 1 () 預設是空列表
4. 參數列表的分拆
第3個知識點是在形參上可以接受一個列表,這個是在傳參時,可以將一個類型為列表的實參,分開後傳入。
1args = [1,100,10]
2range(*args)
5. LAMBDA形式
1vfun = lambda x,y: x+y
2vfun(5,6) # result 11
lambda可以建立一個匿名函數,實現簡單的功能,與ruby的block相比,該功能實在是食之無肉棄之有味。
6. 文檔字串
1def fun():
2 """ this is
3
4doc"""
5 pass
6
7
8print fun.__doc__