1.python 生態(tài)第三方庫歸納
用于數(shù)據(jù)分析方面的第三方庫有:numpy毛好、scipy、pandas边锁、Seaborn
用于Web開發(fā)框架方面的的有:Flask腾么、Django、Pyramid珊擂、Tornado圣勒、WeRoBot(微信小程序)
用于視圖可視化的有:mayavi费变、matplotlib摧扇、TVTK
用于網(wǎng)絡爬蟲的有:scrapy、requests挚歧、Pyspider
用于用戶圖形界面(GUI)的有:PyQt5扛稽、wxPython、PyGTK滑负、turtle(但turtle屬于標準庫在张,不是第三方庫)
數(shù)據(jù)存儲:redis-py
自然語言處理:NLTK
人工智能領域:PyTorch、MXNet矮慕、Keras
視覺領域:OpenCV帮匾、Luminoth
深度學習方向的第三方庫是:TensorFlow、Scikit-learn痴鳄、Theano瘟斜、MXNet、Caffe2痪寻、Keras螺句、Pandle、PyTorch橡类、Neon
機器學習靈域:Tensorflow蛇尚、Theano、scikit-learn
文本處理(office辦公):openpyxl顾画、SnowNLP取劫、dfminer匆笤、python-docx、beautifulsoup4勇凭、python-pptx
安裝:pip(第三方安裝工具)
將Python腳本程序轉變?yōu)榭蓤?zhí)行程序的第三方庫是: PyInstaller
圖像處理:PIL
藝術類:wordcloud(生成詞云)疚膊、MyQR(生成二維碼)、jieba(中文分詞)
游戲開發(fā)方向的第三方庫是:Pygame虾标、Panda3D寓盗、cocos2d、Arcade(圖形)璧函、FGMK傀蚌、Panda3d
Python支持符號計算的第三方庫是:SymPy
用于硬件開發(fā)的第三方庫是:Pyserial
2.基礎知識類
Python采用大寫字母、小寫字母蘸吓、數(shù)字善炫、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字库继,標識符中間不能出現(xiàn)空格箩艺,長度沒有限制。
A答案錯再“所有代碼都需要縮進”宪萄,Python語言采用嚴格的縮進來表示程序邏輯艺谆。
縮進指每行語句開始前的空白區(qū)域,用來表示Python程序間的包含和層次關系拜英。
一般代碼不需要縮進静汤,頂行編寫且不留空白。當表示分支居凶、循環(huán)虫给、函數(shù)、類等程序含義時侠碧,在if抹估、while、for弄兜、def药蜻、class等保留字所在完整語句后通過英文冒號(:)結尾并在之后進行縮進励背,表明后續(xù)代碼與緊鄰無縮進語句的所屬關系香府。
len(x)返回字符串x的長度,一個中文字符和一個西文字符的長度都記為1劣欢。單個\表示為轉義字符盛垦,而"\0"表示一個空格湿弦,長度記為1,所以字符串長度為5腾夯。
B答案是錯誤的颊埃,因為python的生態(tài)十分豐富和寬泛蔬充,單單就論第三方庫就有十幾萬了,所以它涉及的領域非常寬廣和全面班利,而不是這里強調“主要用作”饥漫。
Python語言是一種被廣泛使用的高級通用腳本編程語言,具有通用性罗标,可以用于幾乎任何與程序設計相關應用的開發(fā)庸队,不僅適合訓練編程思維,更適合諸如數(shù)據(jù)分析闯割、機器學習彻消、人工智能、web開發(fā)等具體的技術領域宙拉。
這題主要考的的是運算符的優(yōu)先級宾尚,關鍵在于弄懂整除的意思(向下取整)。
我們先算括號里面的所以:
x = 2 + 9 * 28 // 10
= 2 + 252 // 10
= 2 + 25
= 27
常識送分題:什么是源文件谢澈?即我們編寫的代碼保存為文件后的結果煌贴。
python關鍵字即(保留字)如下圖(共33個):
while | with | yield | |||
---|---|---|---|---|---|
and | as | assert | break | class | continue |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
or | pass | raise | return | try | True |
def | del | elif | else | finally | except |
雙等號==用于判斷值是否相等,判斷后的結果是True(真)或False(假)锥忿,分別對應值相等或值不相等牛郑。左側是浮點數(shù)運算結果為0.30000000000000004,右側結果為0.3缎谷,值不相等井濒,所以輸出False灶似。
至于為什么不是0.3列林,這涉及到計算機的浮點數(shù)定義,大家可以用python自帶的idle數(shù)去測試下酪惭,0.1+0.2到底是等于0.3還是0.30000000000000004
Python字符編碼可以使用ASCII編碼和Unicode編碼希痴。
記憶小技巧:
chr 將數(shù)字轉變?yōu)樽址?,為了和ord區(qū)分,避免混淆記不住春感,
我們可以單獨就記一個chr就好了砌创,ch即change的縮寫,r則是str的縮寫
還有小寫字母的ASCII編碼大于大寫字母ASCII編碼
complex(r,i)函數(shù)的作用是創(chuàng)建一個復數(shù)r+i*1j鲫懒,其中i可以省略嫩实。
表達式中的運算符中,冪的運算級最高窥岩,所以先計算4**2
3*4**2//8%7
=3*16//8%7
=48//8%7
=6%7
=6
6對7求余求不了甲献,保留原來。
[N:M]切片獲取字符串從N到M(不包含M)的子字符串颂翼,其中晃洒,N和M為字符串的索引序號慨灭,可以混合使用正向遞增序號和反向遞減序號。
簡單點理解就是[N:M]切片球及,包頭不包尾氧骤,D答案就是錯在(包含N和M),正確的說法應該是包含N不包含M吃引。
常識題
高級語言根據(jù)計算機執(zhí)行機制的不同可分成兩類:靜態(tài)語言和腳本語言筹陵,靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行(如果用過python的debuger調試工具镊尺,就可以清晰看到python語言是一行一行解釋執(zhí)行的惶翻,和js腳本語言一樣)。
IPO模式包括輸入(input)鹅心、輸出(output)和處理(process)吕粗。
Python中使用print()函數(shù)打印輸出,是最常見的一個函數(shù)旭愧。字符串是字符的序列表示颅筋,根據(jù)字符串內容多少分為單行字符串和多行字符串。單行字符串由一對單引號或雙引號作為邊界表示输枯;多行字符串由一對三單引號或三雙引號作為邊界表示议泵。
二進制整數(shù)以0b引導,由字符0和1組成桃熄。
Python語言中的浮點數(shù)類型必須帶有小數(shù)部分先口,小數(shù)部分可以是0。
我們認為的浮點數(shù)就是有小數(shù)點的瞳收,小數(shù)部分可以是0碉京,比如3.000,4.0
Python采用大寫字母螟深、小寫字母谐宙、數(shù)字、下劃線和漢字等字符及其組合進行命名界弧,但名字的首字符不能是數(shù)字凡蜻,標識符中間不能出現(xiàn)空格,長度沒有限制垢箕。
解釋是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼的過程划栓。執(zhí)行解釋的計算機程序成為解釋器。
我們用過調試工具就知道条获,它是逐行運行的忠荞,而不是一次性。
一般代碼不需要縮進,頂行編寫且不留空白钻洒。當表示分支奋姿、循環(huán)、函數(shù)素标、類等程序含義時称诗,在if、while头遭、for寓免、def、class等保留字所在完整語句后通過英文冒號結尾并在之后進行縮進计维,表明后續(xù)代碼與緊鄰無縮進語句的所屬關系袜香。
代碼編寫中,縮進可以用Tab鍵實現(xiàn)鲫惶,也可以用多個空格(一般是4個空格)實現(xiàn)蜈首,但兩者不混用。不會增加編程難度欠母。
Python采用大寫字母欢策、小寫字母课锌、數(shù)字撼短、下劃線和漢字等字符及其組合進行命名,但首字符不能是數(shù)字晋修。
Python保留字是大小寫敏感的六水,True是保留字俺孙,true不是。
sum不是保留字掷贾,可以被當做變量使用睛榄。
[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中胯盯,N和M為字符串的索引序號懈费,可以混合使用正向遞增序號和反向遞減序號计露。反向從-1開始博脑,正向從0開始。
A答案:tstr[-6:6]表示截取字符串反向第6個字符v到正向第7個字符s(不包括s)之間的字符票罐,即vi叉趣。
B答案:截取到的是is
C答案:截取到的是vis
D答案:visi
id()函數(shù)是Python內置函數(shù)之一,作用是獲取對象的內存地址该押,返回對象的內存地址(是一個正整數(shù))疗杉。
Python語言的三個重要特點:
(1)通用性:Python語言可以用于幾乎任何與程序設計相關應用的開發(fā),不僅適合訓練編程思維,更適合諸如數(shù)據(jù)分析烟具、機器學習梢什、人工智能、Web開發(fā)等具體的技術區(qū)域朝聋。
(2)語法簡潔嗡午。
(3)生態(tài)高產(chǎn):Python解釋器提供了幾百個內置類和函數(shù)庫,此外冀痕,世界各地程序員通過開源社區(qū)貢獻了十幾萬個第三方函數(shù)庫荔睹。
除此之外,還有一些具體特點:
(1)平臺無關言蛇。
(2)強制可讀僻他。
(3)支持中文。
TypeError表示類型錯誤腊尚。
count不是保留字吨拗,可以被當做變量使用。
eval()函數(shù)將去掉字符串最外側的引號婿斥,并按照Python語句執(zhí)行去掉引號后的字符內容丢胚。運算符//表示計算整數(shù)商,500//10結果為50受扳。
type(x)函數(shù)對變量x進行類型判斷携龟,type('45')輸出為<class 'str'>,type(type('45'))輸出為<class 'type'>勘高。
**是數(shù)值運算操作符峡蟋,x**y表示x的y次冪。
+=是增強賦值操作符华望,x+=y等價于x=x+y蕊蝗。
&是按位與運算符,參與運算的兩個二進制值,如果兩個相應位都為1,則該位的結果為1,否則為0赖舟。
do不是保留字蓬戚,d開頭的保留字只有def和del。
Python語言使用保留字try和except進行異常處理宾抓。
[N:M]切片操作子漩,包含N,不包含M
加法運算級最低的石洗,其余平級幢泼。
這里5%6求不了余,保留為5.
所以就是
3 + 5 * 2 // 8
=3 + 10 // 8
=3 + 1
=4
**是數(shù)值運算操作符讲衫。
&是按位與運算符缕棵,&=則是對應的二元操作符。
^是按位異或運算符。
保留字大小寫敏感招驴,True和False是保留字篙程,true和false不是保留字。
if不用于異常處理邏輯别厘,用于分支結構房午。
異常處理4兄弟:try - except - else - finally
Python語言的三個重要特點:
(1)通用性:Python語言可以用于幾乎任何與程序設計相關應用的開發(fā),不僅適合訓練編程思維丹允,更適合諸如數(shù)據(jù)分析郭厌、機器學習、人工智能雕蔽、Web開發(fā)等具體的技術區(qū)域折柠。
(2)語法簡潔。
(3)生態(tài)高產(chǎn):Python解釋器提供了幾百個內置類和函數(shù)庫批狐,此外扇售,世界各地程序員通過開源社區(qū)貢獻了十幾萬個第三方函數(shù)庫。
除此之外嚣艇,還有一些具體特點:
(1)平臺無關承冰。
(2)強制可讀。
(3)支持中文食零。
Python采用大寫字母困乒、小寫字母、數(shù)字贰谣、下劃線和漢字等字符及其組合進行命名娜搂,但首字符不能是數(shù)字。
3.文件處理類
Python語言中寫文件的操作方法:
f.write(s):向文件寫入一個字符串或字節(jié)流吱抚。
f.writelines(lines):將一個元素為字符串的列表整體寫入文件百宇。
當文件以文本方式打開時,讀寫按照字符串方式秘豹;當文件以二進制方式打開時携御,讀寫按照字節(jié)流方式。
你可以這樣理解既绕,比如我們打開一個.txt文本啄刹,我們看得懂的就是字符串寫出來的,而不是二進制形式0101表達的那種岸更。
二維數(shù)據(jù)鸵膏,也稱表格數(shù)據(jù),由關聯(lián)關系數(shù)據(jù)構成怎炊,采用二維表格方式組織,對應于數(shù)學中的矩陣,常見的表格屬于二維數(shù)據(jù)评肆。
這里A答案錯在“通用”2個字上债查,存儲二維數(shù)組的形式有很多,比如json格式瓜挽,csv格式即逗號分隔值盹廷,詳情要去學習csv內置模塊。
關于一維數(shù)據(jù)和二維數(shù)據(jù)圖解:
split()通過指定分隔符對字符串進行切片久橙。
join()方法用于將序列中的元素以指定的字符連接生成一個新的字符串俄占。
replace()方法把字符串中的old(舊字符串)替換成new(新字符串)。
format()方法用于解決字符串和變量同時輸出的格式安排問題。
str(x):將x轉換為等值的字符串類型。
fo.write(s):向文件寫入一個字符串或字節(jié)流焦匈。
f.writelines(lines):將一個元素為字符串的列表整體寫入文件润绵。
代碼執(zhí)行后的輸出結果為['book','23','201009','20'],你可能很好奇為什么 fo.write(s)方法最后輸出了列表悲关,這是因為ls = ['book','23','201009','20']本身是個列表,所以直接輸出了。
創(chuàng)建寫模式x鹰贵,文件不存在則創(chuàng)建,存在則返回異常FileExistsError康嘉。
拓展:
r:以只讀方式打開文件碉输。文件的指針將會放在文件的開頭。這是默認模式亭珍。
w:打開一個文件只用于寫入腊瑟。如果該文件已存在則將其覆蓋。如果該文件不存在块蚌,創(chuàng)建新文件闰非。
a:打開一個文件用于追加。如果該文件已存在峭范,文件指針將會放在文件的結尾财松。也就是說,新的內容將會被寫入到已有內容之后纱控。如果該文件不存在辆毡,創(chuàng)建新文件進行寫入。
rb:以二進制格式打開一個文件用于只讀甜害。文件指針將會放在文件的開頭舶掖。這是默認模式。
wb:以二進制格式打開一個文件只用于寫入尔店。如果該文件已存在則將其覆蓋眨攘。如果該文件不存在主慰,創(chuàng)建新文件。
ab:以二進制格式打開一個文件用于追加鲫售。如果該文件已存在共螺,文件指針將會放在文件的結尾。也就是說情竹,新的內容將會被寫入到已有內容之后藐不。如果該文件不存在,創(chuàng)建新文件進行寫入秦效。
r+:打開一個文件用于讀寫雏蛮。文件指針將會放在文件的開頭。
w+:打開一個文件用于讀寫阱州。如果該文件已存在則將其覆蓋挑秉。如果該文件不存在,創(chuàng)建新文件贡耽。
a+:打開一個文件用于讀寫衷模。如果該文件已存在,文件指針將會放在文件的結尾蒲赂。文件打開時會是追加模式阱冶。如果該文件不存在,創(chuàng)建新文件用于讀寫滥嘴。
rb+:以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭若皱。
wb+:以二進制格式打開一個文件用于讀寫镊叁。如果該文件已存在則將其覆蓋。如果該文件不存在走触,創(chuàng)建新文件晦譬。
ab+:以二進制格式打開一個文件用于追加。如果該文件已存在互广,文件指針將會放在文件的結尾敛腌。如果該文件不存在,創(chuàng)建新文件用于讀寫惫皱。
逗號分隔的存儲格式叫作CSV格式(逗號分隔值)像樊,是一種通用的、相對簡單的文件格式旅敷,用途廣泛生棍,主要用于不同程序之間的數(shù)據(jù)交換;CSV文件不需要特定的字符編碼媳谁;CSV文件的每一行是一維數(shù)據(jù)涂滴,整個CSV文件是一個二維數(shù)據(jù)友酱;一維數(shù)據(jù)和二維數(shù)據(jù)都可以使用CSV格式保存成CSV文件。
一維數(shù)據(jù)由對等關系的有序或無序數(shù)據(jù)構成氢妈,采用線性方式組織粹污,對應于數(shù)學中數(shù)組的概念段多。一維數(shù)據(jù)十分常見首量,任何表現(xiàn)為序列或集合的內容都可以看作是一維數(shù)據(jù)。
這是二維數(shù)組
[1,2,3,[4,4],[2,3,4,5,6],[7,7]]
打開并關閉文件的操作进苍,需要文件的路徑名加缘,
由于"\"是字符串中的轉義符,所以表示路徑時觉啊,使用"\\"或"/"代替"\"拣宏。
記住python里面反斜杠代表轉義的意思。
join()方法用于將序列中的元素以指定的字符連接生成一個新的字符串杠人。
二維數(shù)據(jù)存儲為CSV格式勋乾,需要將二維列表對象寫入CSV格式文件以及將CSV格式讀入成二維列表對象。
二維列表對象輸出為CSV格式文件方法采用遍歷循環(huán)和字符串的join()方法相結合嗡善。實例如下:
#ls代表二維列表辑莫,此處省略
f = open("cpi.csv","w")
for row in ls:
f.write(",".join(row)+"\n")
f.close()
split() 方法用于把一個字符串分割成字符串數(shù)組。
strip() 方法用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列罩引。
文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列各吨,可以包含任何數(shù)據(jù)內容。概念上袁铐,文件是數(shù)據(jù)的集合和抽象揭蜒。
Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量剔桨,語法形式如下:
<變量名> = open(<文件路徑及文件名>,<打開模式>)
open()函數(shù)有兩個參數(shù):文件名和打開模式屉更。打開模式用于控制使用何種方式打開文件,open()函數(shù)提供7中基本的打開模式洒缀,如下:
r:只讀模式瑰谜,如果文件不存在,返回異常FileNotFoundError帝洪,默認值
w:覆蓋寫模式似舵,文件不存在則創(chuàng)建,存在則完全覆蓋原文件
x:創(chuàng)建寫模式葱峡,文件不存在則創(chuàng)建砚哗,存在則返回異常FileExistsError
a:追加寫模式,文件不存在則創(chuàng)建砰奕,存在則在原文件最后追加內容
b:二進制文件模式
t:文本文件模式蛛芥,默認值
+:與r/w/x/a一同使用提鸟,在原功能基礎上增加讀寫功能
默認是只讀模式,可以省略仅淑,C答案還錯在必須要用r或w指定打開方式称勋,太過絕對了,還可以指定x創(chuàng)建寫模式涯竟,b二進制文件模式等等模式赡鲜。
split()方法是常用的字符串處理方法之一门粪。
Python文件操作方法:
f.read(size):從文件中讀入整個文件內容德撬。參數(shù)可選,如果給出凝颇,讀入前size長度的字符串或字節(jié)流筐钟。
f.readline(size):從文件中讀入一行內容揩瞪。參數(shù)可選,如果給出篓冲,讀入該行前size長度的字符串或字節(jié)流李破。
f.readlines(hint):從文件中讀入所有行,以每行為元素形成一個列表壹将。參數(shù)可選嗤攻,如果給出,讀入hint行瞭恰。
f.seek(offset):改變當前文件操作指針的位置屯曹,offset的值:0為文件開頭;1為當前位置惊畏;2為文件結尾恶耽。
f.write(s):向文件寫入一個字符串或字節(jié)流。
f.writelines(lines):將一個元素為字符串的列表整體寫入文件颜启。
一維數(shù)據(jù)由對等關系的有序或無序數(shù)據(jù)構成偷俭,采用線性方式組織,對應于數(shù)學中數(shù)組的概念缰盏。
二維數(shù)據(jù)涌萤,也稱表格數(shù)據(jù),由關聯(lián)關系數(shù)據(jù)構成口猜,采用二維表格方式組織负溪,對應于數(shù)學中的矩陣,常見的表格都屬于二維數(shù)據(jù)济炎。
高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成川抡,采用對象方式組織,可以多層嵌套须尚。高維數(shù)據(jù)相比一維和二維數(shù)據(jù)能表達更加靈活和復雜的數(shù)據(jù)關系崖堤,可以用字典類型表示侍咱。
open()方法的作用是打開一個文件,而所給的代碼未對文件exam.txt進行讀寫操作密幔,直接關閉楔脯,運行后代碼輸出的結果是<_io.TextIOWrapper name='book.txt' mode='r' encoding='cp936'>。
Python文件讀操作的方法:
f.read(size):從文件中讀入整個文件內容胯甩。參數(shù)可選昧廷,如果給出,讀入前size長度的字符串或字節(jié)流蜡豹。
f.readline(size):從文件中讀入一行內容麸粮。參數(shù)可選溉苛,如果給出镜廉,讀入該行前size長度的字符串或字節(jié)流。
f.readlines(hint):從文件中讀入所有行愚战,以每行為元素形成一個列表娇唯。參數(shù)可選,如果給出寂玲,讀入hint行塔插。
f.seek(offset):改變當前文件操作指針的位置,offset的值:0為文件開頭拓哟;1為當前位置想许;2為文件結尾。
open()方法的作用是打開一個文件断序,而所給的代碼只指定了模式而未對文件book.txt進行讀寫操作流纹,直接關閉,運行后輸出<_io.TextIOWrapper name='book.txt' mode='r' encoding='cp936'>违诗。
改成這樣才不報錯:
txt = open('book.txt','r')
print(txt.read())
txt.close()
f.read(size):從文件中讀入整個文件內容漱凝。參數(shù)可選,如果給出诸迟,讀入前size長度的字符串或字節(jié)流茸炒。
split(str,num)通過指定分隔符對字符串進行切片,如果參數(shù)num有指定值阵苇,則僅分隔num個子字符串壁公。
f.read().split(","):從文件中讀入整個文件內容,并以逗號分隔绅项。原文的第一行后有一個換行符"\n"紊册,
所以讀入文件內容時,這里的字符串應為"巴巴多斯\n白俄羅斯"趁怔。
運行代碼后的輸出結果是['巴哈馬', '巴林', '孟加拉國', '巴巴多斯\n白俄羅斯', '比利時', '伯利茲']湿硝。
備注:csv格式的文件就是excel表格
fo.writelines(lines)方法的含義是將一個元素為字符串的列表整體寫入文件薪前。
代碼運行后的輸出結果是book2320100920。
采用二進制方式打開文件关斜,文件被解析成為字節(jié)流示括。
Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量痢畜。
f.write(s):向文件寫入一個字符串或字節(jié)流垛膝。
C答案錯誤,并不會載入內存當中丁稀,而是存在一個變量空間里面吼拥,這涉及到堆棧地址什么的。
格式化方法.format()用于解決字符串和變量同時輸出時的格式安排問題线衫,使用方式如下:
<模板字符串>.format(<逗號分隔的參數(shù)>)
其中凿可,模板字符串是一個由字符串和槽組成的字符串,用來控制子串和變量的顯示結果授账。
槽用大括號({})表示枯跑,對應format()方法中逗號分隔的參數(shù)。
程序中使用strip()方法去掉數(shù)據(jù)尾部的逗號白热,
所以程序填空處應該重新加上逗號敛助,所以選項A錯誤。
選項C中使用了中文狀態(tài)下的引號(若將引號修改為英文狀態(tài)屋确,
輸出到文件的內容也與題意不符)纳击,所以選項C錯誤。使用選項D中的代碼輸出到文件中的內容與題意不符攻臀,所以選項D錯誤焕数。
對于列表類型,使用等號無法實現(xiàn)真正的賦值茵烈,不能產(chǎn)生新列表百匆。img1 = img2語句并不是拷貝img2中的元素給變量img1,而是新關聯(lián)了一個引用呜投,即增加一個別名加匈,img1和img2所指向的是同一套內容,所以調用函數(shù)modi()后仑荐,輸出的img1雕拼,指向的是img2的內容,即[1,2,3,4,5]粘招。在函數(shù)外部啥寇,img1內容不變,所以輸出的是[12,34,56,78]。
列表的索引值由0開始辑甜。
pip常用的子命令有:
install衰絮、download、uninstall磷醋、freeze猫牡、list、show邓线、search淌友、wheel葵腹、hash季二、completion男旗、help颅眶。
'b':二進制文件模式。
'+':與r/w/x/a一同使用止吐,在原功能基礎上增加同時讀寫功能蕉世。
f.readlines(hint=-1):從文件中讀入所有行以每行為元素形成一個列表焚刺。參數(shù)可選匪蝙,如果給出主籍,讀入hint行。
A錯在加載到內存中逛球,應該是存到一個變量中。
f.writelines(lines):直接將列表類型的各元素連接起來寫入文件f苫昌。
str.split(sep=None):返回一個列表颤绕,由str根據(jù)sep被分割的部分構成,省略sep默認以空格分割祟身。
str.strip(chars):從字符串str中去掉在其左側和右側chars中列出的字符奥务。
str.replace(old,new):返回字符串str的副本,所有old子串被替換為new袜硫。
str.center(width,fillchar):字符串居中函數(shù)氯葬,fillchar參數(shù)可選。
pip常用的子命令有:
install婉陷、download帚称、uninstall、freeze秽澳、list闯睹、show、search担神、wheel楼吃、hash、completion、help孩锡。
str.split(sep=None):返回一個列表酷宵,由str根據(jù)sep被分割的部分構成,省略sep默認以空格分割躬窜。
str.strip(chars):從字符串str中去掉在其左側和右側chars中列出的字符忧吟。
str.join(iter):將iter變量的每一個元素后增加一個str字符串。
這三個方法用來增加字符串中的分隔字符或者去掉指定字符斩披,是在進行CSV文件讀寫時溜族,可能會使用的處理方法。
index() 方法檢測字符串中是否包含子字符串 str 垦沉,如果指定 beg(開始) 和 end(結束) 范圍煌抒,則檢查是否包含在指定范圍內,該方法與 python find()方法一樣厕倍,只不過如果str不在 string中會報一個異常寡壮。
Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量讹弯,語法形式如下:
<變量名> = open(<文件路徑及文件名>,<打開模式>)
f就是等號左邊的變量名况既,不是特殊的變量,僅僅是個變量名棒仍,右邊賦值給它的。
B答案:高維數(shù)據(jù)在Web系統(tǒng)中十分常用臭胜,作為當今Internet組織內容的主要方式莫其,高維數(shù)據(jù)衍生出HTML、XML耸三、JSON等具體數(shù)據(jù)組織的語法結構乱陡。
D答案:在列表中,元素的類型可以是字符串仪壮,可以是整數(shù)等等憨颠。例如:[3,4,'6','my']
A答案:高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織积锅。故字典用于表示高維數(shù)據(jù)爽彤,一般不用來表示一二維數(shù)據(jù),字典類似json格式乏沸。
perf_counter()不是Python內置函數(shù)淫茵。
install:安裝
uninstall:卸載
download:下載
search:查找
randint(a,b):生成一個[a,b]之間的整數(shù),含a和b蹬跃。
random.random() 隨機生成一個(0,1)的浮點數(shù)匙瘪,
uniform(a,b):生成一個[a,b]之間的隨機小數(shù)铆铆。
使用time.time()獲取當前時間戳,返回值為數(shù)字形式丹喻,得到當前時間戳Timestamp难捌,是一個浮點數(shù)而晒。
choice(seq):從序列類型(例如列表)中隨機返回一個元素姨谷。
shuffle(seq):將序列類型中元素隨機排列赐劣,返回打亂后的序列。
getrandbits(k):生成一個k比特長度的隨機整數(shù)鳍悠。
sample(pop,k):從pop類型中隨機選取k個元素税娜,以列表類型返回。
install:安裝
uninstall:卸載
download:下載
search:查找
pencolor():設置畫筆的顏色
pensize():設置畫筆寬度
seth():改變畫筆繪制方向
right(angle):向右旋轉angle角度
這里強調顏色控制藏研。
4.條件控制類
屬于分支邏輯的保留字有if敬矩、else、elif蠢挡,屬于循環(huán)邏輯的保留字有break弧岳、continue、for业踏、while禽炬。
列表、字典和字符串類型的元素是有限的勤家,浮點數(shù)的個數(shù)是無限的腹尖。
基本的語法格式如下:
try:
<語句塊1>
except:
<語句塊2>
語句塊1是正常執(zhí)行的程序內容,當執(zhí)行這個語句塊發(fā)生異常時却紧,則執(zhí)行except保留字后面的語句塊2桐臊。
縮進是指每行語句開始前的空白區(qū)域,用來表示Python程序間的包含和層次關系晓殊。一般代碼不需要縮進,頂行編寫且不留空白伤提。當表示分支巫俺、循環(huán)、函數(shù)肿男、類等程序含義時介汹,在if、while舶沛、for嘹承、def、class等保留字所在完整語句后通過英文冒號(:)結尾并在之后進行縮進如庭,表明后續(xù)代碼與緊鄰無縮進語句的所屬關系叹卷。
異常和錯誤是不同的概念,異常僅指程序運行層面的錯誤,而錯誤范圍更廣泛骤竹,還包括程序的邏輯錯誤等帝牡。
break用來跳出最內層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行蒙揣。
Python語言的循環(huán)結構包括兩種:遍歷循環(huán)和無限循環(huán)靶溜。遍歷循環(huán)使用保留字for,無限循環(huán)使用保留字while懒震。
t.fd(50)表示沿著當前方向前進指定距離罩息,t.left(90)表示向左旋轉90度。range(start, stop[, step])表示計數(shù)從start開始个扰,到stop結束瓷炮,但不包括stop,步長默認為1锨匆,則i的取值為1崭别、2、3恐锣、4茅主,所以繪制的圖形是正方形。
分支結構中的判斷條件可以使用任何能夠產(chǎn)生True或False的語句或函數(shù)土榴。形成判斷條件最常見的方式是采用關系操作符诀姚。11<=22<33是合法的條件,輸出為True玷禽。
range(start, stop[, step])表示計數(shù)從start開始赫段,到stop結束,但不包括stop矢赁,步長默認為1糯笙,則i的取值為1、2撩银、3给涕、4、5额获。根據(jù)程序可知够庙,當i不能被4整除時,執(zhí)行輸出語句抄邀;當i能被4整除時耘眨,跳出for循環(huán),則輸出結果為"1,2,3,"境肾。
Python的單分支結構使用if保留字對條件進行判斷剔难;二分支結構使用if-else保留字對條件進行判斷胆屿;多分支結構使用if-elif-else保留字對多個相關條件進行判斷,并根據(jù)不同條件的結果按照順序選擇執(zhí)行路徑钥飞。其中莺掠,else子句是可選的,這里錯在每個if必須搭配使用,其實是沒有限制要求的读宙,可以單個if關鍵字出現(xiàn)彻秆。
列表的索引采用正向遞增序號或反向遞減序號,正向遞增序號從0開始结闸,即ls索引的取值范圍是0到9(含)的整數(shù)唇兑;反向遞減符號從-1開始需曾,即ls索引的取值范圍是-1到-10(含)的整數(shù)狰闪。
鍵盤輸入數(shù)字5,則n的值為5撩炊,s的值為0结耀。此時n>=5條件成立留夜,n減1為4,s被賦值為4图甜。此時n<5條件成立碍粥,n減1為3,s被賦值為3黑毅。程序結束嚼摩,輸出s的值為3,因為沒有continue子句矿瘦,所以不會再繼續(xù)下去的哦枕面。
Python語言的循環(huán)結構包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用保留字for缚去,無限循環(huán)使用保留字while。
輸入數(shù)字5之后易结,程序執(zhí)行try之后的語句塊唇跨。語句塊中只包含函數(shù)定義過程,并未調用函數(shù)衬衬,所以程序沒有任何輸出,要增加一個調用函數(shù):pow2()改橘。
順序結構滋尉、分支結構和循環(huán)結構是Python語言中3種最基本的控制結構。異常處理以程序異常為判斷條件飞主,根據(jù)一段代碼執(zhí)行的正確性進行程序邏輯選擇狮惜,是分支結構的一種擴展高诺。
糾錯下:這題答案應該選A
二分支結構使用if-else保留字對條件進行判斷,多分支結構使用if-elif-else保留字對多個相關條件進行判斷碾篡。
運算符//表示計算整數(shù)商虱而。當guess == 0x452//2條件成立時,跳出while循環(huán)开泽,輸出guess的值牡拇。
0x452是16進制數(shù),0x代表16進制標志穆律,所以456(16進制)轉換成十進制為4*16**2+5*16**1+2*16**0=1024+80+2=1106惠呼,則0x452//2的值為553。
十六進制轉換有16進制每一位上可以是從小到大為0峦耘、1剔蹋、2、3辅髓、4泣崩、5、6洛口、7矫付、8、9、A慷垮、B函卒、C要糊、D纲熏、E、F16個大小不同的數(shù)
continue用來結束當前當次循環(huán)锄俄,即跳出循環(huán)體中下面尚未執(zhí)行的語句局劲,但不跳出當前循環(huán)。由代碼可知珊膜,當s=="a"或s=='e'條件成立時容握,跳出當前當次循環(huán),不輸出s的值车柠,則最后的輸出結果為tsttst剔氏。
while循環(huán)也可以用來實現(xiàn)遍歷循環(huán)。
divmod(x,y)函數(shù)同時返回兩個值竹祷,分別是x和y的整數(shù)商和除法余數(shù)谈跛,輸出為二元組形式(也稱為元組類型)。
len(x):返回字符串x的長度塑陵,也可返回其他組合數(shù)據(jù)類型的元素個數(shù)感憾。
B答案:字符串不支持除法,但支持乘法(就是對字符串的復制效果)
C答案:用法錯誤
D答案:isnumeric() 方法檢測字符串是否只由數(shù)字組成令花。這種方法是只針對unicode對象阻桅。
對字符串中某個子串或區(qū)間的檢索成為切片凉倚。切片的使用方式如下:
<字符串或字符串變量>[N:M]
切片獲取字符串從N到M(不包含M)的子字符串,其中嫂沉,N和M為字符串的索引序號稽寒,
可以混合使用正向遞增序號和反向遞減序號。反向從-1開始趟章,正向從0開始杏糙。
str1[2:]表示截取字符串正向第3個字符p到字符串末尾之間的字符,即'python@*'蚓土。
str.strip(chars)表示從字符串str中去掉在其左側和右側chars中列出的字符宏侍。
因為得到的子字符串'python@*'最左和最右都沒有字符@,所以最后的結果依然為'python@*'蜀漆。
字符串按位比較谅河,x>y是成立的,所以輸出True嗜愈。
比較的是字符對應的ASCII碼大小旧蛾,如果兩個字符串字符相同,但是一個字符串的字符多蠕嫁,則多的大锨天,比如:
"ABC"小于"ABCD"
break是輔助循環(huán)控制的保留字,用來跳出最內層for或while循環(huán)剃毒,脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行暴备。
break語句娜亿,對循壞次數(shù)沒有影響。
round(x):返回對x四舍五入的整數(shù)值。
eval()函數(shù)將去掉字符串最外側的引號有决,并按照Python語句執(zhí)行去掉引號后的字符內容挤土。
對字符串中某個子串或區(qū)間的檢索成為切片条篷。切片的使用方式如下:
<字符串或字符串變量>[N:M]
切片獲取字符串從N到M(不包含M)的子字符串腰素,其中,N和M為字符串的索引序號轰豆,可以混合使用正向遞增序號和反向遞減序號胰伍。反向從-1開始,正向從0開始酸休。
tstr[3:-1]表示截取字符串正向第4個字符5到字符串末尾(不包括末尾字符)之間的字符骂租,即'52'。
上面語句運行會出錯斑司,星號是字符串的形式,所以要加上一對引號才行渗饮。
str.center(width,fillchar):返回長度為width的字符串,
其中,str位于新字符串中心位置互站,兩側新增字符采用fillchar填充私蕾。
正確的語句是print(str1.center(10,'*')),運行后的結果為**python**云茸。
糾錯:題目有問題是目。
all(x):組合類型變量x中所有元素都為真時返回True,否則返回False标捺;若x為空,返回True揉抵。
any(x):組合類型變量x中任一元素都為真時返回True亡容,否則返回False;若x為空冤今,返回True闺兢。
y中第一個元素為一個空格,在ascii2和unicode碼表中空格是算一個字符戏罢,第二個元素為空屋谭,即null,
所以第一個元素為真龟糕,第二個元素為假桐磁,all(y)輸出False,any(y)輸出True讲岁。
for i in range(len(ls))中我擂,i的值是數(shù)字類型,for i in ls中i是列表中的元素缓艳,是字符串類型校摩。這兩個i的值不同。
使用函數(shù)主要有兩個目的:降低編程難度和增加代碼復用阶淘。代碼復用降低了代碼行數(shù)和代碼維護難度衙吩,增強代碼可讀性。
python的代碼是解釋型的溪窒,是一行一行逐行解釋的坤塞,所以代碼執(zhí)行速度相較于其他語言是慢的。
全局變量在函數(shù)內部使用時霉猛,需要提前使用保留字global聲明尺锚,而且我們的代碼習慣都是置頂聲明全局變量(第一行),而且global不是語句而是一個保留字惜浅。
如果一個函數(shù)需要以多種形式來接收實參瘫辩,定義時一般把位置參數(shù)放在最前面,
然后是默認參數(shù),接下來是一個星號的可變長度參數(shù)伐厌,最后是兩個星號的可變長度參數(shù)承绸。
例:def foo(x,*args,**kwargs):
len(d):字典d的元素個數(shù)(長度)。字典中每一個元素是一個鍵值對挣轨,共有3個鍵值對军熏,所以結果為3。
常見的組合數(shù)據(jù)類型有集合類型卷扮、序列類型和映射類型荡澎。
序列類型的典型代表是字符串類型和列表類型,映射類型的典型代表是字典類型晤锹。集合類型是一個元素集合摩幔,元素之間無序,相同元素在集合中唯一存在鞭铆。
準確的說python沒有數(shù)組這一個概念或衡,只有列表,容易和其他編程語言混淆
文件包括文本文件和二進制文件兩種類型车遂。文本文件一般由單一特定編碼的字符組成封断,如UTF-8編碼,內容容易統(tǒng)一展示和閱讀舶担。二進制文件直接由比特0和比特1組成坡疼,沒有統(tǒng)一的字符編碼。
現(xiàn)在流行的編輯器都默認utf-8
round(x,d):對x四舍五入柄沮,保留d位小數(shù)回梧,無參數(shù)d則返回四舍五入的整數(shù)值。
chr(x):返回Unicode編碼x對應的單字符祖搓。
都說是無限循環(huán)了狱意,還要確定循環(huán)次數(shù)嗎?
Python通過保留字while實現(xiàn)無限循環(huán)拯欧,不需要提前確定循環(huán)次數(shù)详囤。
循環(huán)結構有兩個輔助循環(huán)控制的保留字:break和continue。
無限循環(huán)也有一種使用保留字else的擴展模式镐作,使用方式如下:
while <條件>:
<語句塊1>
else:
<語句塊2>
常見的組合數(shù)據(jù)類型有集合類型藏姐、序列類型和映射類型。
序列類型的典型代表是字符串類型和列表類型该贾,映射類型的典型代表是字典類型羔杨。集合類型是一個元素集合,元素之間無序杨蛋,相同元素在集合中唯一存在兜材。
5.組合類
列表沒有長度限制理澎,元素類型可以不同真慢,不需要預定義長度榆综。
例子:list1=[1,2,'3',(4,5,6),{‘a(chǎn)ge’:21}],這個列表涵蓋了整數(shù)類型、字符串類型刽脖、元組類型举庶、字典類型执隧,所以元素類型不必相同。
python語言中通過字典類型實現(xiàn)映射户侥。由于字典元素"鍵值對"中鍵是值的索引镀琉,因此,可以直接利用鍵值對關系進行索引元素蕊唐,而列表是通過整數(shù)索引的滚粟,例如a = [1,2,3,4]求a[0]。
字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結構刃泌,鍵和值可以是任意數(shù)據(jù)類型,通過鍵索引值署尤,并可以通過鍵修改值耙替。
字典中的值沒有任何類型限制,值可以是整數(shù)類型曹体,字符串類型俗扇、列表, 可以是任意Python對象箕别,但是字典中的鍵是有類型限制的铜幽。
不允許一個鍵對應多個值。必須明確一條原則:每個鍵只能對應一個項串稀。也就是說:一鍵對應多個值是不允許的除抛。 當有鍵發(fā)生沖突(即字典鍵重復賦值),取最后(最近)的賦值母截。
當有鍵和值重復不會出現(xiàn)報錯的提醒信息到忽,Python并不會因字典中的鍵存在沖突而產(chǎn)生一個錯誤,它不會檢查鍵的沖突清寇。
append(x):在列表最后增加一個元素x喘漏。
insert(i,x):在列表第i位置增加元素x。
索引是列表的基本操作检诗,用于獲得列表中的一個元素匈仗。該操作沿用序列類型的索引方式,
即正向遞增序號和反向遞減序號逢慌,使用中括號作為索引操作符悠轩,索引序號不能超過列表的元素范圍,
否則會出現(xiàn)IndexError錯誤攻泼。正向遞增序號從0開始火架,反向遞減序號從-1開始。
ls[2][1][-1]的執(zhí)行過程:[2010,'stud1']-> stud1->1忙菠,即最后的結果是"1"何鸡。
查找要逐級查找,不能越過牛欢,這里應該先找food鍵再找cake鍵骡男。
d.get(key,default)根據(jù)鍵信息查找并返回值信息,如果key存在則返回相應值傍睹,否則返回默認值隔盛。
代碼d.get('cake','no this food')中的鍵"cake"在運行的時候找不到,
所以輸出結果:no this food拾稳;
但是如果將代碼d.get('cake','no this food')修改為d['food']['cake']吮炕,運行后輸出結果:1。
Python通過保留字for實現(xiàn)遍歷循環(huán)熊赖,使用方法如下:
for <循環(huán)變量> in <遍歷結構>
<語句塊>
遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素来屠,放在循環(huán)變量中,
對于每個所提取的元素執(zhí)行一次語句塊震鹉。for語句的執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的俱笛。
使用range()函數(shù),可以指定語句塊的循環(huán)次數(shù)传趾。
題目中的代碼循環(huán)過程如下:
c=[1,2,3]迎膜,j=0,c[0]=1浆兰,s=1磕仅;
c=[1,2,3]珊豹,j=1,c[1]=2榕订,s=3店茶;
c=[1,2,3],j=2劫恒,c[2]=3贩幻,s=6;
c=[4,5,6]两嘴,j=0丛楚,c[0]=4,s=10憔辫;
c=[4,5,6]趣些,j=1,c[1]=5贰您,s=15坏平;
c=[4,5,6],j=2锦亦,c[2]=6功茴,s=21;
c=[7,8,9]孽亲,j=0,c[0]=7展父,s=28返劲;
c=[7,8,9],j=1栖茉,c[1]=8篮绿,s=36;
c=[7,8,9]吕漂,j=2亲配,c[2]=9,s=45惶凝。
Python語言中的組合數(shù)據(jù)類型包括集合類型吼虎、序列類型(列表類型)和映射類型(字典類型),而復數(shù)類型屬于基本數(shù)據(jù)類型中的數(shù)字類型苍鲜。
range(a,b,s)的作用是從a到b以s為步長產(chǎn)生一個序列思灰。
list(x)的作用是創(chuàng)建或將變量x轉換成一個列表類型。
代碼執(zhí)行后的輸出結果是[0, 1, 2, 3, 4]俄讹。
ls.clear():刪除ls中所有元素收津。
Python語言中的字典使用大括號{}建立,每個元素是一個鍵值對誓琼,使用方式如下:
{<鍵1>:<值1>,<鍵2>:<值2>……<鍵n>:<值n>}
其中油湖,鍵和值通過冒號連接巍扛,不同鍵值對通過逗號隔開。
max(ls)是列表的常用操作函數(shù)乏德,表示列表ls中的最大值撤奸。
Python通過保留字for實現(xiàn)遍歷循環(huán),使用方法如下:
for <循環(huán)變量> in <遍歷結構>
<語句塊>
遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素鹅经,放在循環(huán)變量中寂呛,
對于每個所提取的元素執(zhí)行一次語句塊。for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的瘾晃。
ls.append(x)方法是列表的常用操作方法贷痪,作用是在列表最后增加一個元素x。
題目中的代碼循環(huán)過程如下:
m = A蹦误,n = C劫拢,m+n = AC;
m = A强胰,n = D舱沧,m+n = AD;
m = B偶洋,n = C,m+n = BC玉凯;
m = B藤树,n = D,m+n = BD乓土。
代碼執(zhí)行后的輸出結果是['AC', 'AD', 'BC', 'BD']蟀悦。
列表是包含0個或多個元組的有序序列询张,屬于序列類型。列表可以進行元素增加浙炼、刪除份氧、替換唯袄、查找等操作。
如果序列長度為L蜗帜,正向遞增需要以最左側序列符號為0恋拷,向右依次遞增,最右側序列符號為L-1厅缺;反向遞減序號以最右側序列符號為-1蔬顾,向左依次遞減,最左側序列符號為-L湘捎。
選項"如果s是一個序列诀豁,s = [1,"kate",True],s[3]返回True"中的索引序號"3"超過列表的元素范圍窥妇,出現(xiàn)IndexError錯誤舷胜,返回的結果不是True。
Python通過保留字for實現(xiàn)遍歷循環(huán)秩伞,使用方法如下:
for <循環(huán)變量> in <遍歷結構>
<語句塊>
遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素逞带,放在循環(huán)變量中,
對于每個所提取的元素執(zhí)行一次語句塊纱新。for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的展氓。
len(S):字符串S的長度,這里為4脸爱。i的取值范圍為range(4)遇汞,即0、1簿废、2空入、3。
題目中的代碼循環(huán)過程如下:
i = 0族檬,S[-i]=P歪赢;
i = 1,S[-i]=e单料;
i = 2埋凯,S[-i]=m;
i = 3扫尖,S[-i]=a白对。
代碼執(zhí)行后的輸出結果是Pema。
Python通過保留字for實現(xiàn)遍歷循環(huán)换怖,使用方法如下:
for <循環(huán)變量> in <遍歷結構>
<語句塊>
遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素甩恼,放在循環(huán)變量中,
對于每個所提取的元素執(zhí)行一次語句塊。for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的条摸。
Python的單分支結構使用if保留字對條件進行判斷悦污,使用方法如下:
if <條件>:
<語句塊>
其中,if屈溉、:和<語句塊>前的縮進都是語法的一部分塞关。<條件>是一個產(chǎn)生True或False結果的語句,
當結果為True時子巾,執(zhí)行<語句塊>帆赢,否則跳過<語句塊>。
continue用來結束當前當次循環(huán)线梗,即跳出循環(huán)體中下面尚未執(zhí)行的語句椰于,但不跳出當前循環(huán)。
題目中的代碼循環(huán)過程如下:
s = H仪搔,輸出結果H瘾婿;
s = e,輸出結果e烤咧;
s = l偏陪,輸出結果l;
s = l煮嫌,輸出結果l笛谦;
s = o,輸出結果o昌阿;
s = W饥脑,跳出當前當次循環(huán),繼續(xù)下一次循環(huán)懦冰;
s = o灶轰,輸出結果o;
s = r刷钢,輸出結果r笋颤;
s = d,輸出結果d内地。
代碼執(zhí)行后的輸出結果是Helloorld伴澄。
索引是按照一定順序檢索內容的體系。由于字典元素"鍵值對"中鍵是值的索引瓤鼻,因此,可以直接利用鍵值對關系索引元素贤重。
字典中鍵值對的索引模式如下(采用中括號格式):
<值> = <字典變量>[<鍵>]
d['food'][-1]和d['cake'][1]中括號里的內容不是鍵茬祷,與字典類型中的索引模式不一樣辕翰;d['egg']執(zhí)行后的值是3拟逮,不是5。
s.insert(i,x):在列表第i位置增加元素x。
列表中的索引值從0開始允乐,s.insert(2,3)表示在列表的第三個位置增加元素3,則題目中的代碼執(zhí)行后輸出結果為[4,2,3,9,1]捕仔。
len(ls):列表ls中的元素個數(shù)(長度)喘鸟。
代碼執(zhí)行后的輸出結果是3,即ls=[[1,2,3],[[4,5],6],[7,8]]的長度為3最盅。
ls.append(x):在列表ls最后增加一個元素x突雪。
代碼執(zhí)行后的輸出結果為['2020', '20.20', 'Python', 2020, [2020, '2020']]。
d.get(key,default):鍵存在則返回相應值涡贱,否則返回默認值default咏删。
代碼執(zhí)行后的輸出結果:黑色 黑色。
序列類型是一維元素向量问词,元素之間存在先后關系督函,通過序號訪問。
高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成激挪,采用對象方式組織辰狡,可以多層嵌套。高維數(shù)據(jù)相比一維和二維數(shù)據(jù)能表達更加靈活和復雜的數(shù)據(jù)關系垄分,可以用字典類型表示宛篇。一維數(shù)據(jù)不用字典類型來表示。
索引序號從0開始锋喜,不能超過列表的元素范圍些己。l1列表中只有兩個元素,l1.index(2)表示取列表中第三個元素嘿般,會出錯段标。
range(start, stop[, step])表示計數(shù)從start開始,到stop結束炉奴,
但不包括stop逼庞,步長默認為1。start默認從0開始瞻赶,range(2)等價于range(0,2)赛糟,則k的取值范圍為0、1砸逊。
break用來跳出最內層循環(huán)璧南,脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。
第1次循環(huán)师逸,i=N司倚,k=0,if判斷條件不成立,輸出i的值為N动知。
第2次循環(huán)皿伺,i=N,k=1盒粮,if判斷條件不成立鸵鸥,輸出i的值為N。
第3次循環(huán)丹皱,i=a妒穴,k=0,if判斷條件不成立种呐,輸出i的值為a宰翅。
第4次循環(huán),i=a爽室,k=1汁讼,if判斷條件不成立,輸出i的值為a阔墩。
……
第11次循環(huán)嘿架,i=n,k=0啸箫,if判斷條件成立耸彪,跳出內層循環(huán)。
第12次循環(huán)忘苛,i=n蝉娜,k=1,if判斷條件成立扎唾,跳出內層循環(huán)召川。
最后輸出為NNaattiioo。