




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
0、命令行常用命令命令行(Windows下叫“命令提示符”,Mac下叫“終端”)里的常用命令。打開命令行,我們會(huì)看到每行前面都有諸如C:\DocumentsandSettings\Crossin>或者M(jìn)yMacBook:?crossin$之類的。這個(gè)提示符表示了當(dāng)前命令行所在目錄。第一個(gè)常用的命令是:dir(windows環(huán)境下)ls(mac環(huán)境下)dir和ls的作用差不多,都是顯示出當(dāng)前目錄下的文件和文件夾。第二個(gè)常用命令是:cd目錄名通過dir或ls了解當(dāng)前目錄的結(jié)構(gòu)之后,可以通過“cd目錄名”的方式,進(jìn)入到當(dāng)前目錄下的子目錄里。如果要跳回到上級目錄,可以用命令:cd..另外,Windows下如果要寫換盤符,需要輸入盤符:比如從c盤切換到d盤C:\DocumentsandSettings\Crossin>d:有了以上兩個(gè)命令,就可以在文件目錄的迷宮里游蕩了。雖然沒可視化的目錄下的操作那么直觀,但是會(huì)顯得你更像個(gè)程序員。。。于是乎,再說個(gè)高階玩法:現(xiàn)在你可以不用idle那套東西了,隨便找個(gè)順手的文本軟件,把你的代碼寫好,保存好,最好是保存成py文件。然后在命令行下進(jìn)入到py文件保存的目錄,使用命令:python程序保存的文件名就可以運(yùn)行你寫的程序了。關(guān)于分號“;”在C、Java等語言的語法中規(guī)定,必須以分號作為語句結(jié)束的標(biāo)識(shí)。Python也支持分號,同樣用于一條語句的結(jié)束標(biāo)識(shí)。但在Python中分號的作用已經(jīng)不像C、Java中那么重要了,Python中的分號可以省略,主要通過換行來識(shí)別語句的結(jié)束。例如,以下兩行代碼是等價(jià)的:
print"helloworld!"print"helloworld!";第1行代碼的輸出結(jié)果:helloworld!第2行代碼的輸出結(jié)果:helloworld!#使用分號分隔語句x=1;y=1;z=1第2行代碼有3條賦值語句,語句之間需要用分號隔開。如果不隔開語句,Python解釋器將不能正確解釋,提示語法錯(cuò)誤:SyntaxError:invalidsyntax注意分號不是Python推薦使用的符號,Python傾向于使用換行符作為每條語句的分隔,簡單直白是Python語法的特點(diǎn)。通常一行只寫一條語句,這樣便于閱讀和理解程序。一行寫多條語句的方式是不好的習(xí)慣。二、關(guān)于連行符“\”(雙反斜杠好像不可以,已測試)Python同樣支持多行寫一條語句,Python使用“\”作為連行符。在實(shí)踐中,一條語句寫在多行也是非常常見的?!纠堪裇QL語句作為參數(shù)傳遞給函數(shù),由于SQL的語句一般非常長,為了閱讀方便,因此需要換行書寫。#字符串的換行#寫法一sql="selectid,name\fromdept\wherename='A'"printsql#寫法二sql="selectid,name"\"fromdept"\"wherename='A'"printsql寫法一只使用了一對雙引號,把SQL語句分為select、from、where等3部分分別書寫。第6行代碼輸出結(jié)果:selectid,namefromdeptwherename='A'寫法二使用了3對雙引號,select、from、where分別對應(yīng)一對雙引號。第11行代碼輸出結(jié)果:selectid,namefromdeptwherename='A'第二種寫法比第一種寫法的可讀性更強(qiáng),可以使用空格和制表符對齊語句,使代碼顯得更工整。對于簡短的語句不推薦換行的寫法,這種寫法只會(huì)造成閱讀的復(fù)雜性。下面這段程序是不合理的換行寫法:#一條語句寫在多行print\"helloworld!"第2行?第3行代碼是一個(gè)整體,調(diào)用print輸出“helloworld!”,這種情況不適合分行書寫。三、關(guān)于單引號和雙引號雙引號和單引號都是可以用的,只不過用單引號的時(shí)候可以在字符串里面使用雙引號。同理,使用雙引號時(shí)也可以在字符串里面使用單引號先說1個(gè)雙引號與3個(gè)雙引號的區(qū)別,雙引號所表示的字符串通常要寫成一行如:si="hello,world"如果要寫成多行,那么就要使用\(“連行符”),如s2="hello,\world"s2與si是一樣的。如果你用3個(gè)雙引號的話,就可以直接寫了,如下:s3=""”hello,world,hahaha.""",那么s3實(shí)際上就是"hello,\nworld,\nhahaha.",注意“\n”,所以,如果你的字符串里\n很多,你又不想在字符串中用\n的話,那么就可以使用3個(gè)雙引號。而且使用3個(gè)雙引號還可以在字符串中增加注釋,如下:s3="""hello,#hoho,thisishello,在3個(gè)雙引號的字符串內(nèi)可以有注釋哦world,#hoho,thisisworldhahaha.""”這里我試過一下,確實(shí)可以加注釋,不過在prints3的時(shí)候連注釋內(nèi)容會(huì)一起給打印出來這就是3個(gè)雙引號和1個(gè)雙引號表示字符串的區(qū)別了,3個(gè)雙引號與1個(gè)單引號的區(qū)別也是和這個(gè)一樣的,實(shí)際上python支持單引號是有原因的,下面我來比較1個(gè)單引號和1個(gè)雙引號的區(qū)別。當(dāng)我用單引號來表示一個(gè)字符串時(shí),如果要表示Let'sgo這個(gè)字符串,必須這樣:s4='Let\'sgo',注意沒有,字符串中有一個(gè)',而字符串又是用'來表示,所以這個(gè)時(shí)候就要使用轉(zhuǎn)義符\,如果你的字符串中有一大堆的轉(zhuǎn)義符,看起來肯定不舒服,python也很好的解決了這個(gè)問題,如下:s5="Let'sgo"對于雙引號,也是一樣的,下面舉個(gè)例子s6='Irealylike"python"!'這就是單引號和雙引號都可以表示字符串的原因了。例子:⑴print("Stayhungry,\n"#這里換行符\n必須寫在雙引號里面"stayfoolish.\n""--SteveJobs")⑵print('''Stayhungry,#這里用了三個(gè)單引號,沒用換行符stayfoolish.--SteveJobs''')⑶print(""”Stayhungry,#這里用了三個(gè)雙引號,沒用換行符stayfoolish.--SteveJobs""”)這三個(gè)輸出的結(jié)果都是三行:Stayhungry,stayfoolish.--SteveJobs(4)print("Stayhungry,\stayfoolish.\--SteveJobs")這個(gè)輸出的結(jié)果是一行:Stayhungry,stayfoolish.--SteveJobs四、關(guān)于注釋符用井號作為注釋一行#此處為注釋一般用""”(三個(gè)英文引號)也可以注釋多行,不過一般用來表示函數(shù)文檔VIVIVI此處是注釋此函數(shù)功能為。。。。VIVIVI五、邏輯量True和False首字母必須大寫Python中的None:None是一個(gè)特殊的常量。None和False不同。None不是0。None不是空字符串。None和任何其他的數(shù)據(jù)類型比較永遠(yuǎn)返回False。None有自己的數(shù)據(jù)類型NoneType。你可以將None復(fù)制給任何變量,但是你不能創(chuàng)建其他NoneType對象。六、if語句,if???elif???else語句,while循環(huán),for循環(huán),break和continueif條件:#注意冒號必須有選擇執(zhí)行的語句#注意這里有四個(gè)空格的縮進(jìn)if,elif,else可組成一個(gè)整體的條件語句:if是必須有的;elif可以沒有,也可以有很多個(gè),每個(gè)elif條件不滿足時(shí)會(huì)進(jìn)入下一個(gè)elif判斷;else可以沒有,如果有的話只能有一個(gè),必須在條件語句的最后。ifa==1:print'one'elifa==2:print'two'else:print'toomany'while條件:#注意冒號必須有選擇執(zhí)行的語句#注意這里有四個(gè)空格的縮進(jìn)foriinrange(1,101):#i從1取到100printi注:range(x,y,c)表示一個(gè)list:[x,x+c,x+2c,,y-c]。如果沒有第三個(gè)參數(shù)c,默認(rèn)c=1.breakwhile循環(huán)在條件不滿足時(shí)結(jié)束,for循環(huán)遍歷完序列后結(jié)束。如果在循環(huán)條件仍然滿足或序列沒有遍歷完的時(shí)候,想要強(qiáng)行跳出循環(huán),就需要用到break語句。continuebreak是徹底地跳出循環(huán),而continue只是略過本次循環(huán)的余下內(nèi)容,直接進(jìn)入下一次循環(huán)。七、變量命名規(guī)則python在定義一個(gè)變量時(shí)不需要給它限定類型。變量會(huì)根據(jù)賦給它的值,自動(dòng)決定它的類型。你也可以在程序中,改變它的值,于是也就改變了它的類型。變量命名時(shí)第一個(gè)字符必須是字母或者下劃線“_”,剩下的部分可以是字母、下劃線“_”或數(shù)字(0-9)變量名稱是對大小寫敏感的,myname和myName不是同一個(gè)變量。八、字符串的輸出和運(yùn)算字符串之間可以通過加法連接起來:str1='good'str2='bye'print(str1+str2)print('very'+str1)print(str1+'and'+str2)print('Myageis'+str(18))num=18print('Myageis%d'%num)#注意,%num可以直接用%18代替,但是%num和字符串之間不能加逗號,只能是空格(沒有空格也可以)print('Todayis%s.'%'Friday')print(‘Priceis%.2f'%4.99)注意:%d表示整數(shù),%s表示字符串,%f表示浮點(diǎn)數(shù),%.4f表示帶4位小數(shù)的浮點(diǎn)數(shù)print("%s'sscoreis%d"%('Mike',87))無論你有多少個(gè)值需要代入字符串中進(jìn)行格式化,只需要在字符串中的合適位置用對應(yīng)格式的%表示,然后在后面的括號中按順序提供代入的值就可以了。占位的%和括號中的值在數(shù)量上必須相等,類型也要匹配。('Mike',87)這種用()表示的一組數(shù)據(jù)在python中被稱為元組(tuple),是python的一種基本數(shù)據(jù)結(jié)構(gòu),以后我們還會(huì)用到。九、變量強(qiáng)制類型轉(zhuǎn)換int(x)#把x轉(zhuǎn)換成整數(shù)float(x)#把x轉(zhuǎn)換成浮點(diǎn)數(shù)str(x)#把乂轉(zhuǎn)換成字符串bool(x)#把x轉(zhuǎn)換成bool值例如,以下等式的結(jié)果均為真:int('123')==123float('3.3')==3.3str(111)=='111'bool(0)==Falsebool('abc')==Truebool('False')==Truebool('')==False并不是所有的值都能做類型轉(zhuǎn)換,比如int('abc')同樣會(huì)報(bào)錯(cuò),python沒辦法把它轉(zhuǎn)成一個(gè)數(shù)。關(guān)于bool類型的轉(zhuǎn)換,在python中,以下數(shù)值會(huì)被認(rèn)為是False:為0的數(shù)字,包括0,0.0空字符串,包括'',""表示空值的None(None是python中的一個(gè)特殊值,表示什么都沒有,它和0、空字符、False、空集合都不一樣)空集合,包括(),[],{}其他的值都認(rèn)為是True。十、函數(shù)如果我們要寫一個(gè)函數(shù),就需要去定義它。Python里定義函數(shù)的關(guān)鍵字是def,格式如下:defsayHello():print'helloworld!'我們用sayHello()來調(diào)用這個(gè)函數(shù)。(注意括號必須帶著)return是函數(shù)的結(jié)束語句,return后面的值被作為這個(gè)函數(shù)的返回值。函數(shù)中任何地方的return被執(zhí)行到的時(shí)候,這個(gè)函數(shù)就會(huì)結(jié)束。十^一、lis列表格式:用中括號包圍、逗號隔開的一組元素;列表中的元素可以是不同的類型。例如,range(1,10)或者[1,2,3,4,5,6,7,8,9];I=[365,'everyday',0.618,True]。操作list:訪問list中的元素
python計(jì)數(shù)是從0開始,例如I[0]=365,I[l]='everyday'修改list中的元素修改list中的某一個(gè)元素,只需要直接給那個(gè)元素賦值就可以了:l[0]=123注意如下例子:c=[1,2,3]b=ca=cb[0]=2printa得到a=[2,2,3]特別注意:如果用一個(gè)list賦值給另一個(gè)list,但是想要改變一個(gè)list的時(shí)候另一個(gè)不變,這時(shí)需用如下賦值方法:a=[1,2]b=[]b[0:len(a)]=a[0:len(a)]b.append(3)printa得到[1,2]printb得到[1,2,3]向list中添加元素list有一個(gè)append方法,可以增加元素。以I這個(gè)列表為例,調(diào)用的方法是:append(1024)#注意這里是小括號輸出I,你會(huì)看到[123,'everyday',0.618,True,1024],1024被添加到了I,成為最后一個(gè)元素。(第一個(gè)元素在上一步被改成了123。)然后同樣可以用I[4]得到1024。刪除list中的元素刪除list中的某一個(gè)元素,要用到del:delI[0],然后輸出I,得到['everyday',0.618,True,1024]。這時(shí)候再調(diào)用I[0],會(huì)得到'everyday',其他元素的序號也相應(yīng)提前。例子,#====點(diǎn)球小游戲====#fromrandomimportchoiceprint'Chooseonesidetoshoot:'print'left,center,right'you=raw_input()print'Youkicked'+youdirection=['left','center','right']com=choice(direction)print'Computersaved'+comifyou!=com:print'Goal!'else:print'Oops...'求和:例如sum([1,2,3])=6,sum(range(101))=5050list有兩類常用操作:索引(index)和切片(slice)。
用[]加序號訪問的方法就是索引操作。除了指定位置進(jìn)行索引外,list還可以處理負(fù)數(shù)的索引,例如1卜1]表示l中的最后一個(gè)元素,1卜3]表示倒數(shù)第3個(gè)元素。切片操作符是在[]內(nèi)提供一對可選數(shù)字,用冒號分割。冒號前的數(shù)表示切片的開始位置,冒號后的數(shù)字表示切片到哪里結(jié)束。同樣,計(jì)數(shù)從0開始。注意,開始位置包含在切片中,而結(jié)束位置不包括。例如,I=[365,'everyday',0.618,True],1[1:3]得到的結(jié)果是['everyday',0.618]。如果不指定第一個(gè)數(shù),切片就從列表第一個(gè)元素開始。如果不指定第二個(gè)數(shù),就一直到最后一個(gè)元素結(jié)束。都不指定,則返回整個(gè)列表的一個(gè)拷貝。I[:3]I[1:]I[:]同索引一樣,切片中的數(shù)字也可以使用負(fù)數(shù)。比如:I[1:-1]得到['everyday',0.618]十二、字符串的索引和切片(類似list的操作)遍歷通過for...in可以遍歷字符串中的每一個(gè)字符。word='helloworld'forcinword:printc索引訪問通過口加索引的方式,訪問字符串中的某個(gè)字符。word[0]='h'word[-2]='l'與list不同的是,字符串不能通過索引訪問去更改其中的字符。word[1]='a'這樣的賦值是錯(cuò)誤的。切片通過兩個(gè)參數(shù),截取一段子串,具體規(guī)則和list相同。printword[5:7]printword[:-5]printword[:]連接字符join方法也可以對字符串使用,與list的join用法類似。','.join(word)='h,e,l,l,o,w,o,r,l,d'十三、字符串的分割--list假設(shè)需要把一個(gè)句子中的每一個(gè)單詞拿出來單獨(dú)處理。sentence='IamanEnglishsentence'這時(shí)就需要對字符串進(jìn)行分割:sentence.split。字符串.split。會(huì)把字符串按照其中的空格進(jìn)行分割,分割后的每一段都是一個(gè)新的字符串,最終返回這些字符串組成一個(gè)list。于是得到['I','am','an','English','sentence']除了空格外,split()同時(shí)也會(huì)按照換行符\n,制表符\t進(jìn)行分割。所以應(yīng)該說,split默認(rèn)是按照空白字符進(jìn)行分割。之所以說默認(rèn),是因?yàn)閟plit還可以指定分割的符號。比如你有一個(gè)很長的字符串section='Hi.Iamtheone.Bye.'通過指定分割符號為'.',可以把每句話分開:section.split('.')
得到['Hi','Iamtheone','Bye',"]。這時(shí)候,‘.'作為分割符被去掉了,而空格仍然保留在它的位置上。注意最后那個(gè)空字符串。每個(gè)'.'都會(huì)被作為分割符,即使它的后面沒有其他字符,也會(huì)有一個(gè)空串被分割出來。例如'aaa'.split('a')將會(huì)得到由四個(gè)空串組成的list。十四、連接list字符串join:和split正好相反,join把一個(gè)list中的所有字符串連接成一個(gè)字符串,而split是把一個(gè)字符串分割成很多字符串組成的list。join的格式有些奇怪,它不是list的方法,而是字符串的方法。首先需要有一個(gè)字符串作為list中所有元素的連接符,然后再調(diào)用這個(gè)連接符的join方法,join的參數(shù)是被連接的list:例如:s=';'li=['apple','pear','orange']fruit二s.join(li)printfruit得到結(jié)果'apple;pear;orange'。又例如:’’.join(['hello','world'])得到'helloworld',字符串被無縫連接在一起。十^一**、元組(tuple)元組(tuple)也是一種序列,和我們用了很多次的list類似,只是元組中的元素在創(chuàng)建之后就不能被修改。例如position=(1,2)geeks=('Sheldon','Leonard','Rajesh','Howard')都是元組的實(shí)例。它有和list同樣的索引、切片、遍歷等操作:printpostion[0]forgingeeks:printgprintgeeks[1:3]其實(shí)我們之前一直在用元組,就是在print語句中:print'%sis%dyearsold'%('Mike',23)('Mike',23)就是一個(gè)元組。這是元組最常見的用處。再來看一下元組作為函數(shù)返回值的例子:defget_pos(n):return(n/2,n*2)得到這個(gè)函數(shù)的返回值有兩種形式,一種是根據(jù)返回值元組中元素的個(gè)數(shù)提供變量:x,y=get_pos(50)printxprinty
這就是我們在開頭那句代碼中使用的方式。
還有一種方法是用一個(gè)變量記錄返回的元組pos=get_pos(50)printpos[0]printpos[1]十五、讀文件新建個(gè)文件,就叫它data.txt。在里面隨便寫上一些話,保存。把這個(gè)文件放在接下來你打算保存代碼的文件夾下,這么做是為了方便我們的程序找到它。打開一個(gè)文件的命令很簡單:file('文件名')這里的文件名可以用文件的完整路徑,也可以是相對路徑。因?yàn)槲覀儼岩x取的文件和代碼放在了同一個(gè)文件夾下,所以只需要寫它的文件名就夠了。f=file('data.txt')#注意這里f不是字符串,是文件對象但這一步只是打開了一個(gè)文件,并沒有得到其中的內(nèi)容。變量f保存了這個(gè)文件,還需要去讀取它的內(nèi)容。你可以通過read()函數(shù)把文件內(nèi)所有內(nèi)容讀進(jìn)一個(gè)字符串中。data=f.read()#這里data是字符串做完對文件的操作之后,記得用close()關(guān)閉文件,釋放資源。完整程序示例:f=file('data.txt')data=f.read()printdataf.close()讀取文件內(nèi)容的方法還有:readline()#讀取一行內(nèi)容readlines()#把內(nèi)容按行讀取至一個(gè)list中去替換程序的第二行,看看它們的區(qū)別。十六、寫文件打開文件的幾種模式:python默認(rèn)是以只讀模式打開文件。如果想要寫入內(nèi)容,在打開文件的時(shí)候需要指定打開模式為寫入:f=file('output.txt','w')'w'就是writing,以這種模式打開文件,原來文件中的內(nèi)容會(huì)被你新寫入的內(nèi)容覆蓋掉,如果文件不存在,會(huì)自動(dòng)創(chuàng)建文件。不加參數(shù)時(shí),file為你默認(rèn)為'r',reading,只讀模式,文件必須存在,否則引發(fā)異常。另外還有一種模式是f=file('output.txt','a'),其中'a'是appending。它也是一種寫入模式,但你寫入的內(nèi)容不會(huì)覆蓋之前的內(nèi)容,而是添加到文件中。打開文件還有一種方法,就是open(),用法和file()是一致的。寫文件:寫入內(nèi)容的方法同樣簡單:f.write('astringyouwanttowrite')
write的參數(shù)可以是一個(gè)字符串,或者一個(gè)字符串變量。示例程序:data='Iwillbeinafile.\nSocool!'out二open('output.txt','w')out.write(data)out.close()在你的程序保存目錄下,打開output.txt就會(huì)看到結(jié)果。類似的,writelines(list)#把list的每一個(gè)元素寫成一行沒有writeline(list)。十七、處理文件中的數(shù)據(jù)比如我現(xiàn)在拿到一份文檔,里面有某個(gè)班級里所有學(xué)生的平時(shí)作業(yè)成績。因?yàn)槊總€(gè)人交作業(yè)的次數(shù)不一樣,所以成績的數(shù)目也不同,沒交作業(yè)的時(shí)候就沒有分。我現(xiàn)在需要統(tǒng)計(jì)每個(gè)學(xué)生的平時(shí)作業(yè)總得分??匆幌挛覀兊奈臋n里的數(shù)據(jù):#—scores.txt劉備2335444751關(guān)羽607768張飛97998991諸葛亮100先把文件讀進(jìn)來:f=file('scores.txt')取得文件中的數(shù)據(jù)。因?yàn)槊恳恍卸际且粭l學(xué)生成績的記錄,所以用readlines,把每一行分開,便于之后的數(shù)據(jù)處理:lines=f.readlines()f.close()提示:在程序中,經(jīng)常使用print來查看數(shù)據(jù)的中間狀態(tài),可以便于你理解程序的運(yùn)行。比如這里你可以printlines,看一下內(nèi)容被存成了什么格式。對每一條數(shù)據(jù)進(jìn)行處理。按照空格,把姓名、每次的成績分割開:forlineinlines:data=line.split()#這里data是list接下來的4、5兩個(gè)步驟都是針對一條數(shù)據(jù)的處理,所以都是在for循環(huán)的內(nèi)部。整個(gè)程序最核心的部分到了。如何把一個(gè)學(xué)生的幾次成績合并,并保存起來呢?我的做法是:對于每一條數(shù)據(jù),都新建一個(gè)字符串,把學(xué)生的名字和算好的總成績保存進(jìn)去。最后再把這些字符串一起保存到文件中:sum=0forscoreindata[l:]:sum+=int(score)result二'%s\t:%d\n'%(data[0],sum)這里幾個(gè)要注意的點(diǎn):對于每一行分割的數(shù)據(jù),data[0]是姓名,data[l:]是所有成績組成的列表。
每次循環(huán)中,sum都要先清零。score是一個(gè)字符串,為了做計(jì)算,需要轉(zhuǎn)成整數(shù)值int。result中,我加了一個(gè)制表符\t和換行符\n,讓輸出的結(jié)果更好看些。得到一個(gè)學(xué)生的總成績后,把它添加到一個(gè)list中。results.append(result)#這里results是listresults需要在循環(huán)之前初始化results=[]最后,全部成績處理完畢后,把results中的內(nèi)容保存至文件。因?yàn)閞esults是一個(gè)字符串組成的list,這里我們直接用writelines方法:output二file('result.txt','w')output.writelines(results)outpus.close()十八、異常處理在python中,可以使用try...except語句來處理異常。做法是,把可能引發(fā)異常的語句放在try-塊中,把處理異常的語句放在except-塊中。例如:try:f=file('non-exist.txt')print'Fileopened!'f.close()except:print'Filenotexists.'print'Done'十九、字典dictionarypython中的基本類型一字典(dietionary):字典這種數(shù)據(jù)結(jié)構(gòu)有點(diǎn)像我們平常用的通訊錄,有一個(gè)名字和這個(gè)名字對應(yīng)的信息。在字典中,名字叫做“鍵(key)”,對應(yīng)的內(nèi)容信息叫做“值(value)”。字典就是一個(gè)鍵/值對的集合。鍵/值對用冒號分割,每個(gè)對之間用逗號分割,整個(gè)字典包括在花括號中。d={key1:value1,key2:value2}舉個(gè)簡單的字典例子:score={'蕭峰’:95,段譽(yù)’:97,'虛竹’:89}關(guān)于字典的鍵要注意的是:鍵必須是唯一的;鍵只能是簡單對象,比如字符串、整數(shù)、浮點(diǎn)數(shù)、bool值。list就不能作為鍵,但是可以作為值。python字典中的鍵/值對沒有順序,我們無法用索引訪問字典中的某一項(xiàng),而是要用鍵來訪問。例如printscore['段譽(yù)']或者printscore.get('段譽(yù)')。如果你的鍵是字符串,通過鍵訪問的時(shí)候就需要加引號,如果是數(shù)字作為鍵則不用。注意,字典類的get方法是按照給定key尋找對應(yīng)項(xiàng),如果不存在這樣的key,就返回空值None字典也可以通過for...in遍歷:fornameinscore:printscore[name]#這里要用中括號或者printscore.get(name)#這里要用小括號注意,遍歷的變量中存儲(chǔ)的是字典的鍵。
5?如果要改變某一項(xiàng)的值,就直接給這一項(xiàng)賦值:score]'虛竹']=916?增加一項(xiàng)字典項(xiàng)的方法是,給一個(gè)新鍵賦值:score]'慕容復(fù)']=887?刪除一項(xiàng)字典項(xiàng)的方法是del:delscore]'蕭峰']注意,這個(gè)鍵必須已存在于字典中。&如果你想新建一個(gè)空的字典,只需要:d={}二十、模塊python自帶了功能豐富的標(biāo)準(zhǔn)庫,另外還有數(shù)量龐大的各種第三方庫。使用這些功能的基本方法就是使用模塊。通過函數(shù),可以在程序里重用代碼;通過模塊,則可以重用別的程序中的代碼。模塊可以理解為是一個(gè)包含了函數(shù)和變量的py文件。在你的程序中引入了某個(gè)模塊,就可以使用其中的函數(shù)和變量。來看一個(gè)我們之前使用過的模塊:importrandomimport語句告訴python,我們要用random模塊中的內(nèi)容。然后便可以使用random中的方法,比如:random.randint(l,10)random.randchoic([l,3,5])注意,函數(shù)前面需要加上“random.”,這樣python才知道你是要調(diào)用random中的方法。想知道random有哪些函數(shù)和變量,可以用dir()方法:dir(random)如果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中考物理二輪復(fù)習(xí):電與磁 信息 能源 尖子生測試卷(含答案解析)
- 第五單元 第1章 第1節(jié) 腔腸動(dòng)物和扁形動(dòng)物(新教學(xué)設(shè)計(jì))2023-2024學(xué)年八年級上冊生物(人教版)
- 借款房屋轉(zhuǎn)讓合同范例
- 產(chǎn)品采購合同范例加工商
- 主體裝修合同范本
- 互聯(lián)網(wǎng)醫(yī)療行業(yè)月度個(gè)人工作計(jì)劃
- 農(nóng)村安裝光伏合同范例
- 眼科相關(guān)治療
- 班級工作計(jì)劃執(zhí)行效率總結(jié)
- 學(xué)校學(xué)期校園文明創(chuàng)建計(jì)劃
- 流浪地球2:重返家園-漫游《宇宙的邊疆》 教學(xué)設(shè)計(jì)
- 《幼兒園課程》01 幼兒園課程概述
- 打井合同(范本8則)
- 風(fēng)電場道路和平臺(tái)工程施工設(shè)計(jì)方案
- GB/T 26695-2011家具用鋼化玻璃板
- GB/T 25052-2010連續(xù)熱浸鍍層鋼板和鋼帶尺寸、外形、重量及允許偏差
- GB/T 15057.1-1994化工用石灰石采樣與樣品制備方法
- GB/T 1094.2-2013電力變壓器第2部分:液浸式變壓器的溫升
- DB32/T 4402-2022 河湖和水利工程管理范圍劃定技術(shù)規(guī)程
- 高中課本劇 鴻門宴劇本
- 項(xiàng)目經(jīng)理崗位月度KPI績效考核表
評論
0/150
提交評論