10/17python學習

1、randrange([start],stop,[step]):從range(start,stop,step)中隨機選擇一個數
在下面示例中,詢問用戶要擲多少骰子,每個骰子多少面
在這裏插入圖片描述
在模塊random中,有一些重要的函數
random():返回一個0-1(含)的隨機實數;
getrandbits():以長整數方式返回n個隨機的二進制位;
uniform(a,b):返回一個a-b(含)的隨機實數;
randrange( [start],stop,[step]):從range(start,stop,step)中隨機地選擇一個數;
choice(seq):從序列seq中隨機地選擇一個元素;
shuffle(seq[,random]):就地打亂序列seq;
sample(seq,n):從序列seq中隨機地選擇n個值不同的元素。
2、模塊shelve的函數open將一個文件名作爲參數,並返回一個shelf對象,供你用來存儲數據。可像操作普通字典那樣操作它(只是鍵必須爲字符串),操作完畢(並將所做的修改存盤)時,可調用其方法close。
要正確修改使用模塊shelve存儲的對象,必須將獲取的副本賦給一個臨時變量,並在修改這個副本後再次存儲
在這裏插入圖片描述
還有一種避免這個問題的方法:將函數open的參數writeback設置爲True。這樣,從shelf對象讀取或賦給它的所有數據結構都將保存在內存中,並等你關閉shelf對象時纔將它們寫入磁盤。
3、一個使用模塊shelve的簡單數據庫應用程序:
在這裏插入圖片描述
在這裏插入圖片描述
4、模塊re提供了對正則表達式的支持。
正則表達式是可匹配文本片段的模塊。最簡單的正則表達式爲普通字符串,與自己匹配。
正則表達式可與多個字符串匹配,可使用特殊字符來創建這種正則表達式。句點與除換行符外的任何字符都匹配,成爲通配符。
要讓特殊字符的行爲與普通字符一樣,可對其進行轉義,在前面加反斜槓。可使用模式’python\.org’,則只與’python.org’匹配。
管道字符(|)是表示二選一的特殊字符。
通過在子模式後面加上問號,可將其指定爲可選的,即可包含可不包含。
5、模塊re包含多個使用正則表達式的函數:
Compile(pattern[,flags]:根據包含正則表達式的字符串創建模式對象
Search(pattern,string[,flags]):在字符串中查找模式
Match(pattern,string[,flags]):在字符串開頭匹配模式
Split(pattern,string[,maxsplit=0]):根據模式來分割字符串
Findall(pattern,string):返回一個列表,其中包含字符串中所有與模式匹配的子串
Sub(pat,repl,string[,count=0]):將字符串中與模式pat匹配的子串都替換爲repl
Escape(string):對字符串中所有的正則表達式特殊字符都進行轉義
6、函數re.search(pat,string)(其中pat是一個使用字符串表示的正則表達式)等價於pat.search(string)(其中pat是使用compile創建的模式對象)。函數re.search在給定的字符串中查找第一個與指定正則表達式匹配的子串,如找到則返回結果爲真,反之則假。
7、函數re.split根據與模式匹配的子串來分割字符串,可以空格和逗號爲分隔符來分割字符串。參數maxsplit指定最多分割多少次.
在這裏插入圖片描述
8、函數re.findall返回一個列表,其中包含所有與給定模式匹配的子串。
要找出字符串包含的所有單詞,可進行如下操作:
在這裏插入圖片描述
9、在模塊re中,查找與模塊匹配的子串的函數都在找到時返回MatchObject對象。這種對象包含與模式匹配的子串的信息,還包含模式的哪部分與子串的哪部分匹配的信息,這些子串部分稱爲編組。
編組就是放在圓括號內的子模式,它們是根據左邊的括號數編號的,其中編組0指的是整個模式。
10、re匹配對象的一些重要方法
方法group返回與模式中給定編組匹配的子串。
方法start返回與給定編組(默認爲0,即整個模式)匹配的子串的起始索引。
方法end類似於start,但返回終止索引+1.
方法span返回一個元組,其中包含與給定編組(默認爲0,即整個模式)匹配的子串的起始索引和終止索引。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章