Python入門不知道這些你還是承早放棄吧第岖!真的

Python入門不知道這些你還是承早放棄吧怯晕!真的

Python 簡(jiǎn)介

Python 是一個(gè)高層次的結(jié)合了解釋性跌捆、編譯性茂装、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言赵抢。

Python 的設(shè)計(jì)具有很強(qiáng)的可讀性凤跑,相比其他語(yǔ)言經(jīng)常使用英文關(guān)鍵字嫩舟,其他語(yǔ)言的一些標(biāo)點(diǎn)符號(hào)氢烘,它具有比其他語(yǔ)言更有特色語(yǔ)法結(jié)構(gòu)。

Python 是一種解釋型語(yǔ)言: 這意味著開發(fā)過程中沒有了編譯這個(gè)環(huán)節(jié)家厌。類似于PHP和Perl語(yǔ)言播玖。

Python 是交互式語(yǔ)言: 這意味著,您可以在一個(gè)Python提示符饭于,直接互動(dòng)執(zhí)行寫你的程序蜀踏。

Python 是面向?qū)ο笳Z(yǔ)言: 這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)。

Python 是初學(xué)者的語(yǔ)言:Python 對(duì)初級(jí)程序員而言镰绎,是一種偉大的語(yǔ)言脓斩,它支持廣泛的應(yīng)用程序開發(fā),從簡(jiǎn)單的文字處理到 WWW 瀏覽器再到游戲畴栖。

Python入門不知道這些你還是承早放棄吧随静!真的

需要資料可以加下

Python 發(fā)展歷史

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來(lái)的。

Python 本身也是由諸多其他語(yǔ)言發(fā)展而來(lái)的,這包括 ABC燎猛、Modula-3恋捆、C、C++重绷、Algol-68沸停、SmallTalk、Unix shell 和其他的腳本語(yǔ)言等等昭卓。

像 Perl 語(yǔ)言一樣愤钾,Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議。

現(xiàn)在 Python 是由一個(gè)核心開發(fā)團(tuán)隊(duì)在維護(hù)候醒,Guido van Rossum 仍然占據(jù)著至關(guān)重要的作用能颁,指導(dǎo)其進(jìn)展。

Python 特點(diǎn)

1.易于學(xué)習(xí):Python有相對(duì)較少的關(guān)鍵字倒淫,結(jié)構(gòu)簡(jiǎn)單伙菊,和一個(gè)明確定義的語(yǔ)法,學(xué)習(xí)起來(lái)更加簡(jiǎn)單敌土。

2.易于閱讀:Python代碼定義的更清晰镜硕。

3.易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的。

4.一個(gè)廣泛的標(biāo)準(zhǔn)庫(kù):Python的最大的優(yōu)勢(shì)之一是豐富的庫(kù)返干,跨平臺(tái)的兴枯,在UNIX,Windows和Macintosh兼容很好犬金。

5.互動(dòng)模式:互動(dòng)模式的支持念恍,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語(yǔ)言,互動(dòng)的測(cè)試和調(diào)試代碼片斷晚顷。

6.可移植:基于其開放源代碼的特性峰伙,Python已經(jīng)被移植(也就是使其工作)到許多平臺(tái)。

7.可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼该默,或者是想要編寫一些不愿開放的算法瞳氓,你可以使用C或C++完成那部分程序,然后從你的Python程序中調(diào)用栓袖。

8.數(shù)據(jù)庫(kù):Python提供所有主要的商業(yè)數(shù)據(jù)庫(kù)的接口匣摘。

9.GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用。

10.可嵌入: 你可以將Python嵌入到C/C++程序裹刮,讓你的程序的用戶獲得"腳本化"的能力音榜。

1、Python適用于哪些應(yīng)用場(chǎng)景捧弃?

這個(gè)沒有固定答案赠叼,很多人都說(shuō)Python不適合開發(fā)GUI的程序擦囊,但Python自己的IDE——IDEL和第三方的IDE——Eric就是Python寫的。

目前看到的更多的人是拿來(lái)寫Web嘴办,使用如Django瞬场、web.py框架,沒記錯(cuò)Flask也是涧郊。

也有一個(gè)情況用的比較多贯被,用Python當(dāng)膠水,與各種語(yǔ)言結(jié)合妆艘,共同完成某軟件功能彤灶,注意觀察也許你會(huì)發(fā)現(xiàn)在安裝一些軟件的時(shí)候會(huì)有Python的身影。

我個(gè)人還拿Python模擬過端口轉(zhuǎn)發(fā)和DNS服務(wù)等批旺,所以真的是要看真么用枢希,而不是能怎么用。

