python學(xué)習(xí)
-
基礎(chǔ)
函數(shù) 效果 print() 打印 input() 輸入(這里獲取的是字符串茉贡,需要轉(zhuǎn)換類(lèi)型) len() 字符串長(zhǎng)度 str() 傳入值的字符串 int() 傳入值的整數(shù)形式 float() 傳入值的浮點(diǎn)數(shù)形式 -
控制流
-
布爾值
首字母要大寫(xiě)匆背,如:True False
-
比較操作符
操作符 含義 == 等于 != 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于 -
布爾操作符
and or not
-
控制流語(yǔ)句
(1)if else ...語(yǔ)句
if 條件: 語(yǔ)句 elif: 語(yǔ)句 else: 語(yǔ)句
(2)while語(yǔ)句
while 條件:
(3)結(jié)束語(yǔ)句
break #跳出循環(huán) continue #結(jié)束本次循環(huán)
(4)for循環(huán)
for i in range():
- range()函數(shù)最多傳入三個(gè)參數(shù)
- range函數(shù)原型:range(start, end墨技, scan)參數(shù)含義start:計(jì)數(shù)的開(kāi)始位置,默認(rèn)是從0開(kāi)始挎狸。
end: 計(jì)數(shù)的結(jié)束位置scan:每次跳躍的間距扣汪,默認(rèn)為1 - range()函數(shù)內(nèi)只有一個(gè)參數(shù),則表示會(huì)產(chǎn)生從0開(kāi)始計(jì)數(shù)到輸入?yún)?shù)(前一位整數(shù))結(jié)束的整數(shù)列表锨匆。當(dāng)range()函數(shù)傳入兩個(gè)參數(shù)時(shí)崭别,則將第一個(gè)參數(shù)做為起始位,第二個(gè)參數(shù)為結(jié)束位恐锣。當(dāng)range()函數(shù)內(nèi)填入第三個(gè)參數(shù)時(shí)茅主,第三個(gè)參數(shù)表示遞增或遞減值。
-
導(dǎo)入模塊
import
-
結(jié)束程序
sys.exit()
-
-
函數(shù)
-
def語(yǔ)句和參數(shù)
def hello(name): #定義函數(shù) print('hello'+name) hello('wuhang') #調(diào)用函數(shù)
-
return語(yǔ)句和返回值
return 返回值或表達(dá)式
-
None值
在python中表示沒(méi)有值土榴,首字母必須大寫(xiě)
-
關(guān)鍵字參數(shù)
是一種可選變?cè)?如print()有end和sep 使用方法:print('Hello',end='') print('World') 輸出:HelloWorld
-
global語(yǔ)句
如果需要在一個(gè)函數(shù)內(nèi)修改全局變量诀姚,就需要使用global語(yǔ)句 區(qū)分: 1.如果變量在全局作用域中使用(即所有函數(shù)之外),它就是全局變量 2.如果在一個(gè)函數(shù)中鞭衩,有針對(duì)該變量的global語(yǔ)句学搜,它就是全局變量 3.否則,如果該變量用于函數(shù)中的賦值語(yǔ)句论衍,它就是局部變量 4.如果該變量沒(méi)有用在賦值語(yǔ)句中瑞佩,它就是全局變量
-
異常處理
try: 需要檢測(cè)語(yǔ)句 except (錯(cuò)誤類(lèi)型)Error: 處理方式
-
-
列表(其實(shí)就是數(shù)組呀)
-
列表基礎(chǔ)
(1)負(fù)數(shù)下標(biāo)
列表下標(biāo)從0開(kāi)始增長(zhǎng),但也可以用負(fù)數(shù)下標(biāo)坯台,整數(shù)值-1指的是列表中最后一個(gè)下標(biāo)炬丸,-2指的是列表中倒數(shù)第二的下標(biāo)。
(2)利用切片取得子列表
切片取得子列表,切片在[]中稠炬,但它中間有冒號(hào)分隔:spam[1:4] 1.第一個(gè)整數(shù)是切片開(kāi)始的下標(biāo)焕阿,第二個(gè)整數(shù)是切片結(jié)束處的下標(biāo)。切片向上增長(zhǎng)首启,直至第二個(gè)下標(biāo)的值暮屡,但不包括它,切片求值為一個(gè)新的列表值 2.作為快捷方法毅桃,你可以省略切片冒號(hào)兩邊的一個(gè)下標(biāo)或兩個(gè)下標(biāo)褒纲。省略第一個(gè)下標(biāo)相當(dāng)于使用0,或列表的開(kāi)始钥飞。省略第二個(gè)下標(biāo)相當(dāng)于使用列表的長(zhǎng)度莺掠,意味著切片直至列表的末尾
(3)一些對(duì)列表的操作
1.len()取得列表的長(zhǎng)度。 如: spam=['cat','dog'] len(spam) 在交互式窗口中會(huì)輸出 2 2.用下標(biāo)改變列表里的值 spam[1]='moose' 3.列表連接和列表復(fù)制 +操作符可以連接兩個(gè)列表读宙,得到一個(gè)新列表 *操作符可以用于一個(gè)列表和一個(gè)整數(shù)彻秆,實(shí)現(xiàn)列表的復(fù)制 4.del語(yǔ)句從列表中刪除值 del spam[1]
-
使用列表
(1)列表用于循環(huán)
for i in [0,1,2,3]等價(jià)于for i in range(4)
(2)in操作符和not in 操作符
#你在或者不在,它(布爾)都在那里 spam=['cat','dog'] 'cat' in spam True
(3)多重賦值技巧
#變量的數(shù)目必須和列表長(zhǎng)度相等 cat=['fat','black','loud'] size,color,disposition=cat
-
增強(qiáng)的賦值操作
spam=42 spam+=1 #自增1并賦值給自己
-
方法
方法和函數(shù)是一回事结闸,只是方法是調(diào)用在一個(gè)值上面
(1)index()
列表值都有一個(gè)index()方法唇兑,可以傳入一個(gè)值,用來(lái)查找列表中存在值得下標(biāo)膀估,如果值不存在與列表里幔亥,會(huì)報(bào)ValueError
(2)append()和insert()在列表中添加值
spam.append('wuhang') //這將在列表末尾增加 spam.insert('1','wuhang') //將在列表下標(biāo)1處添加值
(3)remove()方法從列表刪除值
spam.remove('wuhang') //必須是列表中存在的值
(4)sort()方法將列表中的值排序
spam.sort() //這將順序排序,從小到大 spam.sort(reverse=True) //逆序排序
注意:
1.sort()方法當(dāng)場(chǎng)對(duì)列表排序察纯,不要試圖寫(xiě)出spam=spam.sort這樣的代碼
2.不能對(duì)既有數(shù)字又有字符串的列表排序
3.sort()方法對(duì)字符串排序時(shí),使用的是“ASCII”字符順序针肥,而不是字典順序饼记,這意味著大寫(xiě)字母在前,小寫(xiě)在后慰枕。但可以使用spam.sort(key=str.lower)來(lái)按字典排序 -
類(lèi)似列表的類(lèi)型:字符串和元組
對(duì)于列表的操作也可以用來(lái)操作字符串
(1)可變和不可變數(shù)據(jù)類(lèi)型
記住列表是可變數(shù)據(jù)類(lèi)型具则,字符串單個(gè)字符是不可變,不能更改的
(2)元組數(shù)據(jù)類(lèi)型
元組數(shù)據(jù)與列表幾乎一致具帮,區(qū)別在于兩個(gè)方面博肋,首先元組用(),而不是[]蜂厅,其次元組和字符串一樣是不可變的
(3)用list()和tuple()函數(shù)來(lái)轉(zhuǎn)換類(lèi)型
函數(shù)list()和tuple()將返回傳遞給他們的值得列表和元組版本
-
引用
在變量必須保存可變數(shù)據(jù)類(lèi)型的值時(shí)匪凡,例如列表或字典,Python就使用引用掘猿。對(duì)于不可變的數(shù)據(jù)類(lèi)型的值病游,例如字符串、整形或元組稠通,Python變量就保存值本身
(1)傳遞引用
對(duì)于列表和字典函數(shù)參數(shù)傳遞的是引用拷貝
(2)copy模塊的copy()和deepcopy()函數(shù)
copy()將復(fù)制列表和字典的值衬衬,deepcopy()用來(lái)復(fù)制列表中包含列表的情況
-
-
字典和結(jié)構(gòu)化數(shù)據(jù)
-
字典數(shù)據(jù)類(lèi)型
字典以“鍵-值”對(duì)存在买猖,字典輸入時(shí)帶花括號(hào){}(1)字典與列表
列表排序,字典不排序奸远。嘗試訪(fǎng)問(wèn)不存在的鍵,將報(bào)錯(cuò)KeyError(2)key()讽挟、values()和items()方法
這三個(gè)字典方法將分別返回字典的鍵懒叛、值、鍵-值對(duì)的類(lèi)似列表的值耽梅,這些返回值不能被修改薛窥,沒(méi)有append()方法,但是可以用于for循環(huán)眼姐。也可以用list()方法得到真正的列表(3)檢查字典中是否存在鍵或值
in和not in操作符檢查并得到布爾值(4)get()方法
get方法有兩個(gè)參數(shù)诅迷,要取得其值的鍵罢杉,以及如果該鍵不存在,返回的備用值(5)setdefault()方法
傳遞給該方法的第一個(gè)參數(shù)贡歧,是要檢查的鍵滩租,第二個(gè)參數(shù),是如果該鍵不存在時(shí)要設(shè)置的值利朵,如果該鍵確實(shí)存在技即,方法就會(huì)返回鍵的值。 -
漂亮打印
導(dǎo)入pprint模塊樟遣,可以使用pprint()打印鍵排序過(guò)的輸出而叼,如果不是顯示到屏幕,而是得到文本作為字符串豹悬,就使用pformat()葵陵。
-