第二章
1.python和c/c++在if語句使用上是有區別的
(1)python:
if 條件:
輸出
#注意,這里一定要有Tab空格,因為python語法就是按這樣來理邏輯的
else 條件:
輸出
(2) c/c++:
if (條件)
{
輸出語句;
}
else
{
}
python沒有switch用法
2.python shell中 F鍵可以用來找關鍵詞
第三章
1.
(1) 修改大小寫–方法:title(), upper(), lower()
(2) 刪除空白–方法:strip(), lstrip(), rstrip()
(3) 字符轉換:str()函數
(4) 索引0開始,-1為倒數
(5)列表
添加元素:append()方法 --隊末,insert()方法–任意位置
刪除元素:del 語句指定位置,pop()方法–隊末,指定位置, remove()方法–指定元素
排序:sort()方法 --按字母永久性排序,可倒序 ,sorted()函數–按字母臨時排序,可倒敘
注:不能直接print(a.sort()),這樣會是空列表
反轉元素:reverse()–永久修改順序,復原可再用一次
列表長度:len()
第四章
1.遍歷列表
(1)函數range(): range(a,b,step) 范圍[a,b)
(2)函數list(): 直接轉換成列表
(3)乘方運算符號: **
(4)處理數字的函數: min(), max(), sum()
(5)列表解析(代碼簡寫):列表變量名 = [表達式 for 變量名 in range() ]
(6)求余 %
2.切片
(1)切片:截取列表 列表變量名[a,b]----范圍[a,b)
(2) 復制列表: 新列表名 = 原列表名[ : ]
3.元組–不可變列表,圓括號
(1)修改元組變量:重新定義元組
第五章
- 與:關鍵字 and ,或:關鍵字 or, 包含關系 : in,不包含 : not in
- if結構: 兩個條件:if-else ,多個條件: if-elif-else,省略else(只執行符合條件的):if-elif
注:如果只想執行一個代碼塊,用if-elif-else結構;運行多個代碼塊,用一系列的if
第六章
1.字典
(1) 刪除鍵-值對: del 字典名[‘鍵’]
(2) 書寫格式:
字典名 = {
鍵:值,
鍵:值,
}
(3) 返回鍵-值對:方法 items()–key,value = 字典名. items()
(4)返回鍵: 方法 keys() , 返回值: 方法 values()
(5)找出列表中獨一無二的元素(重復的只取一個): set() 函數
2.嵌套
(1)列表中儲存字典:一個列表元素由多個鍵值對組成
(2)字典中儲存列表:一個鍵關聯多個值
(3)for 變量名 in range(num) :重復循環num此·2
(4)字典中儲存字典:
注:嵌套其實沒那么復雜,處理的時候,只需分清是列表還是字典,然后按相應的規則處理就行
第7章 函數
1.
(1)輸入函數:input()
2.while 循環
(1)語法:
while 條件:
do
(2) break退出循環
(3) continue退出本次循環
第8章 函數
1.語法
def 函數名():
函數體
2.調用
函數名()
3.實參傳遞
(1)位置參數:按順序
(2)關鍵字參數: 在實參中將名稱和值關聯起來
(3)默認值:給形參自定義好默認值
可以混合使用位置參數,關鍵字參數,默認值參數
4.返回值:return–可以返回任何類型的值,包括字典和列表等!–如果需要打印值,還需使用print() 函數
5.讓實參變為可選的:加上判斷語句if 判別形參的值是否為空,可選形參寫為:形參名 = ‘’
6.可以向函數傳遞列表(實參為列表)
(1)如果不想改變原列表內容,可在復制原列表,對復制列表進行操作:
function_name( list_name[ : ] )
7.函數注釋說明:
def function_name(形參):
“""
函數說明
“”"
函數體
注:函數說明部分可用方法_doc_查看
8.傳遞任意數量的實參:def function_name(*形參名)–*形參名中的星號讓Python創建一個空元組,并將收到的所有值都封裝到元組中
9. 混合傳遞位置實參和任意數量實參: 例 def make_pizza(size,*topping):
10.使用任意數量的關鍵字實參:例 def aa(first,last,**user_info):
形參 **user_info的兩個星號創建一個名為user_name的空字典,并將收到的所有名稱-值對都封裝到這個字典中。
11.將函數儲存在模塊中:
(1)把包含函數的python模塊放在同一目錄下–新python文件中 ”import 模塊名(py文件名)“–使用函數:模塊名.函數名(實參)
(2)直接從模塊導入函數: from 模塊名 import 函數名
(3)給函數指定別名: from 模塊名 import 函數名 as 別名
(4)給模塊指定別名: import 模塊名 as 別名
(5)導入模塊中所有函數: from 模塊名 import * --可以通過名稱來調用每個函數,不需要使用句點表示法
第8章 類
1.特殊方法 __init__():根據類創建實例時,會自動運行!
注意:init前后是兩條下劃線!
2.對類中的任何方法,形參self都必不可少!因為示例要傳遞給形參self . (類中的方法和函數是一個意思!)
3.屬性(都放在__init__方法中):可通過實例訪問的變量, 類:首字母大寫的名稱, 實例:首字母小寫的名稱
4.語法:
class class_name():
class_body
5.創建實例時,類中輸入的參數是_init_()中的參數
6.使用類和實例:
(1)可以給屬性指定默認值
(2)修改屬性的值:
one.直接通過實例訪問修改
two.通過方法修改屬性的值,其實就是新定義個方法專門用來更新屬性的值,也可以讓其自動更新,具體看怎么編寫這個方法
7.繼承
(1)一個類繼承另一個類時,自動獲得另一個類的所有屬性和方法。原有類稱為‘父類’,現有類稱為‘子類’
語法:
class 子類名(父類名):
class_body
(2)創建子類時,父類必須包含在當前文件中,且位于子類前面
(3)定義子類時,必須在括號內指定父類的名稱,方法__init__()
接受
實例所需的信息;super()函數將子類和父類關聯起來,讓實例包含父類所有屬性(
初始化
父類屬性)
例: def
init
(self,父類所以屬性名稱)
super().
init
(父類所有屬性名稱)
(4)如果在子類中的方法與父類中的方法重名,只要是根據子類創建實例,那么只會調用子類中的方法–通常是在子類和父類方法有區別時才改寫
8.將類導入模塊
(1)在最開頭需要編寫文檔字符串
例: “"" 一個可用于表示汽車的類 “”"
(2)導入類:
from 模塊名 import 類名
導入全部類(不推薦): from 模塊名 import *
(3)一個模塊可以儲存多個類,也可以在一個模塊中導入另一個模塊(比如需要用到另一個模塊的類,直接import就好)
總結:儲存,調用類和模塊是很靈活的!
9.類編碼風格
(1)
類名采用駝峰命名法:類名中的每個單詞的首字母大寫,不使用下劃線
實例名和模塊名:小寫格式,在單詞間加上下劃線
(2)
模塊中:用兩個空行分隔類
類中:一個空行分隔方法
(3)
導入模塊:先編寫導入標準庫模塊,再加個空行,然后導入自己編寫的模塊
第10章 文件異常
1.關鍵字
with
:打開文件,在不需要訪問文件后將其關閉。也可使用close()函數,但不推薦,因為在有bug時,導致close()未執行,文件不會關閉。
2.方法read()為
讀取文件
,到達文件末尾時會返回一個空字符串,這個空字符串顯示出來是一個空行。可以使用方法rstrip()刪除
3.打開文件的語法:
with open(filename) as file_object:
主題
4.使用with關鍵字時,open()返回的文件對象只在with代碼塊內可用。如果要在with代碼塊外訪問文件的內容,可在with代碼塊內將文件的隔行儲存在一個列表,在with代碼塊外使用該列表
例:
with open(filename) as file_object:
lines = file_object.readlines() #隔行儲存在一個列表
##with代碼塊外使用該列表
for line in lines:
print(line.rstrip())
5.讀取文本時,所有文本解讀為字符串,如果要使用數字,需要用int(),float()轉換
6.方法replace()將字符串中特定單詞都替換為另一個單詞,將a換成b用法:變量名.replace(‘a’,‘b’)
7.**寫入文件:**方法write() , 語法(例):
with open(filename,‘w’) as file_object:
file_object.write(‘內容’)
注:‘w’寫入模式,‘r’讀取模式,‘a’附加模式,讀取和寫入模式‘r+’。默認只讀模式’r’
8.write模式不會在寫入的文本末尾添加換行符,要自己加入換行符 ‘\n’
9.給文本添加內容,而不是覆蓋原有內容,可以用附加模式‘a’
10.
異常(看經驗,提前分析哪些地方會報錯)
:每當python發生錯誤時,它都會創建一個異常的特殊對象。如果編寫了處理該異常的代碼,程序將繼續運行,如果未對異常處理,程序將停止,并顯示traceback
(1) 異常使用**try-except(-else)**代碼塊處理–簡單說,加入的異常處理就是將編譯器的報錯換成易懂的報錯
例:
try:
通常是程序主體
except 編譯器錯誤類型:
print(易懂的報錯語言)
else:
無錯誤時的代碼行
11.
分析文本
:
(1) 方法split(): 根據一個字符串創建一個單詞列表,例:
title = ‘Alice in Wonderland’
title.split()
結果:[‘Alice’,‘in’,‘Wonderland’]
(2)失敗時通過,不做其他:在
except
代碼塊中使用
pass
語句
(3)方法count():計算特定單詞或短語在字符串中出現了多少次,例:
line = ‘row,Row,row your boat’
line.lower().count(‘row’)
結果: 3
12.
存儲數據:模塊json–將簡單的python數據結構轉儲到文件中,并在程序再次運行時加載該文件中的數據。還可以在python程序間分享數據
(1) 函數json.dump():接受兩個實參–要儲存的數據以及可用于存儲數據的文件對象
函數 json.load(): 將列表讀取到內存,接受一個參數–存儲數據的文件對象
13.重構:優化代碼,將代碼劃分為一系列完成具體工作的函數
第12章 測試代碼:編寫函數或者類時,為其編寫測試–
模塊unittest
1.測試函數
(1) 模塊unittest的斷言方法assertEqual(): 核實得到的結果是否與期望的結果一致
(2) 繼承unittest.TestCase類,子類名包含字樣Test–和一般的類繼承在語法上有點區別,
(3) test_開頭的方法自動運行
2.測試類:
(1) unittest.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中 |
(2)方法setUp():使用此方法就可以在每個測試方法中創建多個實例–相當于多次測試驗證
注如果測試類中包含了方法setUp(),python將先運行它,在運行以test開頭的方法
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
