python笔记(摘抄廖雪峰python课堂)
Python對bytes類型的數據用帶b前綴的單引號或者雙引號來表示。
以Unicode表示的str可以通過encode()的方法來編碼為指定的bytes。
len()函數計算的是str的字符數,如果換成bytes,len()函數就計算字節數。
在操作字符串時,我們經常遇到str和bytes的互相轉換。為了避免亂碼問題,應當始終堅持使用UTF-8編碼對str和bytes進行轉換。
由于Python源代碼也是一個文本文件,所以,當你的源代碼中包含中文的時候,在保存源代碼時,就需要務必指定保存為UTF-8編碼。當Python解釋器讀取源代碼時,為了讓它按UTF-8編碼讀取,我們通常在文件開頭寫上這兩行:
第一行注釋是為了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個注釋;
第二行注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。
定義只有一個元素的tuple的時候,不可以寫成:t = (1)
這樣定義的是一個整數,要寫成:
t = (1,)
加上一個逗號來區分。
input()返回的數據類型是str,必須先把str轉換成整數。Python提供了int()函數來完成這件事情。
如果想定義一個什么事也不做的空函數,可以用pass語句:
def nop():
pass
實際上pass可以用來作為占位符,比如現在還沒想好怎么寫函數的代碼,就可以先放一個pass,讓代碼能運行起來。
返回多個值的函數,實際上返回的是一個tuple
在定義一個函數的時候如果有必要,可以先對參數的數據類型做檢查;
注意默認參數的使用,可以在一個函數的調用的時候少寫參數。
注意事項:設置默認參數時,有幾點要注意:
一是必選參數在前,默認參數在后,否則Python的解釋器會報錯(思考一下為什么默認參數不能放在必選參數前面);
二是如何設置默認參數。
當函數有多個參數時,把變化大的參數放前面,變化小的參數放后面。變化小的參數就可以作為默認參數。
定義默認參數要牢記一點:默認參數必須指向不變對象!
像:str、None
定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號。在函數內部,參數numbers接收到的是一個tuple,因此,函數代碼完全不變。但是,調用該函數時,可以傳入任意個參數,包括0個參數。
*nums表示把nums這個list的所有元素作為可變參數傳進去。這種寫法相當有用,而且很常見。
關鍵字參數有什么用?它可以擴展函數的功能。比如,在person函數里,我們保證能接收到name和age這兩個參數,但是,如果調用者愿意提供更多的參數,我們也能收到。試想你正在做一個用戶注冊的功能,除了用戶名和年齡是必填項外,其他都是可選項,利用關鍵字參數來定義這個函數就能滿足注冊的需求。
和關鍵字參數**kw不同,命名關鍵字參數需要一個特殊分隔符*,*后面的參數被視為命名關鍵字參數。
參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。
*args是可變參數,args接收的是一個tuple;
**kw是關鍵字參數,kw接收的是一個dict。
總結
以上是生活随笔為你收集整理的python笔记(摘抄廖雪峰python课堂)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 类型检查_Java开发笔记(五
- 下一篇: websocket python爬虫_p