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) ?
urllib.request
urllib.request 模塊期初是用來(lái)打開和獲取 URL 的。讓我們看看你可以用函數(shù) urlopen 可以做的事: ?
>>> import urllib.request >>> url = urllib.request.urlopen('https://www.google.com/') >>> url.geturl() 'https://www.google.com/' >>> url.info() >>> header = url.info() >>> header.as_string() ('Date: Fri, 24 Jun 2016 18:21:19 GMT/n' 'Expires: -1/n' 'Cache-Control: private, max-age=0/n' 'Content-Type: text/html; charset=ISO-8859-1/n' 'P3P: CP="This is not a P3P policy! See ' 'https://www.google.com/support/accounts/answer/151657?hl=en for more info."/n' 'Server: gws/n' 'X-XSS-Protection: 1; mode=block/n' 'X-Frame-Options: SAMEORIGIN/n' 'Set-Cookie: ' 'NID=80=tYjmy0JY6flsSVj7DPSSZNOuqdvqKfKHDcHsPIGu3xFv41LvH_Jg6LrUsDgkPrtM2hmZ3j9V76pS4K_cBg7pdwueMQfr0DFzw33SwpGex5qzLkXUvUVPfe9g699Qz4cx9ipcbU3HKwrRYA; ' 'expires=Sat, 24-Dec-2016 18:21:19 GMT; path=/; domain=.google.com; HttpOnly/n' 'Alternate-Protocol: 443:quic/n' 'Alt-Svc: quic=":443"; ma=2592000; v="34,33,32,31,30,29,28,27,26,25"/n' 'Accept-Ranges: none/n' 'Vary: Accept-Encoding/n' 'Connection: close/n' '/n') >>> url.getcode() 200
在這里我們包含了需要的模塊,然后告訴它打開 Google 的 URL?,F(xiàn)在我們就有了一個(gè)可以交互的 HTTPResponse 對(duì)象。我們要做的*件事是調(diào)用方法 geturl ,它會(huì)返回根據(jù) URL 獲取的資源。這可以讓我們發(fā)現(xiàn) URL 是否進(jìn)行了重定向。 接下來(lái)調(diào)用 info ,它會(huì)返回網(wǎng)頁(yè)的元數(shù)據(jù),比如請(qǐng)求頭信息。因此,我們可以將結(jié)果賦給我們的 headers 變量,然后調(diào)用它的方法 as_string 。就可以打印出我們從 Google 收到的頭信息。你也可以通過(guò) getcode 得到網(wǎng)頁(yè)的 HTTP 響應(yīng)碼,當(dāng)前情況下就是 200,意思是正常工作。 ?
如果你想看看網(wǎng)頁(yè)的 HTML 代碼,你可以調(diào)用變量 url 的方法 read。我不準(zhǔn)備再現(xiàn)這個(gè)過(guò)程,因?yàn)檩敵鼋Y(jié)果太長(zhǎng)了。 ?
請(qǐng)注意 request 對(duì)象默認(rèn)發(fā)起 GET 請(qǐng)求,除非你指定了它的 data 參數(shù)。如果你給它傳遞了 data 參數(shù),這樣 request 對(duì)象將會(huì)變成 POST 請(qǐng)求。部分內(nèi)容選自《Linux就該這么學(xué)》感興趣的可以看下哦