我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些
有多少伙伴是因?yàn)橐痪洹松喽?#xff0c;我用Python’就要去學(xué)Python的?之前也大家更新過Python學(xué)習(xí)教程普及過多次的Python相關(guān)知識(shí),不過大家還是還得計(jì)劃一下Python學(xué)習(xí)路線!Python入門前,一定要知道這些,你只有了解它,才能深入它!
python是什么?
編程開發(fā)語言有很多種,通常大家把開發(fā)語言劃分為靜態(tài)編譯和動(dòng)態(tài)解析語言,靜態(tài)編譯語言有我們常見的c,c++等,動(dòng)態(tài)解析語言有我們常見的python,php等。靜態(tài)編譯語言其中一個(gè)明顯的特征是:需要對(duì)源代碼進(jìn)行編譯成可執(zhí)行的二進(jìn)制代碼,變量需要定義成明確的類型;動(dòng)態(tài)解析語言的特征是:代碼由解析器進(jìn)行解析并執(zhí)行,變量類型可以在運(yùn)行時(shí)動(dòng)態(tài)定義。目前也有很多動(dòng)態(tài)解析語言可以編譯成二進(jìn)制代碼方式運(yùn)行以提高效率,減少了因?yàn)榻馕銎鹘馕龊髨?zhí)行帶來的性能損失。語言之爭(zhēng)一直是大家爭(zhēng)論的問題,也是一個(gè)敏感的話題,本文的目的不在于給大家洗腦說明python是最好的語言,世上本沒有最好的語言,只有最合適的語言和最好的程序員。本文只是通過介紹python,讓大家認(rèn)識(shí)到這門語言的優(yōu)點(diǎn),以及在工作生活中如何利用python解決問題。
python可以做什么?
如果把開發(fā)按照層次劃分的話,可以分成系統(tǒng)開發(fā)(主要是一些系統(tǒng)性功能的,比如網(wǎng)絡(luò)服務(wù),文件服務(wù),系統(tǒng)調(diào)用等);業(yè)務(wù)邏輯開發(fā)(主要是一些業(yè)務(wù)邏輯的,比如計(jì)費(fèi),財(cái)務(wù),權(quán)限等具體跟操作系統(tǒng)或者底層關(guān)系不大的)。python無論在系統(tǒng)開發(fā)還是業(yè)務(wù)開發(fā)方面,都能夠很好地滿足開發(fā)者的需求,幫助開發(fā)者順利完成任務(wù),這不僅得益于python語言本身的特性,還有賴于豐富的官方和第三方模塊庫。
python常見的模塊
webpy模塊,用它只需要幾行代碼就可以實(shí)現(xiàn)一個(gè)web服務(wù)器
SocketServer模塊,用它可以很方便地開發(fā)自己的tcp,udp服務(wù)器
subprocess模塊,用它可以創(chuàng)建和管理進(jìn)程
threading模塊,用它可以創(chuàng)建和管理多線程
queue模塊,是一個(gè)線程安全的隊(duì)列
json模塊,這個(gè)一看就知道是用來處理json數(shù)據(jù)的了
logging模塊,這是一個(gè)日志模塊
shutil模塊,這是一個(gè)文件管理模塊,包含了文件的基本操作
urllib模塊,是一個(gè)http的常用模塊
還有很多標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的模塊,只有你想不到的
為了更好地管理python模塊,python還有專門的模塊管理工具,像centos的yum那樣可以查找,安裝需要的模塊,python包管理工具最常見的有pip,關(guān)于查找,安裝,使用模塊,我們會(huì)在以后的python系列文章講述。
python做了些什么?
很多伙伴會(huì)有疑問,Python能做什么大項(xiàng)目嗎?有實(shí)際的例子嗎?
那是自然,下面這些比較出名的都是用python寫的項(xiàng)目:
BitTorrent,知名BT下載軟件
OpenStack,開源云平臺(tái)框架
Yum,CentOS的包管理工具
google內(nèi)外部大量服務(wù)使用python開發(fā),如gmail,earth,maps等
豆瓣,國內(nèi)出名的社區(qū),python是豆瓣的主要開發(fā)語言等等
是不是躁動(dòng)著惴惴不安的心又安分了一些?哈哈!
為什么要學(xué)python
看了以上兩點(diǎn)之后,我覺得還不足以打動(dòng)大家去學(xué)習(xí)python,下面講述為什么要學(xué)python,以及哪些人適用python?
人生苦短我用python
下面我們一直會(huì)圍繞這句話來開展討論的內(nèi)容,假如你是一個(gè)有老婆,孩子的開發(fā)人員(你老婆很漂亮,你孩子很可愛,這個(gè)很關(guān)鍵,再記住你是有老婆,孩子的人了),周五快下班了,你約了老婆孩子去一家很難預(yù)約的餐廳吃飯,突然接到老板的任務(wù),要你去做一個(gè)小程序,大概功能就是掃描服務(wù)器指定目錄下(這個(gè)目錄下面還有子目錄)的文件,并檢查文件開頭1KB內(nèi)容里面是否包含了某些關(guān)鍵字,如果包含則把這個(gè)文件刪除。老板說這個(gè)很緊急,因?yàn)榉?wù)器磁盤撐爆了,必須要?jiǎng)h除文件才行,但是距離下班只有不到30分鐘了。
作為一個(gè)c,c++開發(fā)人員,你要考慮是用遞歸呢還是非遞歸來枚舉文件夾下面的文件,枚舉完了,你還要分配個(gè)內(nèi)存讀取文件開頭的1KB內(nèi)容,還要研究字符串查找匹配的算法,別忘了,搞完之后要釋放內(nèi)存,關(guān)閉文件句柄,結(jié)果寫之前花了不少時(shí)間構(gòu)思,寫完了,又花了不少時(shí)間調(diào)試,還不包含是否出現(xiàn)內(nèi)存越界等導(dǎo)致程序崩潰的bug,結(jié)果要加班,不能陪老婆孩子去吃飯了。
作為一個(gè)java開發(fā)人員,你比較幸福,少了c,c++的內(nèi)存泄露,忘記關(guān)閉句柄的煩惱,不過你還需要想想這里面有多少個(gè)可以抽象成類的東西,接口怎么設(shè)計(jì),找找java有沒有現(xiàn)成的包可以用,然后折騰一下編譯java項(xiàng)目,然后調(diào)試,結(jié)果你可能只需要加班一點(diǎn)點(diǎn)時(shí)間就能趕住配老婆孩子吃飯了。
作為一個(gè)python開發(fā)人員,我知道枚舉文件夾目錄下的文件可以用os模塊里面的listdir函數(shù),返回一個(gè)list列表,用open打開文件然后直接read數(shù)據(jù),用字符串find函數(shù)可以找是否有匹配的關(guān)鍵字,別忘了python還有一個(gè)with功能,我with open文件之后我就不用管后面的異常和是否關(guān)閉文件句柄了,with會(huì)幫我擦屁股,最后調(diào)用os模塊的remove函數(shù)刪除文件就可以了。最后,這位python開發(fā)人員準(zhǔn)時(shí)完成任務(wù)下班配老婆孩子吃飯并得到老板的稱贊。
以上純粹YY,不過從這樣一個(gè)YY的故事可以側(cè)面反映出一種現(xiàn)象,很多東西,我們可以用比較簡(jiǎn)單快捷的python來完成任務(wù),沒有必要?jiǎng)硬粍?dòng)就用c,c++這些語言。人生的時(shí)間很寶貴,應(yīng)該把時(shí)間浪費(fèi)在美好的事情上面,python有很多現(xiàn)成官方,第三方的庫,都是平時(shí)大家在工作中提煉出來,都是復(fù)用性很高而且很穩(wěn)定的,再加上python本身的特性可以免去比如c,c++的一些蹩腳的地方,比如容器,字符串操作等容易出現(xiàn)泄漏,越界的問題。最后,這個(gè)故事沒有黑c,c++,java語言的意思,每一種語言都有各自擅長的地方,但是我們應(yīng)該多學(xué)習(xí)一種順手方便的語言,來解決一些小問題,小事情,把有限的精力花在重要的地方去。
python既可以完成大的項(xiàng)目也可以完成小任務(wù),所以無論是開發(fā)人員,還是運(yùn)維人員,都可以用python來解決工作中的大大小小問題,同時(shí)許多API或者庫對(duì)python支持都非常良好,特別是一些本身就用python寫的庫,原生就支持python接口的。
怎么學(xué)python
講了這么多,這里先簡(jiǎn)單概要說一下怎么學(xué)python,其實(shí)也簡(jiǎn)單,無論學(xué)什么語言無非就是多練手,多寫代碼,多看別人的代碼。后續(xù)會(huì)繼續(xù)跟大家分享更多的?Python學(xué)習(xí)教程和。有興趣學(xué)Python的伙伴可以行動(dòng)起來了!
總結(jié)
以上是生活随笔為你收集整理的我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: status c语言_C/C++编程笔记
- 下一篇: war 发布后页面不更新_一文看懂tom