python基礎復習大綱
阿新 • • 發佈:2019-03-26
spam 添加 lose fault 目錄 none 排序 賦值 路徑
1,表達式
ex 2+2
語言中最基本的編程結構,表達式包含‘值’和‘操作符’,並且總是可以求值為單個值
所有用表達式的地方都可以使用一個值
2,值
每個‘值’都!只! 屬於一種數據類型
ex int;float;str......
3,變量
1)變量名:只能是一個詞;只包含數字、字母、下劃線;不能以數字開頭
2)區分大小寫
3)用小寫字母開頭是慣例
4,input() 函數
求值為一個字符串
5,str() int() float()函數
主要作用是改變數據類型
6,條件
條件只是控制語句上下文中的具體名稱,條件總是求值為一個布爾值
7,break $ continue
8,range() 的開始、停止和步長
9,用sys.exit()提取結束程序
import sys
10,函數
1)def 語句和 參數
2)返回值和return 語句
11,None值
所有的函數調用都需要求值為一個返回值
對於所有沒有return的語句的函數,幕後 python都會在末尾加上一個 return None
12,局部和全局作用域
在一個函數中,一個變量,要麽總是全局,要麽總是局部
13,列表數據類型
列表是一個有序集合,所以 下標,切片
len() 、del、 in
方法和函數是一回事,只是它調用在一個值上。每種數據類型都有自己的一組方法,方法屬於單個數據類型列表的常用方法
spam=[‘hi‘,‘hello‘,‘howdy‘,‘heyas‘]
spam.index(‘hi‘) 索引 返回下標
spam.append(‘tuii‘) 尾部增加一個
spam.insert(1,‘diyi‘) 插入一個
spam.remove(‘hi‘) 刪除第一次出現的
spam.sort() 升序排序 spam.sort(reverse=True) 降序
當列表被賦值給一個變量時,實際上是將列表的‘引用’賦值給了該變量。列表引用的指向一個列表的值
在變量保存可變數據類型的值時,例如 列表和字典,python就使用引用,對於不可變數據類型 例如 字符串,元組 python變量就保存值本身
14,copy模塊
import copy
copy.copy(list or dict) 復制列表或字典這樣的可變值,而不是只復制引用
deepcopy() 同時復制他們內部的列表
15,字典數據類型
不排序 不能切片
字典常用方法:
1)keys() values() items()
2)get() dict.get(‘cups‘:0) 如果字典中沒有‘cups’鍵 則返回0
3)setdefault() dict.setdefault(‘color‘,‘red‘) 如果字典中沒有‘color‘鍵 則添加此鍵,值為’red‘ 如果有,則返回此鍵的值
4)漂亮打印 pprint
import pprint
pprint.pprint(dict)
pprint.pformat(dict) 獲得漂亮打印的文本為字符串 而不是顯示在屏幕上
16,字符串操作
1)原始字符串 r‘str‘ 忽略所有轉義字符,直接打出所有的’\‘
2)三重引號多行字符串 之間所有引號、制表符、換行,都被認為是字符串一部分
3)字符串方法 upper() lower() isupper() islower()
4)is X方法
isalpha() 只包含字母
isalnum() 只包含字母和數字
isdecimal() 只包含數字
istitle() 只包含大寫字母開頭 後面都是小寫字母的單詞
5)startswith() endswith()
6)join() ‘,‘.join(list) 參數是列表 返回的字符串由傳入的列表中每個字符串連接而成 調用join方法的字符串被插入到列表參數的每個字符串中間
7)split() ‘str‘.split() 參數是字符串 返回的列表有傳入的字符串參數分割而成
8)strip() strip(‘str‘) 返回一個新的字符串,兩端沒有空白字符
strip(‘Bamp‘) 刪除兩端出現的 a,m,p,B 順序不重要
17,pyperclip 模塊拷貝粘貼字符串
可以向計算機的剪貼板發送文本,或從中接收文本
import pyperclip
pyperclip.copy(‘str‘)
pyperclip.paste(‘str‘)
18,正則表達式
簡稱為 regex 是文本模式的描述方法
創建正則表達式:
1,import re
2,regex = re.compile(r‘\d\d\d‘)
3,匹配regex對象
mo = regex.search(‘456‘) 返回一個match對象 有group()方法 返回被查找字符串中實際匹配的文本
mo.group(n) mo.groups()
利用括號分組 (\d\d\d)-(\d\d\d\d)
管道匹配多個分組 (man|mobile|woman)
問號實現可選匹配 (wo)?
星號匹配0次或多次 (wo)*
加號匹配一次或多次 (wo)+
花括號匹配特定次數 (wo){3,5}
貪心和非貪心匹配
python正則表達式默認是’貪心‘的,有二義的情況下,盡可能匹配最長的字符串
(wo){3,5}? 非貪心 匹配三次
findall() 方法
regex對象的方法 匹配所有
regex.findall(‘str‘)
如果正則表達式沒有分組 則返回一個字符串列表 反之 則返回字符串元組的列表
字符 \d 數字 \w 任何數字 字母 下劃線 \s 空格 換行符 制表符
插入符 ^ 美元符 $ 通配字符 . .* 匹配所有字符
sub() 替換匹配的字符串 regex = re.compile(‘str‘) regex.sub(‘str‘,‘str‘)
第一個參數用於替換發現的匹配 第二個參數是正則表達式匹配的內容
19,文件路徑
合成路徑 import os os.path.join(‘a‘,‘b‘,‘c‘)
當前工作目錄 import os os.getcwd() 輸出為絕對路徑
改變當前工作目錄 ... os.chdir(path)
創建文件夾 ... os.mkdir(path)
處理絕對路徑和相對路徑 os.path.abspath(path) 返回參數的絕對路徑字符串
os.path.relpath(path,start) 返回從 start到path 相對路徑字符串 沒有start就以當前工作目錄為開始路徑
目錄名稱和基本名稱 os.path.dirname(path) os.path.basename(path) os.path.split(path) 返回元組 目錄名稱和基本名稱
查看文件大小及內容 os.path.getsize(path) 返回字節數 os.path.listdir(path) 返回文件名字符串列表
20,文件的讀寫
file = open(path) 打開文件 返回一個Fil對象 line = file.readlines() 從該文件取得一個字符串列表 對應文本中的每一行
寫模式 file = open(path,‘w‘) file.write(str) 覆蓋原有文件
添加模式 file = open(path,‘a‘) file.write(str) 在已有文件的末尾添加文本
如果 path 不存在 寫模式和添加模式都會創建一個新的空文件
用 shelve 模塊保存變量
將python程序中的變量保存到二進制的shelf文件中,程序就可以從硬盤中恢復變量的數據
例子 import shelve
shelffile = shelve.open(‘data‘)
cats = [‘po‘,‘aa‘,‘ghr‘]
shelffile[‘cats‘] =cats
shelffile.close()
生成3個新文件: data.bak data.dat data.dir
重新打開文件並取出數據
shelffile = shelve.open(‘data‘)
shelffile[‘cats‘]
shelffile.close()
shelf值有 keys() 和 values() 方法
21,shutil模塊
1)復制文件和文件夾 shutil.copy(source,destination) 將路徑source處的文件復制到des處的文件夾,如果des是一個文件名,
將作為被復制文件的新名字
shutil.copy()是復制一個文件 shutil.copytree()復制整個文件夾,以及包含的文件和文件夾 遞歸
2)改名與移動 shutil.move(sourjuce,des)
3)永久刪除 os.unlink(path) 刪除path處的文件 os.rmdir(path) 刪除空文件夾 shutil.rmtree(path) 刪除所有
22,遍歷目錄樹 os.walk() 傳入一個文件夾的路徑 os.walk()在循環的每次叠代中,返回3個值
1)當前文件夾每次字符串
2)當前文件夾子文件夾字符串列表
3)當前文件夾的文件字符串列表
23,日誌模塊
日誌模塊的設置 import logging logging.basicConfig(level=logging.DEBUG,format=‘ %(asctime)s - %(levelname)s - %(message)s‘)
日誌級別 DEBUG INFO WARNING ERROR CRITICAL
禁用日誌 logging.disable() 傳入一個日誌級別 禁止該級別和更低級別的的所有日誌消息 logging.disable(logging.CRITICAL) 禁用所有日誌
將日誌記錄到文件 logging.basicConfig(filename = ‘mylog.txt‘,level=logging.DEBUG,format=‘ %(asctime)s - %(levelname)s - %(message)s‘)
python基礎復習大綱