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

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