「Python先求值not操做符,而後是and操做符,而後是or操做符。」正則表達式
什麼是標準庫? 「Python也包括一組模塊,稱爲「標準庫」。每一個模塊都是一個Python程序,包含一組相關的函數,能夠嵌入你的程序之中。例如,math模塊有數學運算相關的函數,random模塊有隨機數相關的函數,等等。」編程
咱們可使用 import 模塊名和 from 模塊名稱 import 函數。在使用第二種方式的時候不須要模塊前綴,可是推薦使用第一種方式,由於完整的名稱會增長代碼的可讀性。小程序
「隨着你得到更多的編程經驗,經常會發現本身在爲代碼「消除重複」,即去除一些重複或複製的代碼。消除重複可以使程序更短、更易讀、更容易更新。」dom
「在Python中有一個值稱爲None,它表示沒有值。None是NoneType數據類型的惟一值(其餘編程語言可能稱這個值爲null、nil或undefined)。就像布爾值True和False同樣,None必須大寫首字母N。」 「在幕後,對於全部沒有return語句的函數定義,Python都會在末尾加上return None。」編程語言
「Python有不一樣的做用域,而不是讓全部東西都成全局變量,這是有理由的。這樣一來,當特定函數調用中的代碼修改變量時,該函數與程序其餘部分的交互,只能經過它的參數和返回值。這縮小了可能致使缺陷的代碼做用域。若是程序只包含全局變量,又有一個變量賦值錯誤的缺陷,那就很難追蹤這個賦值錯誤發生的位置。它可能在程序的任何地方賦值,而你的程序可能有幾百到幾千行!但若是缺陷是由於局部變量錯誤賦值,你就會知道,只有那一個函數中的代碼可能產生賦值錯誤。」 「雖然在小程序中使用全局變量沒有太大問題,但當程序變得愈來愈大時,依賴全局變量就是一個壞習慣。」 「當程序執行在全局做用域中時,不存在局部做用域,因此不會有任何局部變量。這就是爲何只有全局變量能用於全局做用域。」函數
「一般,對於一個函數,你要知道的就是它的輸入值(變元)和輸出值。你並不是老是須要加劇本身的負擔,弄清楚函數的代碼實際是怎樣工做的。若是以這種高層的方式來思考函數,一般你們會說,你將該函數當作是一個黑盒。 這個思想是現代編程的基礎。本書後面的章節將向你展現一些模塊,其中的函數是由其餘人編寫的。儘管你在好奇的時候也能夠看一看源代碼,但爲了能使用它們,你並不須要知道它們是如何工做的。並且,由於鼓勵在編寫函數時不使用全局變量,你一般也沒必要擔憂函數的代碼會與程序的其餘部分發生交叉影響。」this
pyperclip模塊有copy()和paste()函數,能夠向計算機的剪貼板發送文本,或從它接收文本。將程序的輸出發送到剪貼板,使它很容易粘貼到郵件、文字處理程序或其餘軟件中。pyperclip模塊不是Python自帶的。要安裝它,請聽從附錄A中安裝第三方模塊的指南。安裝pyperclip模塊後,在交互式環境中輸入如下代碼:spa
>>> import pyperclip
>>> pyperclip.copy('Hello world!')
>>> pyperclip.paste()
'Hello world!'
複製代碼
固然,若是你的程序以外的某個程序改變了剪貼板的內容,paste()函數就會返回它。例如,若是我將這句話複製到剪貼板,而後調用paste(),看起來就會像這樣:code
>>> pyperclip.paste()
'For example, if I copied this sentence to the clipboard and then called
paste(), it would look like this:」
複製代碼
有一個可選的字符串參數,指定兩邊的哪些字符應該刪除。在交互式環境中輸入如下代碼:ip
>>> spam = 'SpamSpamBaconSpamEggsSpamSpam'
>>> spam.strip('ampS')
'BaconSpamEggs'
複製代碼
向strip()方法傳入參數'ampS',告訴它在變量中存儲的字符串兩端,刪除出現的a、m、p和大寫的S。傳入strip()方法的字符串中,字符的順序並不重要:strip('ampS')作的事情和strip('mapS')或strip('Spam')同樣。」