文本書寫
.title()首寫字母大寫
.upper()全部大寫
.lower()全部小寫
\n空格
\t換行
列表元素處理
.lstrip()清除字符串開頭的空白
.rstrip()清除字符串結(jié)尾的空白
.strip()清除字符串所有多余的空白
** 兩個乘號代表乘方運算
str()字符串
[]列
print(變量[0])第一個元素
print(變量[-1])訪問列表最后一個元素 以此類推
.append()將元素添加到列表末尾 (可以創(chuàng)建空白列然后琢一添加)
del 變量[] 刪除元素(再也不使用)
.pop() 彈出末尾元素 pop(0)彈出第一個元素(保留被刪除的元素)
.remove(‘值’) 根據(jù)值找到元素并將其刪除 刪除值扔可使用
.insert(0,‘元素’) 將元素添加到開頭(添加元素到任意位置)
.sort()按字母順序排序 (永久的)
.sort(reverse=True)按字母倒序排列 (永久的)
sorted(變量)按字母順序排列 但不改變原有序列順序
sorted(變量,reverse=True)按字母倒序排列 但不改變原有序列順序
.reverse() 反轉(zhuǎn)列表元素的排列(與字母順序無關)
len()獲取列表長度 (計算元素是從1開始的)
for語句:
for 存儲變量 in 定義變量:
print(存儲變量)
for循環(huán)后面沒有縮進的代碼都只執(zhí)行一次亲雪,不會重復執(zhí)行
for 存儲變量 in range(1,5) 輸出為1,2,3,4
list(range(1,5))數(shù)字轉(zhuǎn)列表最住,輸出為[1,2,3,4]
指定步長 range(2,11,2) 最后一個是增加量 從2開始數(shù)到11
min() 最小
max() 最大
sum() 求和
for的簡便寫法:
變量=[y**2 for y in range(1,5)] 依次求1到4的平方
切片(針對序列缆瓣,序號從0開始)
print(變量[0:3]) 輸出是三個元素 0,1,2
( [:3])從0開始到第三個
( [2:])從第三個元素到最后一個元素
( [-3:])最后三個元素
( [:])全元素
元組:
(不可變的列表诬垂,用()表示竞漾,只能用修改元組變量的方式修改值)
(不可變的:不能修改的值)
縮進格式:空4個空格 最好不超過79個字符
if語句:
條件測試:核心都是一個值為True或False的表達式
格式:==兩個等號為檢查放钦,發(fā)問的意思
大小寫做為比較時的考慮因素岩榆,但是對元素進行.title()不會改變原有變量值
错负!=不等于(效率更高)
<小于 >大于 <=小于等于 >=大于等于
檢查多個條件:利用邏輯關系
and(都滿足時才能通過)
or(滿足任意一條即可)
in 用于特定值檢查(不用加冒號 不搭配if時)
not in (搭配if時加冒號)
布爾表達式:條件測試的別稱,布爾值用于記錄條件
例:game_active=True can_edit=False
簡單的if循環(huán)與for相同勇边,可以跟任意數(shù)量的代碼行
if-else結(jié)構(gòu)都要打冒號
if-elif-else結(jié)構(gòu)(適用于多個情形犹撒,當知道最終測試條件可省略else,
但是該結(jié)構(gòu)適用于只有一個條件滿足)
if在條件特殊粒褒,可能有多個條件為True的情況時使用
字典
字典={‘存儲變量1’:’’,存儲變量2:’’}
print(字典[‘存儲變量’]
添加鍵_值對:字典[‘存儲變量3’]=识颊?
注意:python 不關心鍵_值對的添加順序,只關心鍵和值之間的關系
可以創(chuàng)建空字典奕坟,然后逐一添加
修改值方法=添加值覆蓋原有值
刪除鍵_對:del 字典[‘元素’]
由類似對象組成的字典(眾多對象)
字典={
語句一
語句二
語句三
}
較長print語句分行
print(第一句+
第二句
第三句)
遍歷字典(for循環(huán))
1.所有鍵_對:
for new_1,new_2 in 字典,items():
print(“new_1:”+new_1)
print(“new_2:”+new_2)
2.遍歷鍵:.keys()
3.遍歷值:.values()
4.排列順序:sorted(變量.keys()或者values.())
5.剔除重復項祥款,使用集合set(變量) 同排序
6.嵌套:自動生成隨機代碼清笨,采用range()實現(xiàn)的py
7.for循環(huán)加if循環(huán)生成隨機
8.列表存字典
9.字典套字典
While循環(huán)與輸入
1.變量=input(’’) 變量的屬性為字符串
2.運算符:+= 存儲變量中的字符串在末尾添加一個字符串
3.int() 將字符串轉(zhuǎn)換為數(shù)字
4.% 求模運算符 兩數(shù)相除并返回余數(shù) a%b
5.判斷奇偶數(shù)(if else %)
6.基本循環(huán) 利用+=
7.用戶選擇退出,中間需要定義一個空白變量
將print放在if后面刃跛,解決將不需要變量打印出來的問題
8.標志:定義一個變量函筋,用于判斷整個程序是否處于活動狀態(tài)
9.標志的意義:讓while只需判斷程序的標簽值為True或False
[多事件導致的游戲崩潰]
10.變量=True 讓程序最初處于活動狀態(tài) 用while和if做循環(huán)
11.break 跳出循環(huán) 適用于python任何循環(huán)
12.continue 相當于跳過
13.Ctrl+c 終止無限循環(huán) 關掉也可以
14.while和for的區(qū)別:
for循環(huán)中不應修改列表,
while可在遍歷列表時對對象進行修改
15.刪除特定值的所有列表元素:在while循環(huán)里面對變量.remove(‘特定值’)
16.用戶輸入來填充字典
函數(shù)
def 形參(實參):
[傳遞實參:]
1.位置實參:基于實參的順序連接形參和實參(位置一定要一一對應)
2.關鍵字實參:在括號內(nèi)明確指出形參對應的實參
3.形參可以設置成默認值 (建議少用)
4.返回值:函數(shù)返回的值
5.定義形參為空字符串可以讓其變?yōu)榭蛇x狀態(tài)(存儲名字兩個字三個字奠伪,多的字放在后)
6.python將非空字符串理解為True
7.傳遞列表:函數(shù)能直接訪問內(nèi)容
8.在函數(shù)中修改列表:用于處理執(zhí)行任務太多次數(shù)的工作
9.functiong_name(list_name[:])#創(chuàng)造副本 禁止函數(shù)修改列表
10.形參 #創(chuàng)建一個名為形參的空元組跌帐,收納任何實參并封裝到一個元組中
11.接受不同類型的實參,加號的形參放在最后
12.**形參 #創(chuàng)建一個空字典绊率,裝所有的鍵_值對
[import]
1.import 模板名 #導入函數(shù)模板
2.模板名.函數(shù)名() #調(diào)用模板任意函數(shù)
3.from 模板 import 函數(shù)名 #導入特定函數(shù)
4.from 模板 import 函數(shù)名_1,函數(shù)名_2,函數(shù)名_3
[as]指定別名
1.from 模板 import 函數(shù)名 as 新名字 #給函數(shù)指定別名
2.import 模板 as 新名字 #給模板指定別名
3.form 模板 import * #導入所有函數(shù)(不推薦)直接調(diào)用函數(shù)谨敛,不用前綴模板名
4.給形參指定默認值時,等號兩邊不要有空格滤否,關鍵值實參同理
類
1.根據(jù)類來創(chuàng)建對象被稱為實例化
2.首字母大寫的名稱指的是類
3.__init __ 方法 (切記兩邊各兩個下劃線)
4.通過實例訪問變量稱為屬性
5.句點表示法演示了python如何獲悉屬性的值
6.類可以創(chuàng)建多個實例
7.類的每個屬性都必須有初始值脸狸,哪怕是0或者空字符
8.修改屬性的值:①直接修改屬性的值②通過方法修改屬性的值③通過方法對屬性的值進行遞增
9.python標準庫就是一組模板
10.類編碼風格:駝峰命名法(類名首寫字母大寫,不用下劃線藐俺,實例名和模板都小寫炊甲,單詞之間加下劃線)
[繼承]
1.定義子類時,必須在括號內(nèi)指定父類的名稱
2.super().是一個特殊函數(shù)欲芹,幫助python將父類和子類關聯(lián)起來
3.父類也叫‘超類’(superclass)
4.2.7版本中 需要在父類括號中加object super函數(shù)括號內(nèi)需要兩個時參:子類名卿啡,對象self
5.將實例用作屬性,創(chuàng)建一個新類菱父,沒有繼承任何類
[導入類]
1.from 文件名 import 類 (推薦)
2.導入整個模板 (同函數(shù)導入) 模板名.類名
3.導入模板所有類 from module_name import * (不推薦)
4.模板中導入另一個模板 在子類的模板中導入父類模板中的父類
文件
1.with open(‘文件名’) as file_object:
2.open() 打開 close() 關閉 .read() 讀取 .readlines() 讀取每一行颈娜,并存儲在一個列表
3.rstrip() 刪除文件后面的空行
4.文件路徑查找
(1)Linux: with open(‘text_files/filename.txt’) as file_object:
(2)Windows: with open(‘text_files\filename.txt’) as file_object:
5.絕對路徑查找
(1)Linux OSX :file_path = ‘/home/ehmatthes/other_files/text_files/filename.txt’
with open(file_path) as file_object:
(2)Windows:file_path = r’C:\Users\ehmatthes\other_files\text_files\filename.txt’
with open(file_path) as file_object:
注意:反斜杠在python中被視為轉(zhuǎn)義標記 確保萬無一失,應在開頭的單引號前加r
6.逐行讀取:for循環(huán) for line in file_object:
7.python讀取文件浙宜,將所有文本都讀解為字符串
8.寫入文件:open()提供兩個實參 第一個實參打開文件 關于第二個實參:
'r’讀取模式 'w’寫入模式 'a’附加模式 ‘r+’讀取和寫入模式
9.python只能以字符串寫入文本
10.附加模式不會覆蓋原有內(nèi)容官辽,寫入文件會添加到文件末尾
異常
1.try_except代碼塊 兩者必行其一
2.分析文本: split() 根據(jù)一個字符串創(chuàng)建一個單詞[列表]
3.pass語句 讓python什么都不要做 放在except中
存儲數(shù)據(jù)
1.json格式(JavaScript Object Notation)
2.json.dump()存儲數(shù)據(jù) json.load()讀取數(shù)據(jù)
3.json.dump()接受兩個實參:要存儲的數(shù)據(jù),存儲數(shù)據(jù)文件對象
4.重構(gòu):將代碼劃分為一系列完成具體工作的函數(shù)
測試代碼
1.python標準庫的模板unittest提供了代碼測試工具
2.單元測試:用于核實函數(shù)的某個方面沒有問題
3.測試用例:一組單元測試
4.全覆蓋式測試:一整套單元測試
5.模板unittest:斷言方法(核實得到的結(jié)果是否與期望的一樣)
6.unittset.TestCase類中的斷言方法:
assertEqual(a,b) 核實a==b
assertNotEqual(a,b) 核實a!=b
assertTrue(x) 核實x為True
assertFalse(x) 核實x為False
assertIn(item,list) 核實item在list中
assertNotIn(item,list)核實item不在list中
7.setUp() #首先運行該方法粟瞬,再運行test打頭
8.句點代表測試通過同仆,E代表測試引發(fā)錯誤,F(xiàn)代表測試導致斷言失敗