另外大數(shù)據(jù)分析Python也是比較適合的朱沃,從載入到分析,再到保存結(jié)果等茅诱,Python有一整套的模塊應(yīng)對(duì)逗物。

2、Python能夠勝任大數(shù)據(jù)嗎瑟俭?

Python很適合做大數(shù)據(jù)相關(guān)的分析翎卓,內(nèi)置的C編譯的模塊能應(yīng)對(duì)常見的操作,個(gè)別極端的算法建議用C重寫相關(guān)模塊摆寄。

Python本身的特點(diǎn)更多的是高效率的開發(fā)和簡(jiǎn)單的維護(hù)失暴,速度交給C去吧,更多的問題其實(shí)出自寫代碼的人沒有更好的使用微饥,而不是效率不夠高逗扒。比如排序,本來(lái)Python有非常高效的內(nèi)置C編譯的模塊欠橘,卻非要自己寫算法矩肩,這樣的結(jié)果不慢都是奇怪的。

另外還要看需求是CPU密集型肃续,還是IO密集型黍檩,如果是CPU密集型建議這部分操作由C實(shí)現(xiàn),IO密集型的效率不會(huì)因?yàn)镻ython而有多少改變始锚。

C的效率是高刽酱,但框架搭起來(lái)也費(fèi)勁,所以還是結(jié)合著來(lái)吧瞧捌,也因此棵里,Python被稱為膠水語(yǔ)言。

3、Python是否可以完全代替Shell衍慎?

完全可以转唉,Shell的功能Python均可實(shí)現(xiàn),而且代碼量更少稳捆、結(jié)構(gòu)更優(yōu)赠法、可閱讀性更好,而Python可實(shí)現(xiàn)的功能Shell卻不一定能乔夯,如運(yùn)維中會(huì)用到的用于網(wǎng)絡(luò)通信的Socket模塊砖织、用于WEB的Django框架、用于性能采集的psutil模塊等末荐,而且Shell對(duì)操作系統(tǒng)的命令依賴性較強(qiáng)侧纯,Python可在更大程度上規(guī)避。

在一個(gè)Shell的IDE是個(gè)很大的問題甲脏,雖然Python的原生IDE不怎么樣眶熬,但第三方的IDE還是功能十分強(qiáng)大的,雖然不能和微軟的Virtual Studio相媲美块请,但也是能完全滿足Python的開發(fā)需求的娜氏。

再說(shuō)下Python的效率問題,Python支持多進(jìn)程墩新、多線程以及協(xié)程(比線程更小一級(jí))贸弥,程序并發(fā)度是在Shell之上的。Python的核心模塊基本都是用C實(shí)現(xiàn)的海渊,因此效率更高绵疲。如有必要也可能將需要用Python實(shí)現(xiàn)的Python模塊用C重寫以提高效率,當(dāng)然也可以直接用C Python臣疑,一個(gè)直接完全用C實(shí)現(xiàn)的Python解釋器盔憨。

4、Python是否可以訪問常見的數(shù)據(jù)庫(kù)讯沈?

可以般渡,Python可以訪問常見的各種數(shù)據(jù)庫(kù),如Oracle芙盘、MySQL驯用、Vertica、SQLServer等儒老,加載相應(yīng)的模塊即可蝴乔,模塊列表如下:

Oracle:cx_Oracle

MySQL:MySQLdb

5、Python開發(fā)是面向過程驮樊、函數(shù)還是對(duì)象薇正?

Python雖然是解釋型語(yǔ)言片酝,但從設(shè)計(jì)之初就已經(jīng)是一門面向?qū)ο蟮恼Z(yǔ)言,對(duì)于Python來(lái)說(shuō)一切皆為對(duì)象挖腰。正因?yàn)槿绱说裱兀赑ython中創(chuàng)建一個(gè)類和對(duì)象是很容易的,當(dāng)然如果習(xí)慣面向過程或者函數(shù)的寫法也是可以的猴仑,Python并不做硬性的限制审轮。

Python的面向?qū)ο筇卣魅缦拢?/p>

封裝

面向?qū)ο蟪绦蛟O(shè)計(jì)中的術(shù)語(yǔ)對(duì)象(Object)基本上可以看做數(shù)據(jù)(特性)以及由一系列可以存取、操作這些數(shù)據(jù)的方法所組成的集合辽俗。傳統(tǒng)意義上的“程序= 數(shù)據(jù)結(jié)構(gòu)+算法”被封裝”掩蓋“并簡(jiǎn)化為“程序=對(duì)象+消息”疾渣。對(duì)象是類的實(shí)例,類的抽象則需要經(jīng)過封裝崖飘。封裝可以讓調(diào)用者不用關(guān)心對(duì)象是如何構(gòu)建的而直接進(jìn)行使用榴捡。

