你寫的每個py文件都是一個模塊.
還有一些咱們一直在使用的模塊
buildins 內置模塊. print, input
random 主要是和隨機相關的內容
random() 隨機小數
uninform(a,b) 隨機小數
randint(a,b) 隨機整數
choice() 隨機選擇一個
sample() 隨機選擇多個
shuffle() 打亂
2. Collections
1. Counter 計數器
2. defaultdict 默認值字典
3. OrderedDict 有序字典
數據結構(隊列, 棧(重點))
棧:先進後出
Stack
隊列: 先進先出
Queue
3. Time模塊
時間有三種:
結構化時間 gmtime() localtime()
時間戳 time.time() time.mktime()
格式化時間 time.strftime() time.strptime()
時間轉化:
數字 -> 字符串
struct_time = time.localtime(數字)
str = time.strftime("格式", struct_time)
字符串 -> 數字
struct_time = time.strptime(字符串, "格式")
num = time.mktime(struct_time)
4. functools
wraps 給裝飾器中的inner更名字
reduce 概括.
偏函數 把函數的參數固定.
1. namedtuple
命名元組->相似建立了一個類
2. os
主要是針對操做系統的
通常用來操做文件系統
os.makedirs()能夠一次性建立多級目錄
os.rmdir()刪除一個文件夾
os.path.dirname() 獲取到文件的文件夾
3. sys
主要針對的是咱們的python解釋器
sys.path(重點中的重點) 模塊的查找路徑
4. 序列化
把一個對象拍散 叫序列化
把拍散的內容整合回對象. 反序列化
5. pickle(重點)
把一個對象進行序列化操做
1. dumps() 把對象序列化成字節
2. loads() 把字節反序列化成對象
3. dump() 把對象序列化寫入文件
4. load() 把文件中的內容反序列化成對象
6. json(重點中的重點)
json你能夠認爲是python中的字典. 有一點點的不同
python: True, False, None
json: true, false, null
1. dumps() 把對象序列化成json
2. loads() 把json反序列化成對象
3. dump() 把對象序列化寫入文件
4. load() 把文件中的內容反序列化成對象
正則表達式 匹配字符串
元字符
. 除了換行
\w 數字, 字母, 下劃線
\d 數字
\s 空白符
\n
\t
\b 單詞的邊界
\W 非xxx
\D
\S
[] 字符組
[^xxx] 非xxxx
^ 字符串的開始
$ 字符串的結束
| 或者
量詞
* 0->n
+ 1->n
? 0->1
{p} p次
{p,q} p->q次
{p,} 至少p次
貪婪和惰性
.*
.+
惰性:
.*?寶寶 儘量少的匹配
轉義 \\\\n => \\n => \n
正則前面加r
分組 ()
2. 在python中使用正則. re
(?P<name>正則)
1. search() 搜索. 搜索到第一個結果返回
2. match() 匹配. 收到一個結果返回. 從頭開始匹配
3. findall() 查找全部匹配結果
4. finditer() 返回迭代器.
5. compile() 編譯
6. group("name") 獲取數據
7. re.S 幹掉 . 的換行
sub
subn
split
正則表達式 匹配字符串 元字符 . 除了換行 \w 數字, 字母, 下劃線 \d 數字 \s 空白符 \n \t \b 單詞的邊界 \W 非xxx \D \S [] 字符組 [^xxx] 非xxxx ^ 字符串的開始 $ 字符串的結束 | 或者 量詞 * 0->n + 1->n ? 0->1 {p} p次 {p,q} p->q次 {p,} 至少p次 貪婪和惰性 .* .+ 惰性: .*?寶寶 儘量少的匹配 轉義 \\\\n => \\n => \n 正則前面加r 分組 ()2. 在python中使用正則. re (?P<name>正則) 1. search() 搜索. 搜索到第一個結果返回 2. match() 匹配. 收到一個結果返回. 從頭開始匹配 3. findall() 查找全部匹配結果 4. finditer() 返回迭代器. 5. compile() 編譯 6. group("name") 獲取數據 7. re.S 幹掉 . 的換行 sub subn split