以下數(shù)據(jù)依照《Python編程快速上手 讓繁瑣工作自動化》書寫。 1.關(guān)鍵字: and elif import returnas else in tryassert except is whilebreak finally lambda withclass for not yieldcontinue from ordef global passdel if raise 2.操作符: 計(jì)算操作符:** | 指數(shù) | 2**3 | 8% | 取余(取模) | 22%8 | 6// | 整除 | 22//8 | 2/ | 除法 | 22/8 | 2.75* | 乘法 | 3*5 | 15- | 減法 | 5-2 | 3+ | 加法 | 2+2 | 4優(yōu)先級:** -> * <-> / <-> // <-> % -> + <-> -比較操作符:== | 等于!= | 不等于< | 小于> | 大于<= | 小于等于>= | 大于等于二元操作符:and | 都為True時為Trueor | 有一個為True時為Truenot | 相反,True時為False,F(xiàn)alse時為True賦值操作符:+= | 加賦值 -= | 減賦值 *= | 乘賦值 /= | 除賦值%= | 取模賦值特殊操作符\ | 續(xù)行符轉(zhuǎn)義字符:\' | 單引號\' | 雙引號\t | 制表符\n | 換行符\\ | 倒斜杠分類字符:\d | 0到9的任何數(shù)字\D | 除0到9的數(shù)字以外的任何字符\w | 任何字母、數(shù)字或下劃線\W | 除字母、數(shù)字和下劃線以外的任何字符\s | 空格、制表符或換行符\S | 除空格、制表符和換行符以外的任何字符
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
3.整數(shù)、浮點(diǎn)型、字符串?dāng)?shù)據(jù)類型 整數(shù) | -2,-1,0,1,5浮點(diǎn)型 | -1.25,0.0,4.30字符串 | 'a','Hello','b' 總是用單引號包圍住字符串 字符串連接符號 ‘+’ 如果連接數(shù)據(jù)為非字符串格式,需要顯示的轉(zhuǎn)換為字符串 例:'Hello' + 'Word' 字符串復(fù)制符號 ‘*’ *操作符在作用于整形或浮點(diǎn)型為乘法,在作用于字符串時,則為字符串復(fù)制操作 例:'Alice' * 5布爾值 | True、FalseNone | 空值 4.賦值 格式:變量名 = 值 例: spam = 40str = 'Hello'
Python的變量是區(qū)分大小寫的。 變量在第一次進(jìn)行賦值時,確定變量的類型 例: spam = 40 整形str = 'hello' 字符串f = 40.0 浮點(diǎn)型 5.注釋
Python 使用#作為注釋
Python使用''' .... ''' 作為多行注釋 6.顯示轉(zhuǎn)換類型 str() 轉(zhuǎn)為字符串int() 轉(zhuǎn)為整數(shù)float() 轉(zhuǎn)為浮點(diǎn)數(shù) Tips:對浮點(diǎn)數(shù)取整,可以使用int()函數(shù)
7.流程控制語句 注意:Python 更加代碼行的縮進(jìn),知道代碼塊的開始和結(jié)束 格式:if 條件 : 語句塊#------------if 條件 : 語句塊else : 語句塊#-------------if 條件 : 語句塊elif 條件 : 語句塊 8.循環(huán)語句 while 語句:while 條件 : 語句塊for 語句:for 變量名 in range函數(shù) : 語句塊tips:range函數(shù):range(開始,停止,步長)break語句 跳出循環(huán)continue語句 跳出本次循環(huán)
9.導(dǎo)入模塊 格式:
import 模塊名稱[,模塊名稱...]
from 模塊 import * #此方式可以調(diào)用模塊中的函數(shù)時不需要random前綴 10.函數(shù) 格式:def 函數(shù)名(參數(shù)[,參數(shù)1,...]) : 函數(shù)體tips:return語句 在函數(shù)體中使用return語句來執(zhí)行返回值 11.作用域 分為局部和全局,一個變量必是其中一種。 局部變量不能再全局變量中使用,局部變量可以使用全局變量 global語句 在局部作用域定義、修改全局變量 12.異常處理 try: 語句塊except [異常類型]: 語句塊拋出異常:raise Exception(異常信息)存儲錯誤信息:try: 語句塊except Exception as 變量: 語句塊traceback模塊:模塊:improt tracebacktraceback.format_exc() 得到異常的反向跟蹤字符串?dāng)嘌裕焊袷剑?span>assert 條件,錯誤信息禁用斷言:運(yùn)行Python程序時加上 -O 開關(guān)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
13.數(shù)據(jù)結(jié)構(gòu) 1)列表 定義:列表名 =[[值1,值2,...]] 獲取值:列表名[索引] #索引從0開始 多維列表:列表名 = [[值1,值2,..],[值1,值2,...]] 多維列表獲取值:列表名[索引][索引] 負(fù)數(shù)下標(biāo):-1列表最后一個,-2列表倒數(shù)第二個,依次類推 切片獲取列表: 列表名[結(jié)束下標(biāo)] #默認(rèn)從0開始 不包含結(jié)束下標(biāo)列表名[開始下標(biāo):] #默認(rèn)使用列表長度為結(jié)束下標(biāo)列表名[:結(jié)束下標(biāo)] #默認(rèn)從零開始列表名[開始下標(biāo):結(jié)束下標(biāo)] #注意用: 不包含結(jié)束下標(biāo)列表名[開始下標(biāo):結(jié)束下標(biāo):增量] #以增量獲取數(shù)值 切片獲取列表:操作符+可以連接連個列表,得到新的列表 操作符*可以實(shí)現(xiàn)列表復(fù)制 刪除列表值:del 語句可以刪除列表下標(biāo)處的值,格式del 列表名[索引] 值是否在列表中:in 和 not in 可以確定一個值是否在列表中,格式 值 in 列表 | 值 not in 列表 多重復(fù)制:格式 變量1,變量2[,變量3]} = 列表 #注意變量的數(shù)據(jù)必須與列表的長度相等 Tips:list 是引用類型 常用 方法: len() 獲取列表的長度 index() 在列表中查找值并返回下標(biāo) append() 在末尾添加值 insert() 在任意下標(biāo)處插入值 remove() 從列表中刪除值 sort() 對列表進(jìn)行排序 2)元組 定義:名 = ([值1,[值2,...]]) 與list區(qū)別: 元組是不可變的,列表是可變的 Tips: 元祖只有一個值時,需要后面跟一個逗號 list() 可以轉(zhuǎn)換為list tuple() 可以轉(zhuǎn)換為元組 Copy模塊的copy()和deepcopy()方法: copy() 復(fù)制一個列表或字典為新列表或字典,具有不同的引用地址 deepcopy() 如果列表或字典有子列表,使用此方法 3)字典 格式:名 = {鍵1:值1[,鍵2:值2,...]} 關(guān)鍵字in和not in,可以查看鍵是否在字典中 方法: keys() 獲取字典的鍵,返回列表 values() 獲取字典的值,返回列表 items() 獲取鍵值對 get(鍵,備用值) 根據(jù)鍵獲取值,如果值不存在返回備用值 setdefault(鍵,值) 根據(jù)鍵值設(shè)置默認(rèn)數(shù)據(jù),如果鍵不存在,則添加該鍵和值,如果存在則返回鍵的值 14.字符串 格式:'字符串' | '字符串' #雙引號中可以使用單引號 原始字符串:r'字符串' #忽略所有轉(zhuǎn)義字符# 多行字符串:'''字符串''' #可以將字符串在多行進(jìn)行書寫 字符串也可以使用下標(biāo)和切片獲取值 in和not in 也適用于字符串 常用方法: upper() 轉(zhuǎn)為大寫 lower() 轉(zhuǎn)為小寫 isupper() 是否為大寫 islower() 是否為小寫 isalpha() 是否只包含字母,并且非空 isalnum() 是否只包含字母和數(shù)字,并且非空 isdecimal() 是否只包含數(shù)字,并且非空 isspace() 是否只包含空格、制表符和換行,并且非空 istitle() 是否為開頭大寫 startswith() 是否為某字符串開頭 endswith() 是否我某字符串結(jié)尾 join() 連接列表字符串 split() 分割字符串 rjust() 以特定字符前置填充字符串 ljust() 以特定字符后置填充字符串 center() 以特定字符居中填充字符串 strip() 刪除兩邊邊空白字符串(控制、制表符和換行符) rstrip() 刪除右邊空白字符串(控制、制表符和換行符) lstrip() 刪除左邊空白字符串(控制、制表符和換行符) pyperclip模塊: copy() 向計(jì)算機(jī)的剪貼板發(fā)送文本 paste() 向計(jì)算機(jī)的剪貼板接受文本 15.正則表達(dá)式 模塊:import re 創(chuàng)建:名 = re.compile(格式) 匹配對象:
返回值 = 表達(dá)式.search(值) #返回第一次匹配的文本 返回match對象
返回值 = 表達(dá)式.search(值) #返回所有匹配的文本 返回元組列表 獲取返回值:返回值.group() #反回值不為null,返回實(shí)際匹配字段 分組:(\d\d\d)-(\d\d\d\d) #使用括號可以對返回值分組 獲取分組:返回值.group(組下標(biāo)) #下標(biāo)從1開始 獲取所有組 使用 groups()方法 匹配管道:希望匹配許多表達(dá)式中的一個時,可以使用字符|進(jìn)行分割 使用匹配符: ? 零次或一次 * 多次 + 匹配一次或多次,至少出現(xiàn)一次 {} 匹配特定次數(shù) [] 定義自己的字符分類 [^] 非自定義字符分類 ^ 以某個字符開始 $ 以某個字符結(jié)尾 . 通配字符 .* 匹配所有字符 16.讀寫文件 模塊:要實(shí)現(xiàn)文件讀取,需要引入os模塊,import os . 當(dāng)前目錄 .. 父目錄 方法: os.path.join() 生成文件路徑,或鏈接文件名 os.getcwd() 獲取當(dāng)前工作目錄 os.chdir() 修改當(dāng)前工作目錄 os.makedirs() 創(chuàng)建新的目錄 os.path.abspath(path) 相對路徑轉(zhuǎn)決定路徑 os.path.isabs(path) 絕對路徑返回True,相對路徑返回False os.path.relpath(path,start) 返回start路徑到path的相對路徑的字符串,沒有提供start,就使用當(dāng)前工作目錄作為開始路徑 os.path.dirname(path) 返回目錄路徑 os.path.basename(path) 返回文件名稱 os.path.split(path) 返回兩個字符串的元組,包含路徑和文件名 os.path.getsize(path) 查看文件大小 os.listdir(path) 返回path下的所有文件名 os.path.exists(path) 檢測文件或文件夾是否存在,可以檢測dvd或閃存盤當(dāng)前是否連擊計(jì)算機(jī) os.path.isfile(path) 檢測文件是否存在 os.path.isdir(path) 檢測文件夾是否存在 os.unlink(path) 刪除path處的文件 os.rmdir(path) 刪除path處的文件夾,該文件夾必須為空 os.walk() 遍歷目錄樹 open(path,打開模式符) 打開文件,返回file對象,打開模式為空,默認(rèn)為只度 file.read() 讀取文件內(nèi)容 file.write() 寫入文件 file.close() 關(guān)閉文件 文件打開模式: a 添加模式 r 只讀模式 w 寫入模式 wb 寫二進(jìn)制模式 sheleve 模塊(感覺像是配置表) 模塊:import shelve 方法: shelve.open() 打開文件 shelve.keys() 獲取鍵 shelve.values() 獲取值 17.Shutil 模塊 模塊:import shutil 方法: shutil.copy(path1,path2) 將path1的文件復(fù)制到path2 shutil,copytree(path1,path2) 同copy,不一樣的是會復(fù)制整個文件夾 shutil.move(path1,path2) 將path1的文件移動到path2 shutil.rmtree(path) 刪除path處的文件夾及子文件 send2trash 模塊 模塊:import send2trash #此模塊需要安裝 send2trash.send2trash(path) 將path的文件移除到回收站 18.zipfile 壓縮模塊 模塊:import zipfile 方法: zipfile.ZipFile(path) 打開一個zip壓縮文件 ZipFile.naelist() 返回zip文件中包含的所有文件和文件夾列表 ZipFile.getinfo() 返回一個特定文件ZipInfo對象 ZipFile.extractall() 從zip文件中解壓縮所有文件和文件夾 ZipFile.write(path,壓縮類型) 會將路徑處的文件寫入zip 19日志: 模塊:import logging 方法:
logging.debug(日志信息) 輸出日志信息
logging.disable(日志級別) 禁止日志 未完待續(xù)…
|