二、Python2.x 基本內容2

2.1 條件結構
if語句
     if 條件表達式:         #注意有冒號
          代碼塊              #注意縮進
     else:                       #與if對齊
          代碼塊    

elif語句
     if 條件:
          代碼塊
     elif 條件:
          代碼塊
     ...
     elif 條件:
          代碼塊
     else:
          代碼塊

條件嵌套
     同等縮進爲同一條件結構

猜數字遊戲:

運行結果:

2.2range和xrange
     產生一組有規律的數據
語法:
range(start,end,step = 1)  #start:起始值;  end:終值;  step:步長,不能爲0,默認爲1
range(start,end)
range(end)                       #0開始,不包含終值
以上都是生成真實的列表

xrange()             #生成器,用多少生成多少;語法和range一樣;Python3中沒有xrange,當Python3中的range功能與xrange一樣
顯示xrange列表內容用list(xrange(10))

2.3循環
while循環
     while 條件:       #注意有冒號
          代碼塊        #注意縮進
for 循環
     明確循環次數
語法
     for 一個變量 in 可迭代的對象:           #注意冒號
          代碼塊
可迭代的對象也就是說其值是可遍歷的,在Python中可迭代的對象主要有string(字符串)、list(列表)、tuple(元組)、dictionary(字典)、file(文件)
for可以用列表解析和生成器表達式中
列表解析
     由一對中括號構成,先是一個表達式 ,然後for循環;最後還可以加一個條件

生成器表達式
     用的是圓括號,和列表解析很像,但不創建列表而是返回生成器,和Python2中xrange()以及Python3中的range()函數一樣,一般在數據量比較大的時候使用

2.4 循環中的break,continue和else
break語句
     跳出當前所在的循環結構
continue語句
     停止當前循環,重新進入循環(也就是停止continue後面的語句)
     在while循環中,用於判斷循環條件是否滿足(滿足則跳過continue後面的語句 ,重新進入循環)
     在for循環中,用於判斷迭代是否已經結束
循環中的else
     如果循環代碼從break處終止,跳出循環
     正常結束循環,則執行else中的代碼,while也可以和else搭配(正常結束while,執行else中的代碼)
2.5自定義函數
自定義函數的創建,語法
     def 函數名(參數):         #參數可寫可不寫,一般寫函數時,代碼塊先寫docstring,也就是代碼的註釋
          代碼塊
查看一個函數的docstring,可以:print 函數名.__doc__
默認參數
     以賦值語句的形式提供
     默認參數的值可以改變
     不允許默認參數後面跟非默認參數,默認參數一般需要放置在參數列表的最後
關鍵字參數
     直接寫上參數的名字賦值,一旦使用了關鍵字參數,後面的參數都必須使用關鍵字參數
     關鍵字參數是讓調用者通過使用參數名區分參數
     允許改變參數列表中的參數順序
傳遞函數
     把函數名當作參數傳遞給另一個函數
lambda函數,匿名函數
     lambda 參數列表: 表達式    #注意冒號,返回的是表達式結果

2.6遞歸
     遞歸必須要有邊界條件,即停止遞歸的條件
     遞歸的代碼更簡潔,更符合自然邏輯,更容易理解
     遞歸執行效率不高,系統資源消耗比循環大,一般沒有循環特徵,但有遞歸特徵採用,比如漢諾塔
2.7變量作用域
全局變量
     在程序代碼主體部分的變量
局部變量
     在函數中的變量
如果全局變量和局部變量同名,遵循內層屏蔽外層
Python全局變量不能在函數內重新賦值
global語句
     強調全局變量,使得全局變量可以在函數內重新賦值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章