Python筆記05-條件判斷和循環

之前接觸的幾種基本語句:print語句(Python 3.0中,print不再是語句,而是函數)、import語句、賦值語句。接下來了解[條件語句] 和 [循環語句] 以及:pass、del、exec語句。

【print和import的更多信息】

1.使用逗號輸出—— 打印多個表達式。

2.從模塊導入函數,可以使用:

① import module

② from module import function

③ from module import *

還可以在語句末尾增加一個as子句: import math as foobar ; foobar.sqrt(4); ===> 結果是 2.0

也可以爲函數提供別名: from math import sqrt as foobar ; foobar(4); ===> 結果是 2.0

如果兩個模塊都有open函數,那麼:

from module1 import open as open1;

from module2 import open as open2;

3.一次性給多個變量賦值:x,y,z = 1,2,3

也可以交換多個變量:

這就叫做:[序列解包]—— 將多個值的序列解開,然後放到變量的序列中。

應用到字典中:

4.鏈式賦值——將同一個值賦給多個變量: x = y =somefunction()

5.增量賦值:+=,-=,*=,/=, ...

6.Python中,用冒號(:) 標識語句塊的開始,塊中的每一個語句都是縮進的,當回退到和已經閉合的塊一樣的縮進量時,表示當前塊結束。類似於PHP的{ ... }

【條件語句】

1. 下列值在布爾類型中都表示false: False None 0 “” () [] {} 。其他的則爲true。

使用bool函數可以將其他類型轉換爲布爾:

2.if和else語句:

3. elif 子句 (else if 的縮寫)

4.if嵌套:

【運算符】

1. 相等運算符: ==

2. x is y : 判斷x和y是否是同一個對象,注意和 == 對比:

[總結] 使用==判定兩個對象是否相等,使用is判定兩個對象是否等同(是否是同一個對象)。

3. in 成員資格運算符:

4. 且/或/非: and / or / not .

5.三元運算符: a if b else c :如果b爲真則返回a,否則返回c。

【while循環】

1.判斷用戶是否輸入了名字:

[說明] 如果輸入了空格,也會過關。那麼應該這樣: while not name or name.isspace()

【for循環】

—— 如果能使用for循環,則儘量不要使用while循環。

◆ range的使用(類似於分片):

【循環遍歷字典元素】

【一些迭代工具】

(1)並行迭代——程序可以同時迭代兩個序列。

◆ 內建的zip函數可以把兩個序列“壓縮”在一起,然後返回一個元組的列表。

◆ zip函數可以用於任意多的序列:

(2)編號迭代——有時候想要迭代序列中的對象,同時還要獲取當前對象的索引。

可以使用內建的 enumerate 函數:

(3)翻轉和排序迭代——reversed 和 sorted 函數:不原地修改對象,而是返回翻轉或排序後的版本。

【跳出循環】 —— break 和 continue

【列表推導式——輕量級循環】

利用其他列表創建新列表,類似於for循環。下面例子由 range(10) 中每個x的平方組成。

打印出能被3整除的平方數:

也可以增加更多for語句的部分:

【另外三個語句:pass、 del、 exec 】

(1)Python中空代碼塊是非法的,所以需要在語句塊中加上pass:

(2)del語句:移除對象。

(3)exec:執行一個字符串。

(4)eval:用於“求值”—— 會計算Python表達式並且返回結果值。

【小結】

 

【代碼】https://github.com/rxbook/study-python/tree/master/05

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