雙休或者放假期間,我就適合不作業然后學點自己想學的、感興趣的,[捂臉]
目錄
- 1. map()
- 2. filter()
- 3. 例外機制
- 4. 檔案讀寫
- 4.1 常見的打開方式
- 4.2 中文亂碼問題
- 4.3 f.write()與f.writelines()
- 4.4 f.read()、f.readline()和f.readlines()
- 4.5 csv檔案讀寫
- 5. os模塊
- 6. 模塊和包
1. map()
map()用于對容器中元素進行映射,省掉了遍歷這一步,很方便,

def f(x):
return x * 2
data = [1, 2]
a = f(data)
print(a) # [1, 2, 1, 2]
b = map(f, data)
print(b) # <map object at 0x000001CB0EA3A388>
c = list(map(f, data))
print(c) # [2, 4]
# 如果要實作map的功能:
d = []
for i in data:
y = f(i)
d.append(y)
print(d) # [2, 4]
- 如果直接用list相乘,是對list中的元素重復,而不是進行映射;
- map之后形成的是一個map object,如果要變為list還需要進行轉換,
2. filter()
filter()用于對容器中的元素進行過濾處理,同樣不用去遍歷每個元素,

def f(x):
return x > 3
data = [2, 5, 6, 9, 3, 2, 1]
a = list(filter(f, data))
print(a) # [5, 6, 9]
3. 例外機制
所謂例外機制,就是指程式出現問題時依然可以正確的執行剩余的程式,而不會因為例外而終止程式執行,
我一般用try–except陳述句,但處理方式有很多,比如:
- try–多個except:

- try–except–else:
如果try沒有例外,則執行else,如果try例外,則執行except,不再執行else, - try–except–finally:
finally無論是否發生例外都會被執行,通常用來釋放try中申請的資源,

with代碼塊執行完畢后自動還原進入該代碼之前的狀態,總能保證資源正常釋放,
with open('test.txt', 'r') as f:
for line in f.readlines():
print(line)
- return陳述句
一般不要將return陳述句放到try、except、else、finally塊中,可能會出錯,建議放到最后,
4. 檔案讀寫
我知道的不再贅述,
4.1 常見的打開方式
w:檔案存在會重寫內容;a:檔案存在會在末尾追加內容,

4.2 中文亂碼問題

如果有中文,打開檔案時要加上 encoding = ‘utf-8’
4.3 f.write()與f.writelines()
- f.write()只能將字串寫到檔案中
- f.writelines()把字串串列寫入,但是不會轉行,如果需要換行,要添加換行符,
with open('school/bookcontent/result2/a.txt', 'w', encoding='utf-8') as f:
s = ['xiaoxi', 'xiaoming']
f.write(s) # TypeError: write() argument must be str, not list
with open('school/bookcontent/result2/a.txt', 'w', encoding='utf-8') as f:
s = ['xiaoxi', 'xiaoming']
f.writelines(s) # xiaoxixiaoming
with open('school/bookcontent/result2/a.txt', 'w', encoding='utf-8') as f:
s = ['xiaoxi\n', 'xiaoming\n']
f.writelines(s)
>>> xiaoxi
xiaoming
4.4 f.read()、f.readline()和f.readlines()
- f.read()一次讀取檔案所有內容;
- f.readline()從檔案中讀取一行內容;
- f.readlines()把檔案中每一行都作為獨立的字串物件,并將這些物件放入串列回傳,
with open('school/bookcontent/result2/a.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
>>> xiaoxi
xiaoming
with open('school/bookcontent/result2/a.txt', 'r', encoding='utf-8') as f:
content = f.readline()
print(content)
>>> xiaoxi
with open('school/bookcontent/result2/a.txt', 'r', encoding='utf-8') as f:
content = f.readlines()
print(content)
>>>['xiaoxi\n', 'xiaoming\n']
現在知道為啥用f.readlines()讀取檔案內容后,要用strip(’\n’)去掉換行符了,
4.5 csv檔案讀寫
我一般用pandas中的pd.read_csv(),但還可以用csv包,
5. os模塊
os模塊可以幫助我們直接對作業系統進行操作,呼叫檔案、命令等,我總結一些我自己常用的吧,



6. 模塊和包


常用庫串列:
Pypingyin: 漢字拼音轉換工具





人類知識真真真浩如煙海,你絕對可以找到自己感興趣的并且愿意主動去學習的東西!加油,最后萬物歸于一物,學思維比學知識重要,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/323935.html
標籤:python