繼承

類繼承:

繼承給人的直接感覺是這是一種復(fù)用代碼的行為。繼承可以理解為它是以普通的類為基礎(chǔ)建立專門的類對(duì)象朱浴,子類和它繼承的父類是IS-A的關(guān)系吊圾。

多重繼承:

不同于C#,Python是支持多重類繼承的(C#可繼承自多個(gè)Interface翰蠢,但最多繼承自一個(gè)類)街夭。多重繼承機(jī)制有時(shí)很好用,但是它容易讓事情變得復(fù)雜躏筏。

多態(tài)

多態(tài)意味著可以對(duì)不同的對(duì)象使用同樣的操作,但它們可能會(huì)以多種形態(tài)呈現(xiàn)出結(jié)果呈枉。在Python中趁尼,任何不知道對(duì)象到底是什么類型,但又需要對(duì)象做點(diǎn)什么的時(shí)候猖辫,都會(huì)用到多態(tài)酥泞。方法是多態(tài)的,運(yùn)算符也是多態(tài)的啃憎。

6芝囤、如何快速掌握Python?

閱讀官方文檔即可滿足日常需求辛萍,官方文檔有中文翻譯悯姊,更加方便學(xué)習(xí)。但這些都是基礎(chǔ)的語(yǔ)法和常見的模塊贩毕,Python學(xué)習(xí)重要的是模塊悯许,快速、高效的開發(fā)依賴的是模塊的應(yīng)用辉阶,站在前人的肩膀會(huì)省時(shí)省力的多先壕。

但學(xué)習(xí)Python其實(shí)最重要的是學(xué)習(xí)模塊瘩扼,而非語(yǔ)法本身,Python的語(yǔ)法十分簡(jiǎn)單垃僚,只要大學(xué)學(xué)過C或者數(shù)據(jù)結(jié)構(gòu)課程集绰,甚至完全沒學(xué)過的人也是可以輕松掌握的。掌握了語(yǔ)法已經(jīng)可以實(shí)現(xiàn)Shell的功能谆棺,但要想提高模塊的學(xué)習(xí)必不可少栽燕,如運(yùn)維人員經(jīng)常用的有:

psutil:獲取性能信息

socket:基本網(wǎng)絡(luò)通信

IPy:IP地址相關(guān)處理

dnsptyhon:域名相關(guān)處理

difflib:文件比較

pexpect:屏幕信息獲取,常用于自動(dòng)化

paramiko:SSH客戶端

XlsxWriter:Excel相關(guān)處理

其他還有很多很多功能模塊包券,每天也不斷的有新的模塊纫谅、框架、組件產(chǎn)生溅固,如用于與Java 做橋接的PythonJS付秕,甚至Python還可以編寫Map和Reduce。

7侍郭、Python是否有專用的IDE工具询吴?

有,IDEL用Python實(shí)現(xiàn)的Python的IDE工具亮元,但說(shuō)實(shí)話猛计,功能真心不咋地。我個(gè)人常用的IDE如下:

PyCharm

PyCharm是JetBrains開發(fā)的Python IDE爆捞。PyCharm用于一般IDE具備的功能奉瘤,比如,調(diào)試煮甥、語(yǔ)法高亮盗温、Project管理、代碼跳轉(zhuǎn)成肘、智能提示卖局、自動(dòng)完成、單元測(cè)試双霍、版本控制……另外砚偶,PyCharm還提供了一些很好的功能用于Django開發(fā),同時(shí)支持Google App Engine洒闸,更酷的是染坯,PyCharm支持IronPython!

Wing IDE

Wingware的Python IDE兼容Python 2.x和3.x丘逸,可以結(jié)合Django酒请,matplotlib,Zope鸣个, Plone羞反,App Engine布朦,PyQt,PySide昼窗,wxPython是趴,PyGTK,Tkinter澄惊,mod_wsgi唆途,pygame,Maya掸驱,MotionBuilder肛搬,NUKE,Blender和其他Python框架使用毕贼。Wing支持測(cè)試驅(qū)動(dòng)開發(fā)温赔,集成了單元測(cè)試,nose和Django框架的執(zhí)行和調(diào)試功能鬼癣。Wing IDE啟動(dòng)和運(yùn)行的速度都非程赵簦快,支持Windows待秃,Linux拜秧,OS X和Python versi。

NotePad++

簡(jiǎn)單章郁、方便枉氮,但僅適合臨時(shí)性的更改。

其他的還有:Eclipse withPyDev暖庄、Sublime Text聊替、Komodo Edit、Pyer雄驹、The Eric Python IDE、Interactive Editor for Python

