Python是一種功能很強大的語(yǔ)言,對于零基礎學(xué)習Python還是有難度的,但只要學(xué)習方法對,入門(mén)還是很快噠。下面介紹幾種學(xué)習Python的方法。以下是小編為你整理的學(xué)習python有什么用 ?
首先是書(shū)籍,通過(guò)書(shū)籍學(xué)習,雖然速度會(huì )有些慢,但知識具體,可以掌握很多細節,一旦入門(mén)后,后面進(jìn)步就很快了,下面介紹給大家一本書(shū),是以前我學(xué)習Python時(shí)用的書(shū),感覺(jué)還挺不錯噠。
然后就是借助網(wǎng)絡(luò )學(xué)習,網(wǎng)上有很多視頻課程,而且有很多是免費噠,網(wǎng)絡(luò )視頻比較直觀(guān),入門(mén)快。給大家推薦一個(gè)視頻,網(wǎng)易云課堂里有個(gè)零基礎入門(mén)學(xué)習python的視頻,是免費的,我之前也看過(guò),挺不錯噠 ?
還有就是加一些qq群或是論壇,里面的知識雖然不全面,但對于知識的擴寬還是很有幫助噠。 ?
*說(shuō)說(shuō)我的學(xué)習經(jīng)驗,書(shū)籍學(xué)習的方法比較扎實(shí),網(wǎng)絡(luò )視頻學(xué)習的方法入門(mén)比較快,論壇可以作為知識的補充渠道,當然,如果想學(xué)精,唯有多多實(shí)踐一條途徑。 ?
優(yōu)點(diǎn)是什么
Python世界最棒的地方之一,就是大量的第三方程序包。同樣,管理這些包也非常容易。按照慣例,會(huì )在 requirements.txt 文件中列出項目所需要的包。每個(gè)包占一行,通常還包含版本號。這里有一個(gè)例子 ?
Python 程序包有一個(gè)缺陷是,它們默認會(huì )進(jìn)行全局安裝。我們將要使用一個(gè)工具,使我們每個(gè)項目都有一個(gè)獨立的環(huán)境,這個(gè)工具叫virtualenv。我們同樣要安裝一個(gè)更高級的包管理工具,叫做pip,他可以和virtualenv配合工作。 ?
首先,我們需要安裝pip。大多數python安裝程序已經(jīng)內置了easy_install(python默認的包管理工具),所以我們就使用easy_install pip來(lái)安裝pip。這應該是你*一次使用easy_install 了。如果你并沒(méi)有安裝easy_install ,在linux系統中,貌似從python-setuptools 包中可以獲得。 ?
如果你使用的Python版本高于等于3.3, 那么Virtualenv 已經(jīng)是標準庫的一部分了,所以沒(méi)有必要再去安裝它了。 ?
下一步,你希望安裝virtualenv和virtualenvwrapper。Virtualenv使你能夠為每個(gè)項目創(chuàng )造一個(gè)獨立的環(huán)境。尤其是當你的不同項目使用不同版本的包時(shí),這一點(diǎn)特別有用。Virtualenv wrapper 提供了一些不錯的腳本,可以讓一些事情變得容易。 ?
當virtualenvwrapper安裝后,它會(huì )把virtualenv列為依賴(lài)包,所以會(huì )自動(dòng)安裝。 ?
打開(kāi)一個(gè)新的shell,輸入mkvirtualenv test 。如果你打開(kāi)另外一個(gè)shell,則你就不在這個(gè)virtualenv中了,你可以通過(guò)workon test 來(lái)啟動(dòng)。如果你的工作完成了,可以使用deactivate 來(lái)停用。 ?
循環(huán)語(yǔ)句的應用
舉個(gè)例子如果我們要生產(chǎn)一個(gè)list [1,2,3,4,5,6,7,8,9,10] 我們可以使用range(1,11)來(lái)表示,如果直接寫(xiě)range(11) 是從0開(kāi)始,我們可以演示一下。print range(11)print range(1,11)print range(8,11) ?
然后我們想一下 如果要表示[1*1,2*2,3*3,4*4.....100*100]要怎么做呢?好肯定是要利用到循環(huán)的概念,正常的寫(xiě)法是這樣的: ?
a = [] #定義一個(gè)空的列表for x in range(1,101): #假設X在從1開(kāi)始循環(huán)到100 a.append(x * x) # 進(jìn)行一次添加操作 x* xprint a
?
作為一個(gè)程序員,就要是使用最短的代碼*效的完成程序表達的功能,如果使用循環(huán)寫(xiě)的話(huà)會(huì )感覺(jué)比較繁瑣,特別是邏輯能力不太強的朋友,我們可以使用一行語(yǔ)句代替循環(huán),我們測試看看 ?
print [x * x for x in range(1,101)] ?
當然除了計算之外,我們還可以做一些比較特殊的字符串操作,比如: ?
print [m + n for m in 'ABC' for n in 'XYZ'] ?
我們可以看到我們把A B C 都加了一遍XYZ 如果要用正常的循環(huán)也是可以完成的就是了,這樣的操作更加簡(jiǎn)單便捷。 ?
?
urllib.parse
urllib.parse 庫是用來(lái)拆分和組合 URL 字符串的標準接口。比如,你可以使用它來(lái)轉換一個(gè)相對的 URL 為絕對的 URL。讓我們試試用它來(lái)轉換一個(gè)包含查詢(xún)的 URL : ?
>>> from urllib.parse import urlparse >>> result = urlparse('https://duckduckgo.com/?q=python+stubbing&t=canonical&ia=qa') >>> result ParseResult(scheme='https', netloc='duckduckgo.com', path='/', params='', query='q=python+stubbing&t=canonical&ia=qa', fragment='') >>> result.netloc 'duckduckgo.com' >>> result.geturl() 'https://duckduckgo.com/?q=python+stubbing&t=canonical&ia=qa' >>> result.port None ?
這里我們導入了函數 urlparse , 并且把一個(gè)包含搜索查詢(xún)字串的 duckduckgo 的 URL 作為參數傳給它。我的查詢(xún)字串是搜索關(guān)于 “python stubbing” 的文章。如你所見(jiàn),它返回了一個(gè) ParseResult 對象,你可以用這個(gè)對象了解更多關(guān)于 URL 的信息。舉個(gè)例子,你可以獲取到端口信息(本例中沒(méi)有端口信息)、網(wǎng)絡(luò )位置、路徑和很多其它東西。