Python作為一門新型的編程語(yǔ)言(一般常用作腳本語(yǔ)言)很受歡迎,畢竟相對(duì)其他的編程語(yǔ)言(Java ,C#等)來(lái)說(shuō)比較容易入手。那么,在剛開始學(xué)習(xí)Python時(shí)有哪些疑難點(diǎn)需要掌握呢?以下是小編為你整理的python怎么樣學(xué) ?
list:列表。關(guān)于列表主要有創(chuàng)建、訪問(wèn)、添加、刪除和替換幾方面來(lái)看。 ?
創(chuàng)建:L=[1,2,3,4,5] ?
訪問(wèn):分按照索引訪問(wèn)和倒序訪問(wèn)。前者:L[0]=1,L[4]=5;后者:L[-1]=5,L[-5]=1
?
添加: ?
1,直接在*添加:L.append() ?
例如:L.append(6)則L=[1,2,3,4,5,6] ?
2. L.insert()這個(gè)需要輸入兩個(gè)參數(shù)(前面參數(shù)是索引號(hào),后面是新元素),例如L.insert(0,8)則L=[8,1,2,3,4,5] ?
3,刪除: ?
L.pop(),這個(gè)是刪除*一個(gè)元素;如果刪除某個(gè)位置的元素,只需要在()中輸入索引號(hào)即可。如:L.pop(0)則L=[2,3,4,5] ?
4,替換: ?
想替換哪個(gè)位置的元素,只需要L[xx]其中xx就是替換的元素的索引號(hào)。例如: ?
L[1]='Adam'則L=[1,'Adam',3,4,5] ?
2 ?
tuple:元組。創(chuàng)建tuple例如:t=(1,2,3) ?
注意:?jiǎn)卧氐膖uple必須要在元素后面添加“,”,例如:t=(1,) ?
查看tuple只需要t[xx]其中xx表示元素的索引號(hào)。 ?
tuple是不可變的,一旦創(chuàng)建便不可修改。 ?
3 ?
dict:字典。關(guān)于dict主要有創(chuàng)建、訪問(wèn)、添加和遍歷幾方面來(lái)看。 ?
創(chuàng)建:dict={'A':1,'B':2,'C':3}前面的為Key后面的問(wèn)Value,dict就是有Key:Value組合成的??梢酝ㄟ^(guò)Key來(lái)查找Value。 ?
訪問(wèn):d[key]訪問(wèn)時(shí)必須保證key是在dict中的。例如:print d['A']=1;key在不在dict中需要判斷(一般都使用dict提供的get方法即可),例如:print d.get('A')返回1;如果輸入的key不存在dict中,那么print d['p']返回的是None。 ?
注意:dict的特點(diǎn):無(wú)序,key必須是不可變。 ?
更新(添加):直接用賦值語(yǔ)句即可。例如:d['M']=4則print d返回的可能是{''C':3,'M':4,A':1,'B':2}因?yàn)閐ict是無(wú)序的,所以返回的順序也是不確定的。 ?
遍歷:dict={'A':1,'B':2,'C':3使用for即可 ?
for key in d: ?
print key ?
則返回的是對(duì)應(yīng)的key值: ?
A ?
B ?
C ?
變量的應(yīng)用
首先看變量(實(shí)際是對(duì)象引用,只是大家在其他語(yǔ)言的影響下,習(xí)慣叫變量) ?
如果2個(gè)變量的數(shù)值相同,那么必然是地址相同,所以a is b是True(正確的) ?
解析:a = 123,這時(shí)候內(nèi)存里面沒(méi)有123這個(gè)對(duì)象,于是創(chuàng)建了123,當(dāng)b = 123的時(shí)候,內(nèi)存里面有了123這個(gè)對(duì)象,于是直接指向123這個(gè)對(duì)象,這就是Python的特點(diǎn),變量也是引用對(duì)象 ?
當(dāng)換成元組之后,結(jié)果就不一樣了,結(jié)果是False(不正確) ?
比如:a = (123,456) b = (123,456) ?
解析:a是指向一個(gè)元組,b是指向一個(gè)元組,這些元組分別有自己的內(nèi)存地址,然后這些元組里面的元素再分別指向其他對(duì)象 ?
但是具體到某一個(gè)元素的時(shí)候,結(jié)果又一樣了 ?
比如,a = (123,456) b = (123,456),比較,a[0] 與 b[0] ?
解析:當(dāng)具體指向某一個(gè)元素的時(shí)候,實(shí)際指向這個(gè)元素指向的對(duì)象 ?
注意:當(dāng)元組只有一個(gè)元素的時(shí)候,創(chuàng)建的不是元組(列表就不一樣了,如圖2) ?
如:a = (123),那么a的類型的int,不是元組類型 ?
關(guān)于==符號(hào) ?
python的==是比較值是否相同,不是比較內(nèi)存是否相同 ?
比如:a =(123,456) b =(123,456),而a==b則是True,a is b是Flash ?
查看內(nèi)存地址,用id() ?
說(shuō)了這么多,is是比較內(nèi)存地址,那么人眼比較可以直接打印出內(nèi)存地址 ?
比如:a = 123,id(a)則是獲取a的內(nèi)存地址 ?
輸出方法
輸出無(wú)外乎就是將想要打印的東西或者結(jié)果打印出來(lái),即為輸出 ?
使用print()函數(shù)進(jìn)行輸出
?
打印字符串 ?
可以在括號(hào)中加上引號(hào)引起來(lái)的字符打印輸出 ?
例如輸出test,代碼實(shí)現(xiàn)如下 ?
print('test') ?
當(dāng)然也可以打印多個(gè)字符串 ?
例如輸出'test , ','hello world!' ?
可以次用逗號(hào)分割,就可以連接在一起輸出到屏幕 ?
print('test , ','hello world!') ?
稍作說(shuō)明:print()會(huì)依次打印每個(gè)字符串,遇到逗號(hào)就會(huì)輸出一個(gè)空格,這樣子字符串就連成一片輸出來(lái)嘍。 ?
還可以打印整數(shù)(數(shù)值型的) ?
例如 ?
print(250) ?
當(dāng)還可以將數(shù)值跟字符一起輸出來(lái) ?
例如:算一個(gè)250+250 ?
print(250+250) ?
輸出的更漂亮一些,可以這樣 ?
print('205 + 250 = ' , 250+250) ?
chardet模塊功能
Python 的保留字,意思就是我們不能用它作為任何標(biāo)識(shí)符的名稱,python 提供標(biāo)準(zhǔn)庫(kù),可以輸出當(dāng)前版本的所有關(guān)鍵字
Python 程序中的注釋
單行注釋:“#”
輸入代碼:
#*個(gè)程序 ?
print("Hello,Python!") #打印 Hello Python
注意在編程時(shí),一定要使用英文的標(biāo)點(diǎn)符號(hào),不然執(zhí)行程序的時(shí)候會(huì)出現(xiàn)報(bào)錯(cuò)
Python的行與縮進(jìn)
python*特色的就是使用縮進(jìn)來(lái)表示代碼塊,不需要使用大括號(hào)({})。
縮進(jìn)的空格數(shù)是可變的,但是同一個(gè)代碼塊的語(yǔ)句必須包含相同的縮進(jìn)空格數(shù)。
Python 數(shù)據(jù)類型 - 字符串有以下幾個(gè)特點(diǎn)
(1)python中單引號(hào)和雙引號(hào)使用完全相同。
(2)使用三引號(hào)('''或""")可以指定一個(gè)多行字符串。 ?
(3)轉(zhuǎn)義符 ''
(4)自然字符串, 通過(guò)在字符串前加r或R。 如 r"this is a line with n" 則n會(huì)顯示,并不是換行。
(5)python允許處理unicode字符串,加前綴u或U, 如 u"this is an unicode string"。
(6)字符串是不可變的。
(7)按字面意義級(jí)聯(lián)字符串,如"this " "is " "string"會(huì)被自動(dòng)轉(zhuǎn)換為this is string。