8淹辞、運(yùn)用Python實(shí)現(xiàn)系統(tǒng)自動(dòng)化監(jiān)控有哪些常用方法医舆?

準(zhǔn)確的說(shuō)應(yīng)該是有哪些模塊,健康監(jiān)控肯定要有psutil來(lái)監(jiān)控性能象缀,還會(huì)用到通信的Socket蔬将,登陸的Paramiko、telnetlib央星,ftp的ftplib霞怀。

原理基本就是采集數(shù)據(jù)——本地處理數(shù)據(jù)——傳輸數(shù)據(jù),如果做的比較完善可以再做個(gè)呈現(xiàn)數(shù)據(jù)莉给,也可以吧數(shù)據(jù)發(fā)送給Zabbix等開源工具毙石。

個(gè)人還用一個(gè)開源監(jiān)控網(wǎng)絡(luò)刺探的廉沮,超過指定次數(shù)就自動(dòng)封殺。

9徐矩、Python可運(yùn)行在那些平臺(tái)滞时?跨平臺(tái)性如何?

支持常見的主流平臺(tái)滤灯,如AIX坪稽、HPUX、Solaris鳞骤、Linux窒百、Windows等,除Windows外常見的Unix豫尽、Linux平臺(tái)均帶有原生的Python篙梢,但版本一般較低。關(guān)于跨平臺(tái)和他跨平臺(tái)語(yǔ)言一樣拂募,要注意有些個(gè)別模塊是單一平臺(tái)特有的庭猩,整體的跨平臺(tái)性還是很好的,不必為適應(yīng)多平臺(tái)寫多套代碼陈症。

但這不是說(shuō)一點(diǎn)限制都沒有:首先蔼水,同一個(gè)版本的中間文件.py和.pyc以及.pyo是跨平臺(tái)的;其次录肯,PC與移動(dòng)終端趴腋,如:手機(jī)、Pad不可跨平臺(tái)(原因見下一條)论咏;最后优炬,不能跨處理器構(gòu)架,如:Intel與ARM厅贪,64位與32位蠢护。

10、如何利用Python提高開發(fā)效率养涮?

因?yàn)镻ython很多底層的東西不用自己寫葵硕,模塊資源豐富,運(yùn)用得當(dāng)開發(fā)效率當(dāng)然會(huì)提升贯吓,而且各種框架也為快速開發(fā)提供了基礎(chǔ)懈凹。

11、Python運(yùn)行速度如何悄谐?

通常Java的速度比Python快些介评。Python調(diào)用C擴(kuò)展除外(也可以直接用CPython)。

對(duì)于Python速度太慢的批評(píng)爬舰,Python語(yǔ)言作者Guido van Rossum說(shuō):

如果你開發(fā)的系統(tǒng)發(fā)現(xiàn)了性能瓶頸们陆,通常最有效的做法是找出問題的代碼塊寒瓦,用速度較快的語(yǔ)言如C或C++寫一些代碼替換該功能或該模塊,而不是用C或C++重寫整個(gè)系統(tǒng)棒掠,因?yàn)閷?duì)大部分代碼而言孵构,語(yǔ)言的速度是無(wú)關(guān)緊要的。

學(xué)習(xí)是一個(gè)人最大的修養(yǎng)烟很,通過學(xué)習(xí)不僅可以提升自己的境界颈墅,還能豐富知識(shí),為以后的就業(yè)打下基礎(chǔ)雾袱,學(xué)習(xí)Python更是一個(gè)發(fā)展自己的好機(jī)會(huì)恤筛,畢竟人工智能時(shí)代已經(jīng)到來(lái),Python作為人工智能時(shí)代的主力軍是非常有前景的芹橡,夢(mèng)想沒有腐朽毒坛,一路還有韓流。加油林说!

Python入門不知道這些你還是承早放棄吧煎殷!真的

資料

---恢復(fù)內(nèi)容結(jié)束---

Python 簡(jiǎn)介

Python 是一個(gè)高層次的結(jié)合了解釋性、編譯性腿箩、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言豪直。

Python 的設(shè)計(jì)具有很強(qiáng)的可讀性,相比其他語(yǔ)言經(jīng)常使用英文關(guān)鍵字珠移,其他語(yǔ)言的一些標(biāo)點(diǎn)符號(hào)弓乙,它具有比其他語(yǔ)言更有特色語(yǔ)法結(jié)構(gòu)。

Python 是一種解釋型語(yǔ)言: 這意味著開發(fā)過程中沒有了編譯這個(gè)環(huán)節(jié)钧惧。類似于PHP和Perl語(yǔ)言暇韧。

Python 是交互式語(yǔ)言: 這意味著,您可以在一個(gè)Python提示符浓瞪,直接互動(dòng)執(zhí)行寫你的程序懈玻。

