朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:素質(zhì)訓(xùn)練培訓(xùn)資訊 > 少兒編程培訓(xùn)資訊 > 總算理解如何自學(xué)python開發(fā)

總算理解如何自學(xué)python開發(fā)

日期:2019-09-18 16:15:06     瀏覽:220    來源:天才領(lǐng)路者
核心提示:為了提高模塊加載的速度,每個模塊都會在__pycache__文件夾中放置該模塊的預(yù)編譯模塊,命名為module.version.pyc,version是模塊的預(yù)編譯版本編碼,一般都包含Python的版本號。例如在CPython發(fā)行版3.4中

為了提高模塊加載的速度,每個模塊都會在__pycache__文件夾中放置該模塊的預(yù)編譯模塊,命名為module.version.pyc,version是模塊的預(yù)編譯版本編碼,一般都包含Python的版本號。例如在CPython 發(fā)行版3.4中,fibo.py文件的預(yù)編譯文件就是:__pycache__/fibo.cpython-34.pyc。這種命名規(guī)則可以保證不同版本的模塊和不同版本的python編譯器的預(yù)編譯模塊可以共存。以下是小編為你整理的如何自學(xué)python開發(fā) ?

腳本在運行之前會首先檢查python文件的*編輯日期和預(yù)編譯模塊的編譯時間,從而決定是否需要重新編譯。預(yù)編譯模塊也是跨平臺的,所以不同的模塊是可以在不同的系統(tǒng)和不同的架構(gòu)之間共享的。 ?

Python在兩種情況下不檢查緩存。*種,從命令行中直接加載的模塊總是會重新編譯并且結(jié)果不保存。第二種,如果沒有源模塊,則不會檢查緩存。為了支持無源代碼的部署方式,應(yīng)該將預(yù)編譯模塊放在源代碼文件夾中而不是__pycache__中,并且不要包含源代碼模塊。

如何自學(xué)python開發(fā)

?

你可以使用-O和-OO參數(shù)來降低預(yù)編譯模塊的大小。-O開關(guān)會去除assert語句,-OO開關(guān)會去除assert語句和__doc__字符串。因為有些模塊要依賴這些語句,因此只有當你確認模塊的內(nèi)容時才去使用這些開關(guān)。優(yōu)化模塊的后綴名是.pyo。 ?

.pyo和.pyc文件的執(zhí)行速度不會比.py文件快,快的地方在于模塊加載的速度。compileall模塊可以用來把某個文件夾的中的所有文件都編譯成為.pyc或者.pyo文件。 ?

lambda

lambda通常是匿名函數(shù)的代名詞,我們用到lambda的時候就是創(chuàng)建一個匿名函數(shù):舉個簡單的例子:x代表了輸入,x**2代表計算方法,也代表返回內(nèi)容,也就是說這個函數(shù)輸入一個數(shù),返回這個數(shù)的平方。但是因為這個函數(shù)沒有函數(shù)名,所以無法在其他地方調(diào)用 ?

除非我們將這個函數(shù)起一個名字:但通常我們不會這么做,匿名函數(shù)只是作為匿名使用。 ?

filter函數(shù)用法是:filter(fuction,list):將list中每一個元素帶入到function中,計算返回值,將返回值為True的list中的元素形成一個新的list,當然也可以是tuple。 ?

對于上面這個函數(shù),我們可以用lambda來簡化:它的意思是,如果alist中的值的平方小于5,就返回這個值,形成一個新的list ?

關(guān)于python

Python(英國發(fā)音:/?pa?θ?n/ 美國發(fā)音:/?pa?θɑ?n/), 是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,由荷蘭人Guido van Rossum于1989年發(fā)明,*個公開發(fā)行版發(fā)行于1991年。Python是純粹的自由軟件,源代碼和解釋器CPython遵循GPL(GNU General Public License)協(xié)議[1] 。Python語法簡潔清晰,特色之一是強制用空白符(w作為語句縮進。 ?

首先從Python官網(wǎng)(https://www.python.org/downloads/)下載Python安裝程序,本文以Python 3.5.2為例:

?

web-based installer 需要通過聯(lián)網(wǎng)完成安裝2、executable installer 通過可執(zhí)行文件(*.exe)方式安裝3、embeddable zip file 嵌入式版本,可以集成到其它應(yīng)用中 ?

筆者開發(fā)環(huán)境是Windows所以選擇紅框選中的版本,Mac用戶下載紅框標注的版本,下載完成后,找到相應(yīng)的軟件包, ?

?

如何用python下載電子書

這里下載biquge里面的一本電子書,書名是《兩界搬運工》,代碼是17_17115。

之所以在這個網(wǎng)站下載,是因為這里的反爬措施不那么嚴厲,連續(xù)下載了一千二百七十七章,也沒有出現(xiàn)封鎖IP的現(xiàn)象。

找到目錄頁,可以看到章節(jié)列表,而每一章都對應(yīng)一個超鏈接。

用python讀取目錄頁:

import requests as rt

import re

url = '……biquge.com.tw/17_17115/'

a = rt.get(url)

print(a)

如果返回,就說明這個頁面讀取成功了。

查看頁面的headers,了解編碼格式:

a.headers

上面沒有明確指出編碼格式,嘗試使用gbk編碼:

a.encoding='gbk'

然后讀取目錄頁的源代碼:

b = a.text

用正則表達式來提取每一章的超鏈接:

c = re.findall('

',b)

提取每一章的標題,需要匹配漢字字符串和空格:

d = re.findall('

([u4e00-u9fa5 ]+)',b)

嘗試著下載第二章的網(wǎng)頁源代碼:

p = '……biquge.com.tw'

u = rt.get(p+c[1])

u.encoding = 'gbk'

v = u.text

可以看到,網(wǎng)頁源代碼里面包含著電子書的正文內(nèi)容;

每一段的開頭,是四個空格( )。

這樣,可以單獨把正文的內(nèi)容拿出來:

w = re.findall('( .*?)

',v)

但是,我們可以發(fā)現(xiàn),段落開頭的空格仍舊是 ,這樣看著很難受是不是?因此,可以用' '替換

替換的方法是re.sub:

for j in w:

j = re.sub(' ',' ',j)

print(j)

這個函數(shù)的具體用法,可以參考《python里面re.sub()函數(shù)的使用方法》。

如果本頁不是您要找的課程,您也可以百度查找一下: