自學(xué)python語(yǔ)言需要注意哪些?隨著python語(yǔ)言的火熱發(fā)展,很多人都想學(xué)python,而對(duì)于想自己學(xué)python的人,小編總結(jié)了幾點(diǎn)建議,希望看完這篇文章你能有所收獲。
1. 了解新語(yǔ)言產(chǎn)生的背景
ABC 是專門為非專業(yè)程序員設(shè)計(jì)的一種教學(xué)語(yǔ)言,但是由于其封閉,并未取得成功。1989年的圣誕節(jié)期間,吉多·范羅蘇姆開(kāi)發(fā)了一個(gè)新的腳本解釋器,并命名為 Python,作為 ABC 語(yǔ)言的一種繼承。新的腳本解釋器開(kāi)放,完美結(jié)合了 Unix Shell 和 C 的使用習(xí)慣。
2. 了解新語(yǔ)言應(yīng)用的場(chǎng)景
· 網(wǎng)站后臺(tái)
有大量成熟的框架,如Django,F(xiàn)lask,Tornado
· 網(wǎng)絡(luò)爬蟲(chóng)
Python 寫爬蟲(chóng)有很多庫(kù)可用,如Scrapy,Beautiful Soup
· 科學(xué)計(jì)算
可以替代 R 語(yǔ)言和 Matlab,如 NumPy, SciPy, Matplotlib, Pandas
·數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí),大數(shù)據(jù)
Scikit-learn,Libsvm,TensorFlow
· 系統(tǒng)部署,運(yùn)維腳本
Shell 適合簡(jiǎn)單的系統(tǒng)管理工作,但涉及復(fù)雜的自動(dòng)化任務(wù)還是需要 Python。
3. 了解新語(yǔ)言的特點(diǎn)
Python 的設(shè)計(jì)哲學(xué)是:優(yōu)雅、明確、簡(jiǎn)單。Python 的開(kāi)發(fā)哲學(xué)是:用一種方法,最好是只有一種方法來(lái)做一件事,有些類似 Unix。與其他語(yǔ)言非常不一樣的是,Python 以縮進(jìn)來(lái)確定語(yǔ)句塊。
Python 是一門面向?qū)ο蟮膭?dòng)態(tài)、解釋型語(yǔ)言,具有出色的模塊化特性。同時(shí),Python 擁有大量的第三方開(kāi)源包,可以直接使用,極大地提高了開(kāi)發(fā)效率。Python 編寫的代碼,可讀性強(qiáng),特別適合多人大型項(xiàng)目的開(kāi)發(fā)。但是 Python 的執(zhí)行效率比不上 C/C++ 這類編譯型語(yǔ)言。
4. 學(xué)習(xí)新語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)
Python 中內(nèi)置類型有整型 int,浮點(diǎn)型 float,布爾型 bool,字符串 str,列表 list,元組tuple,字典 dict,集合 set。與 C 不同的是,Python 并不依賴于關(guān)鍵字定義各種類型。Python 是動(dòng)態(tài)強(qiáng)類型語(yǔ)言,是通過(guò)運(yùn)行時(shí),自動(dòng)選擇合適的數(shù)據(jù)類型。字符串、列表、元組、集合、字典等復(fù)雜數(shù)據(jù)類型,并不是 C 語(yǔ)言的內(nèi)置類型。
5. 學(xué)習(xí)新語(yǔ)言的邏輯結(jié)構(gòu)
if 條件判斷結(jié)構(gòu)
condition = 1if condition == 1:
print 1elif condition == 2:
print 2else:
print 3
for 循環(huán)結(jié)構(gòu)
items = ['item1', 'item2', 'item3']for item in items:
print item
while 循環(huán)結(jié)構(gòu)
sum, n = 0, 10while n > 0:
sum = sum + n
n = n - 2print sum
Keywords: if; for; while;
6. 學(xué)習(xí)定義一個(gè)獨(dú)立模塊
定義函數(shù)
def function_name(x):
return -x
定義類
class ClassName: #經(jīng)典類、舊類
def __init__(self):
pass
class NewClassName(object): #新類
def __init__(self):
pass# 在多繼承中,新式類采用廣度優(yōu)先搜索,而舊式類是采用深度優(yōu)先搜索。
定義包:
Python 中定義一個(gè)包,只需要在文件夾里面,創(chuàng)建一個(gè) __init__.py文件即可,如:
mypackage/__init__.py
mypackage/test.py
mypackage/views.py
那么在其他文件中,就可以通過(guò)from mypackage import views的語(yǔ)法,從 mypackage 這個(gè)包里面導(dǎo)入 views 。
7. 做一個(gè)小的項(xiàng)目
嘗試完成一次領(lǐng)域?qū)嵺`,是對(duì)這個(gè)領(lǐng)域最佳的入門方式。學(xué)習(xí)一門新的編程語(yǔ)言,成長(zhǎng)最快的階段在,利用這門編程語(yǔ)言完成項(xiàng)目需求期間。
Django 是一個(gè)十分優(yōu)秀的 Python 寫的 Web 程序框架,廣泛用于數(shù)據(jù)驅(qū)動(dòng)類的網(wǎng)站開(kāi)發(fā)。Django 是一個(gè)大而全的開(kāi)發(fā)框架,基本不需要額外的第三方配置,就可以快速地進(jìn)行開(kāi)發(fā)。
筆者的小項(xiàng)目需求是:利用二維碼掃碼,查看在線簡(jiǎn)歷。
確定項(xiàng)目需求之后,會(huì)迎來(lái)一個(gè)手足無(wú)措的時(shí)期,不知道從哪里著手開(kāi)始做項(xiàng)目。如果有一個(gè)過(guò)來(lái)人指導(dǎo)一下,那么很快就能開(kāi)始編碼了。不幸的是,筆者當(dāng)時(shí)身邊并沒(méi)有這樣一個(gè)人。在網(wǎng)上查閱資料后,最終選定了Jquery 、Foundation、Django 實(shí)現(xiàn)這個(gè)項(xiàng)目。
實(shí)際上,筆者在此之前一直在寫 C++ 程序,并沒(méi)有 Python 的編程基礎(chǔ),僅僅是因?yàn)檫@個(gè)小項(xiàng)目,選定的技術(shù)棧后臺(tái)使用的是 Django ,才開(kāi)始學(xué)習(xí) Python。
除了掌握項(xiàng)目使用到的技術(shù)棧,在完成項(xiàng)目的過(guò)程中,還可以解鎖調(diào)試技能、通過(guò)搜索引擎解決各種程序問(wèn)題的能力。
為了完成這個(gè)小項(xiàng)目,需要走出舒適區(qū),突破原有的技術(shù)棧,最終獲得快速的技術(shù)成長(zhǎng)。
8. 學(xué)習(xí)使用庫(kù)完成任務(wù)
通常,發(fā)布者會(huì)將使用頻率高、可以復(fù)用的功能,打包成庫(kù),提供給大家共同使用。
庫(kù)可以分為兩類:
一種是官方的庫(kù),通常質(zhì)量比較高、會(huì)維護(hù)更新;
一種是第三方的庫(kù),質(zhì)量參差不齊,需要自己甄別。
例如,Django 中提供了 from django.views.decorators.http import require_POST 裝飾器用于確保 view 函數(shù)的請(qǐng)求方法是 POST。使用這個(gè)裝飾器可以簡(jiǎn)化 view 函數(shù)中的條件判斷,有利于編寫簡(jiǎn)潔易讀的代碼。當(dāng)然 ,Django 還有大量的第三方 App可以下載使用,直接提供一個(gè)完整功能。
在項(xiàng)目開(kāi)發(fā)的過(guò)程中,合理地使用庫(kù)會(huì)起到錦上添花的效果。
9. 學(xué)習(xí)組織代碼結(jié)構(gòu)
研究怎樣更好的組織項(xiàng)目的代碼是一門管理科學(xué)。筆者之前也寫過(guò)相關(guān)的文章
討論了 Django 工程的目錄組織結(jié)構(gòu)。
好的項(xiàng)目代碼結(jié)構(gòu)需要學(xué)習(xí)一些高關(guān)注度的開(kāi)源項(xiàng)目的經(jīng)驗(yàn),也需要注意輸出,成為大家共同的標(biāo)準(zhǔn),共同維護(hù),產(chǎn)生影響力。
10. 學(xué)習(xí)讓代碼易維護(hù)
代碼維護(hù)分為兩類:
· Bug 易修復(fù),需要代碼具有良好的命名習(xí)慣、注釋、日志輸出,實(shí)現(xiàn)相同的功能編寫盡量少的代碼
· 新功能的擴(kuò)展,通常是在原有邏輯上,創(chuàng)建新的分支。這類分支又可以分為代碼級(jí)別和常量級(jí)別。我們需要的是通過(guò)常量的配置擴(kuò)展新功能,而減少代碼級(jí)別的修改
11. 提高代碼復(fù)用率
隨著使用新語(yǔ)言年限的增長(zhǎng),參與項(xiàng)目的增多,會(huì)出現(xiàn)一個(gè)顯而易見(jiàn)的問(wèn)題:在不同的項(xiàng)目中,會(huì)有一些非常類似的功能。甚至在開(kāi)發(fā)新項(xiàng)目時(shí),有時(shí)還會(huì)去以前項(xiàng)目中拷貝代碼。
這時(shí),應(yīng)該思考如何提高代碼的復(fù)用率,如何提供公共組件。
代碼的復(fù)用可以分為:
代碼片段(Snippets)
維護(hù)一個(gè) Snippets List 是個(gè)不錯(cuò)的注意
公共組件(Components)
公共組件需要從項(xiàng)目中分離,會(huì)有一定的工作量,但收益很大
從項(xiàng)目中分離公共組件的過(guò)程,需要關(guān)注模塊內(nèi)的高內(nèi)聚,模塊間的低耦合。在模塊分離的過(guò)程中,我們會(huì)更加深入地去理解應(yīng)用系統(tǒng)。這一過(guò)程的完成,又將極大地提高開(kāi)發(fā)效率。
更重要的是,我們不僅僅從項(xiàng)目中分離出一個(gè)公共組件,在使用其他人提供的公共組件時(shí),也會(huì)變得容易。
下一次項(xiàng)目開(kāi)發(fā)時(shí),需要一個(gè)新功能,你首先想到的可能不是編碼,而是去公共組件庫(kù)或 Github 搜索有沒(méi)有類似的包,然后經(jīng)過(guò)簡(jiǎn)單的改造就能在項(xiàng)目使用。
12. 關(guān)注性能
針對(duì) Web 應(yīng)用,高并發(fā)、高可用、高一致性始終是亙古不變的議題。在對(duì)應(yīng)用系統(tǒng)不斷發(fā)起挑戰(zhàn)時(shí),那些隱藏的曾經(jīng)被忽略的問(wèn)題才會(huì)逐漸顯現(xiàn)。在這個(gè)過(guò)程中,不斷地發(fā)現(xiàn)應(yīng)用系統(tǒng)的瓶頸,解決這些瓶頸,循環(huán)往復(fù),不斷加深對(duì)業(yè)務(wù)、對(duì)應(yīng)用系統(tǒng)的理解。
性能報(bào)告是性能測(cè)試輸出的結(jié)果。性能報(bào)告就像質(zhì)檢報(bào)告一樣,是讓用戶信任和使用產(chǎn)品的憑證。高并發(fā)、高可用、高一致,并不是口號(hào),需要數(shù)據(jù)的舉證,需要不斷的優(yōu)化性能。
關(guān)于自學(xué)python的建議就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:自學(xué)python語(yǔ)言需要注意哪些-創(chuàng)新互聯(lián)
文章源于:http://www.rwnh.cn/article30/pdjso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、Google、網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容