Python 是面向?qū)ο笳Z(yǔ)言: 這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)。

Python 是初學(xué)者的語(yǔ)言:Python 對(duì)初級(jí)程序員而言乾颁,是一種偉大的語(yǔ)言涂乌,它支持廣泛的應(yīng)用程序開發(fā),從簡(jiǎn)單的文字處理到 WWW 瀏覽器再到游戲钮孵。

資料骂倘、

Python 發(fā)展歷史

Python 是由 Guido van Rossum 在八十年代末和九十年代初眼滤,在荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來(lái)的巴席。

Python 本身也是由諸多其他語(yǔ)言發(fā)展而來(lái)的,這包括 ABC、Modula-3诅需、C漾唉、C++荧库、Algol-68、SmallTalk赵刑、Unix shell 和其他的腳本語(yǔ)言等等分衫。

像 Perl 語(yǔ)言一樣,Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議般此。

現(xiàn)在 Python 是由一個(gè)核心開發(fā)團(tuán)隊(duì)在維護(hù)蚪战,Guido van Rossum 仍然占據(jù)著至關(guān)重要的作用,指導(dǎo)其進(jìn)展铐懊。

Python 特點(diǎn)

1.易于學(xué)習(xí):Python有相對(duì)較少的關(guān)鍵字邀桑,結(jié)構(gòu)簡(jiǎn)單,和一個(gè)明確定義的語(yǔ)法科乎,學(xué)習(xí)起來(lái)更加簡(jiǎn)單壁畸。

2.易于閱讀:Python代碼定義的更清晰。

3.易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的茅茂。

4.一個(gè)廣泛的標(biāo)準(zhǔn)庫(kù):Python的最大的優(yōu)勢(shì)之一是豐富的庫(kù)捏萍,跨平臺(tái)的,在UNIX空闲,Windows和Macintosh兼容很好令杈。

5.互動(dòng)模式:互動(dòng)模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語(yǔ)言进副,互動(dòng)的測(cè)試和調(diào)試代碼片斷这揣。

6.可移植:基于其開放源代碼的特性,Python已經(jīng)被移植(也就是使其工作)到許多平臺(tái)影斑。

7.可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼给赞,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序矫户,然后從你的Python程序中調(diào)用片迅。

8.數(shù)據(jù)庫(kù):Python提供所有主要的商業(yè)數(shù)據(jù)庫(kù)的接口。

9.GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用皆辽。

10.可嵌入: 你可以將Python嵌入到C/C++程序柑蛇,讓你的程序的用戶獲得"腳本化"的能力。

1驱闷、Python適用于哪些應(yīng)用場(chǎng)景耻台?

這個(gè)沒有固定答案,很多人都說(shuō)Python不適合開發(fā)GUI的程序空另,但Python自己的IDE——IDEL和第三方的IDE——Eric就是Python寫的盆耽。

目前看到的更多的人是拿來(lái)寫Web,使用如Django、web.py框架摄杂,沒記錯(cuò)Flask也是坝咐。

也有一個(gè)情況用的比較多,用Python當(dāng)膠水析恢,與各種語(yǔ)言結(jié)合墨坚,共同完成某軟件功能,注意觀察也許你會(huì)發(fā)現(xiàn)在安裝一些軟件的時(shí)候會(huì)有Python的身影映挂。

我個(gè)人還拿Python模擬過端口轉(zhuǎn)發(fā)和DNS服務(wù)等泽篮,所以真的是要看真么用,而不是能怎么用柑船。

另外大數(shù)據(jù)分析Python也是比較適合的咪辱,從載入到分析,再到保存結(jié)果等椎组,Python有一整套的模塊應(yīng)對(duì)油狂。

2、Python能夠勝任大數(shù)據(jù)嗎寸癌?

Python很適合做大數(shù)據(jù)相關(guān)的分析专筷,內(nèi)置的C編譯的模塊能應(yīng)對(duì)常見的操作,個(gè)別極端的算法建議用C重寫相關(guān)模塊蒸苇。

Python本身的特點(diǎn)更多的是高效率的開發(fā)和簡(jiǎn)單的維護(hù)磷蛹,速度交給C去吧,更多的問題其實(shí)出自寫代碼的人沒有更好的使用溪烤,而不是效率不夠高味咳。比如排序,本來(lái)Python有非常高效的內(nèi)置C編譯的模塊檬嘀,卻非要自己寫算法槽驶,這樣的結(jié)果不慢都是奇怪的。

另外還要看需求是CPU密集型鸳兽,還是IO密集型掂铐,如果是CPU密集型建議這部分操作由C實(shí)現(xiàn),IO密集型的效率不會(huì)因?yàn)镻ython而有多少改變揍异。

