這篇文檔是一篇個人學(xué)習(xí)Python的一些遺漏或者記得不熟悉的東西,不成系統(tǒng)。
1.輸出
1.1 格式化輸出
python的格式化輸出主要有以下幾種方式:
- 將變量直接放入大括號
my_name="Lala"
print(f"Let's talk about {my_name}.")
- 使用format函數(shù)+{}
formatter = "{} {} {}"
print(formatter.format("one", True, 1))
- Python2 的方式
my_name="Lala"
print("Let's talk about %s."% my_name)
1.2 print不換行
正常情況下,我們使用print函數(shù),會產(chǎn)生換行符,例如:
print("abc")
print("edf")
執(zhí)行后,會輸出:
abc
edf
如果要想不生成換行符,則需要添加end
參數(shù):
print("abc", end='')
print("edf")
2. 解碼和編碼
《笨辦法學(xué)python3》有一個關(guān)于解碼和編碼的小口訣——“解碼字符串,編碼字節(jié)串”(Decode bytes, encode strings, DBES)
3. Boolean的返回值
Python和很多編程語言一樣,都是給布爾表達(dá)式返回兩個被操作對象中的一個,而非True或False。這意味著,如果你寫了Flase and 1
,得到的是第一個操作數(shù)(False
),而非第二個操作數(shù)(1),但如果你寫的是True and 1
,得到的將是第二個操作數(shù)(1)
---《笨辦法學(xué)python3》
True and 1
上述表達(dá)式的返回值是1
False and 1
上述表達(dá)式的返回值是Fasle
3. 字典
3.1 有序字典
使用collections.OrderedDict,暫時用不到,先記錄下來
4. 列表
列表復(fù)制:
result = l1[:]
5. 面向?qū)ο?/h1>
Python3的面向?qū)ο蟮囊恍┗驹瓌t:
- 不惜一切代價避免多重繼承
- 如果一些代碼在不同的位置和場合會用到,就用組合把它們做成模塊
- 只有代碼的可復(fù)用部分之間有清楚的關(guān)聯(lián),可以通過一個單獨(dú)的共性聯(lián)系起來的時候,才使用繼承。
- 類應(yīng)該使用"駝峰式大小寫"(camel case)
- init不應(yīng)該做太多的事情
- 其他函數(shù)應(yīng)該使用下劃線分割詞
- 不要使用來自模塊的變量或者全局變量