Python知識點整理(基礎篇)
阿新 • • 發佈:2019-01-05
Python 資料型別基礎
字面常量
所謂字面,就是我們在程式中直接以值的行式來操作、表現(可以對照變數); 所謂常量,是指這些值不能再被改變了。 字面常量的種類: (1)整形 整形數值 預設是int型,例如:22,33 如果要表示一個long型,則加 l、L字尾。例如:22L、33L (2)浮點型 浮點數預設是雙精度dobule型的。例如:33.3 如果要表示單精度浮點型,加f、F字尾。例如:33.3F (3)字串型 包含在雙引號""中的字元序列,是字串。例如:“hello,world” (4)字元型 用單引號''包含,或者用/轉義的字元,是字元型。例如:/n、'a'
Python表示式
列表推導式(list comprehension)
第一種語法:首先迭代iterable裡所有內容,每一次迭代,都把iterable裡相應內容放到iter_var中,再在表示式中應用該iter_var的內容,最後用表示式的計算值生成一個列表。
第二種語法:加入了判斷語句,只有滿足條件的內容才把iterable裡相應內容放到iter_var中,再在表示式中應用該iter_var的內容,最後用表示式的計算值生成一個列表。
>>> [x**2 for x in range(9)]
[0, 1, 4, 9, 16, 25, 36, 49, 64]
>>> [x**2 for x in range(9) if x%2==0]
[0, 4, 16, 36, 64]
>>> [(x+1,y+1) for x in range(3) for y in range(3) if x>=y] #巢狀的for語句?
[(1, 1), (2, 1), (2, 2), (3, 1), (3, 2), (3, 3)]
生成器表示式
說 明:列表解析是比較早的Python版本里就引進的(好像是2.0版本),而生成器表示式則是在2.4中引入的新內容,它和列表解析的語法很像,但是在大資料量處理時,生成器表示式的優勢就體現出來了,因為它的記憶體使用方式更好,效率更高,它並不建立一個列表,只是返回一個生成器。當然,列表解析並不會被遺棄。
舉例:
>>> (i + 1 for i in range(10) if i % 2)
<generator object <genexpr> at 0x011DC5D0>
>>> g = (i + 1 for i in range(10) if i % 2)
>>> l = []
>>> for j in g:
l.append(j)
>>> l
[2, 4, 6, 8, 10]
從上面可看出,列表解析和生成器表示式語法雖然很像,但實質上還是有很大不同的。
條件表示式
smaller = x if x < y else y
Python流程語句
迴圈中的else
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在迴圈正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。 例子:#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
輸出:
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5