C的效率是高全陨,但框架搭起來(lái)也費(fèi)勁,所以還是結(jié)合著來(lái)吧衷掷,也因此辱姨,Python被稱為膠水語(yǔ)言。

3戚嗅、Python是否可以完全代替Shell雨涛?

完全可以碗旅,Shell的功能Python均可實(shí)現(xiàn),而且代碼量更少镜悉、結(jié)構(gòu)更優(yōu)、可閱讀性更好医瘫,而Python可實(shí)現(xiàn)的功能Shell卻不一定能侣肄,如運(yùn)維中會(huì)用到的用于網(wǎng)絡(luò)通信的Socket模塊、用于WEB的Django框架醇份、用于性能采集的psutil模塊等稼锅,而且Shell對(duì)操作系統(tǒng)的命令依賴性較強(qiáng),Python可在更大程度上規(guī)避僚纷。

在一個(gè)Shell的IDE是個(gè)很大的問題矩距,雖然Python的原生IDE不怎么樣,但第三方的IDE還是功能十分強(qiáng)大的怖竭,雖然不能和微軟的Virtual Studio相媲美锥债,但也是能完全滿足Python的開發(fā)需求的。

再說(shuō)下Python的效率問題痊臭,Python支持多進(jìn)程哮肚、多線程以及協(xié)程(比線程更小一級(jí)),程序并發(fā)度是在Shell之上的广匙。Python的核心模塊基本都是用C實(shí)現(xiàn)的允趟,因此效率更高。如有必要也可能將需要用Python實(shí)現(xiàn)的Python模塊用C重寫以提高效率鸦致,當(dāng)然也可以直接用C Python潮剪,一個(gè)直接完全用C實(shí)現(xiàn)的Python解釋器。

4分唾、Python是否可以訪問常見的數(shù)據(jù)庫(kù)抗碰?

可以,Python可以訪問常見的各種數(shù)據(jù)庫(kù)绽乔,如Oracle改含、MySQL、Vertica迄汛、SQLServer等捍壤,加載相應(yīng)的模塊即可,模塊列表如下:

Oracle:cx_Oracle

MySQL:MySQLdb

5鞍爱、Python開發(fā)是面向過程鹃觉、函數(shù)還是對(duì)象?

Python雖然是解釋型語(yǔ)言睹逃,但從設(shè)計(jì)之初就已經(jīng)是一門面向?qū)ο蟮恼Z(yǔ)言盗扇,對(duì)于Python來(lái)說(shuō)一切皆為對(duì)象祷肯。正因?yàn)槿绱耍赑ython中創(chuàng)建一個(gè)類和對(duì)象是很容易的疗隶,當(dāng)然如果習(xí)慣面向過程或者函數(shù)的寫法也是可以的佑笋,Python并不做硬性的限制。

Python的面向?qū)ο筇卣魅缦拢?/p>

封裝

面向?qū)ο蟪绦蛟O(shè)計(jì)中的術(shù)語(yǔ)對(duì)象(Object)基本上可以看做數(shù)據(jù)(特性)以及由一系列可以存取斑鼻、操作這些數(shù)據(jù)的方法所組成的集合蒋纬。傳統(tǒng)意義上的“程序= 數(shù)據(jù)結(jié)構(gòu)+算法”被封裝”掩蓋“并簡(jiǎn)化為“程序=對(duì)象+消息”。對(duì)象是類的實(shí)例坚弱,類的抽象則需要經(jīng)過封裝蜀备。封裝可以讓調(diào)用者不用關(guān)心對(duì)象是如何構(gòu)建的而直接進(jìn)行使用。

繼承

類繼承:

繼承給人的直接感覺是這是一種復(fù)用代碼的行為荒叶。繼承可以理解為它是以普通的類為基礎(chǔ)建立專門的類對(duì)象碾阁,子類和它繼承的父類是IS-A的關(guān)系。

多重繼承:

不同于C#些楣,Python是支持多重類繼承的(C#可繼承自多個(gè)Interface脂凶,但最多繼承自一個(gè)類)。多重繼承機(jī)制有時(shí)很好用愁茁,但是它容易讓事情變得復(fù)雜艰猬。

多態(tài)

多態(tài)意味著可以對(duì)不同的對(duì)象使用同樣的操作,但它們可能會(huì)以多種形態(tài)呈現(xiàn)出結(jié)果埋市。在Python中冠桃,任何不知道對(duì)象到底是什么類型,但又需要對(duì)象做點(diǎn)什么的時(shí)候道宅,都會(huì)用到多態(tài)食听。方法是多態(tài)的,運(yùn)算符也是多態(tài)的污茵。

6樱报、如何快速掌握Python?

閱讀官方文檔即可滿足日常需求泞当,官方文檔有中文翻譯迹蛤,更加方便學(xué)習(xí)。但這些都是基礎(chǔ)的語(yǔ)法和常見的模塊襟士,Python學(xué)習(xí)重要的是模塊盗飒,快速、高效的開發(fā)依賴的是模塊的應(yīng)用陋桂,站在前人的肩膀會(huì)省時(shí)省力的多逆趣。

但學(xué)習(xí)Python其實(shí)最重要的是學(xué)習(xí)模塊,而非語(yǔ)法本身嗜历,Python的語(yǔ)法十分簡(jiǎn)單宣渗,只要大學(xué)學(xué)過C或者數(shù)據(jù)結(jié)構(gòu)課程抖所,甚至完全沒學(xué)過的人也是可以輕松掌握的。掌握了語(yǔ)法已經(jīng)可以實(shí)現(xiàn)Shell的功能痕囱,但要想提高模塊的學(xué)習(xí)必不可少田轧,如運(yùn)維人員經(jīng)常用的有:

psutil:獲取性能信息

socket:基本網(wǎng)絡(luò)通信

IPy:IP地址相關(guān)處理

dnsptyhon:域名相關(guān)處理

difflib:文件比較

pexpect:屏幕信息獲取,常用于自動(dòng)化

paramiko:SSH客戶端

XlsxWriter:Excel相關(guān)處理

其他還有很多很多功能模塊鞍恢,每天也不斷的有新的模塊傻粘、框架、組件產(chǎn)生有序,如用于與Java 做橋接的PythonJS,甚至Python還可以編寫Map和Reduce岛请。

7旭寿、Python是否有專用的IDE工具?

有崇败,IDEL用Python實(shí)現(xiàn)的Python的IDE工具盅称,但說(shuō)實(shí)話,功能真心不咋地后室。我個(gè)人常用的IDE如下:

PyCharm

PyCharm是JetBrains開發(fā)的Python IDE缩膝。PyCharm用于一般IDE具備的功能,比如岸霹,調(diào)試疾层、語(yǔ)法高亮、Project管理贡避、代碼跳轉(zhuǎn)痛黎、智能提示、自動(dòng)完成刮吧、單元測(cè)試湖饱、版本控制……另外,PyCharm還提供了一些很好的功能用于Django開發(fā)杀捻,同時(shí)支持Google App Engine井厌,更酷的是,PyCharm支持IronPython致讥!

Wing IDE

Wingware的Python IDE兼容Python 2.x和3.x仅仆,可以結(jié)合Django,matplotlib垢袱,Zope蝇恶, Plone,App Engine惶桐,PyQt撮弧,PySide潘懊,wxPython,PyGTK贿衍,Tkinter授舟,mod_wsgi,pygame贸辈,Maya释树,MotionBuilder,NUKE擎淤,Blender和其他Python框架使用奢啥。Wing支持測(cè)試驅(qū)動(dòng)開發(fā),集成了單元測(cè)試嘴拢,nose和Django框架的執(zhí)行和調(diào)試功能桩盲。Wing IDE啟動(dòng)和運(yùn)行的速度都非常快席吴,支持Windows赌结,Linux,OS X和Python versi孝冒。

NotePad++

簡(jiǎn)單柬姚、方便,但僅適合臨時(shí)性的更改庄涡。

其他的還有:Eclipse withPyDev量承、Sublime Text、Komodo Edit穴店、Pyer宴合、The Eric Python IDE、Interactive Editor for Python

8迹鹅、運(yùn)用Python實(shí)現(xiàn)系統(tǒng)自動(dòng)化監(jiān)控有哪些常用方法卦洽?

準(zhǔn)確的說(shuō)應(yīng)該是有哪些模塊,健康監(jiān)控肯定要有psutil來(lái)監(jiān)控性能斜棚,還會(huì)用到通信的Socket阀蒂,登陸的Paramiko、telnetlib弟蚀,ftp的ftplib蚤霞。

原理基本就是采集數(shù)據(jù)——本地處理數(shù)據(jù)——傳輸數(shù)據(jù),如果做的比較完善可以再做個(gè)呈現(xiàn)數(shù)據(jù)义钉,也可以吧數(shù)據(jù)發(fā)送給Zabbix等開源工具昧绣。

個(gè)人還用一個(gè)開源監(jiān)控網(wǎng)絡(luò)刺探的,超過指定次數(shù)就自動(dòng)封殺捶闸。

9夜畴、Python可運(yùn)行在那些平臺(tái)拖刃?跨平臺(tái)性如何?

支持常見的主流平臺(tái)贪绘,如AIX跷坝、HPUX有咨、Solaris鞋真、Linux螟凭、Windows等,除Windows外常見的Unix菱涤、Linux平臺(tái)均帶有原生的Python苞也,但版本一般較低。關(guān)于跨平臺(tái)和他跨平臺(tái)語(yǔ)言一樣粘秆,要注意有些個(gè)別模塊是單一平臺(tái)特有的如迟,整體的跨平臺(tái)性還是很好的,不必為適應(yīng)多平臺(tái)寫多套代碼翻擒。

但這不是說(shuō)一點(diǎn)限制都沒有:首先氓涣,同一個(gè)版本的中間文件.py和.pyc以及.pyo是跨平臺(tái)的牛哺;其次陋气,PC與移動(dòng)終端,如:手機(jī)引润、Pad不可跨平臺(tái)(原因見下一條)巩趁;最后,不能跨處理器構(gòu)架淳附,如:Intel與ARM议慰,64位與32位。

10奴曙、如何利用Python提高開發(fā)效率别凹?

因?yàn)镻ython很多底層的東西不用自己寫,模塊資源豐富洽糟,運(yùn)用得當(dāng)開發(fā)效率當(dāng)然會(huì)提升炉菲,而且各種框架也為快速開發(fā)提供了基礎(chǔ)。

11坤溃、Python運(yùn)行速度如何拍霜?

通常Java的速度比Python快些。Python調(diào)用C擴(kuò)展除外(也可以直接用CPython)薪介。

對(duì)于Python速度太慢的批評(píng)祠饺,Python語(yǔ)言作者Guido van Rossum說(shuō):

如果你開發(fā)的系統(tǒng)發(fā)現(xiàn)了性能瓶頸,通常最有效的做法是找出問題的代碼塊汁政,用速度較快的語(yǔ)言如C或C++寫一些代碼替換該功能或該模塊道偷,而不是用C或C++重寫整個(gè)系統(tǒng)缀旁,因?yàn)閷?duì)大部分代碼而言,語(yǔ)言的速度是無(wú)關(guān)緊要的试疙。

學(xué)習(xí)是一個(gè)人最大的修養(yǎng)诵棵,通過學(xué)習(xí)不僅可以提升自己的境界,還能豐富知識(shí)祝旷,為以后的就業(yè)打下基礎(chǔ)履澳,學(xué)習(xí)Python更是一個(gè)發(fā)展自己的好機(jī)會(huì),畢竟人工智能時(shí)代已經(jīng)到來(lái)怀跛,Python作為人工智能時(shí)代的主力軍是非常有前景的距贷,夢(mèng)想沒有腐朽,一路還有韓流吻谋。加油忠蝗!

此文章對(duì)你有點(diǎn)幫忙的話希望大家能多給點(diǎn)支持,該關(guān)注關(guān)注漓拾,該點(diǎn)贊點(diǎn)贊阁最,該轉(zhuǎn)發(fā)轉(zhuǎn)發(fā),有什么問題可以私信我的骇两,需要關(guān)于python的資料可以加入技術(shù)交流群速种,群里有大神,可以一起交流學(xué)習(xí)低千。群號(hào)是785245953

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末配阵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子示血,更是在濱河造成了極大的恐慌棋傍,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件难审,死亡現(xiàn)場(chǎng)離奇詭異瘫拣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)告喊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門麸拄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人葱绒,你說(shuō)我怎么就攤上這事感帅。” “怎么了地淀?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵失球,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)实苞,這世上最難降的妖魔是什么豺撑? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮黔牵,結(jié)果婚禮上聪轿,老公的妹妹穿的比我還像新娘。我一直安慰自己猾浦,他們只是感情好陆错,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著金赦,像睡著了一般音瓷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夹抗,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天绳慎,我揣著相機(jī)與錄音,去河邊找鬼漠烧。 笑死杏愤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的已脓。 我是一名探鬼主播珊楼,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摆舟!你這毒婦竟也來(lái)了亥曹?” 一聲冷哼從身側(cè)響起邓了,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤恨诱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后骗炉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體照宝,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年句葵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厕鹃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乍丈,死狀恐怖剂碴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轻专,我是刑警寧澤忆矛,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響催训,放射性物質(zhì)發(fā)生泄漏洽议。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一漫拭、第九天 我趴在偏房一處隱蔽的房頂上張望亚兄。 院中可真熱鬧,春花似錦采驻、人聲如沸审胚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)菲盾。三九已至,卻和暖如春各淀,著一層夾襖步出監(jiān)牢的瞬間懒鉴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工碎浇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留临谱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓奴璃,卻偏偏與公主長(zhǎng)得像悉默,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苟穆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容