欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門必須知道的11個(gè)知識(shí)點(diǎn)

 更新時(shí)間:2018年03月21日 16:49:11   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了Python入門必須知道的11個(gè)知識(shí)點(diǎn),幫助更好地了解python,感興趣的小伙伴們可以參考一下

Python被譽(yù)為全世界高效的編程語言,同時(shí)也被稱作是“膠水語言”,那它為何能如此受歡迎,下面我們就來說說Python入門學(xué)習(xí)的必備11個(gè)知識(shí)點(diǎn),也就是它為何能夠如此受歡迎的原因.

Python 簡介

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

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

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

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

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

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

Python 發(fā)展歷史

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來的。
Python 本身也是由諸多其他語言發(fā)展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的腳本語言等等。
像 Perl 語言一樣,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有相對較少的關(guān)鍵字,結(jié)構(gòu)簡單,和一個(gè)明確定義的語法,學(xué)習(xí)起來更加簡單。

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

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

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

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

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

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

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

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

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

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

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

目前看到的更多的人是拿來寫Web,使用如Django、web.py框架,沒記錯(cuò)Flask也是。
也有一個(gè)情況用的比較多,用Python當(dāng)膠水,與各種語言結(jié)合,共同完成某軟件功能,注意觀察也許你會(huì)發(fā)現(xiàn)在安裝一些軟件的時(shí)候會(huì)有Python的身影。

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

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

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

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

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

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

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

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對操作系統(tǒng)的命令依賴性較強(qiáng),Python可在更大程度上規(guī)避。

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

再說下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ù)庫?

可以,Python可以訪問常見的各種數(shù)據(jù)庫,如Oracle、MySQL、Vertica、SQLServer等,加載相應(yīng)的模塊即可,模塊列表如下:
Oracle:cx_Oracle
MySQL:MySQLdb

5、Python開發(fā)是面向過程、函數(shù)還是對象?

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

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

封裝

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

繼承

類繼承:

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

多重繼承:

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

多態(tài)

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

6、如何快速掌握Python?

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

但學(xué)習(xí)Python其實(shí)最重要的是學(xué)習(xí)模塊,而非語法本身,Python的語法十分簡單,只要大學(xué)學(xué)過C或者數(shù)據(jù)結(jié)構(gòu)課程,甚至完全沒學(xué)過的人也是可以輕松掌握的。掌握了語法已經(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工具,但說實(shí)話,功能真心不咋地。我個(gè)人常用的IDE如下:

PyCharm

PyCharm是JetBrains開發(fā)的Python IDE。PyCharm用于一般IDE具備的功能,比如,調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測試、版本控制……另外,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支持測試驅(qū)動(dòng)開發(fā),集成了單元測試,nose和Django框架的執(zhí)行和調(diào)試功能。Wing IDE啟動(dòng)和運(yùn)行的速度都非???,支持Windows,Linux,OS X和Python versi。

NotePad++

簡單、方便,但僅適合臨時(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)確的說應(yīng)該是有哪些模塊,健康監(jiān)控肯定要有psutil來監(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)語言一樣,要注意有些個(gè)別模塊是單一平臺(tái)特有的,整體的跨平臺(tái)性還是很好的,不必為適應(yīng)多平臺(tái)寫多套代碼。

但這不是說一點(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)。
對于Python速度太慢的批評,Python語言作者Guido van Rossum說:

如果你開發(fā)的系統(tǒng)發(fā)現(xiàn)了性能瓶頸,通常最有效率的做法是找到出問題的代碼塊,用速度較快的語言如C或C++寫一些代碼替換該功能或該模塊,而不是用C或C++重寫整個(gè)系統(tǒng),因?yàn)閷Υ蟛糠执a而言,語言的速度是無關(guān)緊要的。

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

推薦書單:

你眼中的Python大牛 應(yīng)該都有這份書單

Python書單 不將就

不可錯(cuò)過的十本Python好書

更多精彩書單,請點(diǎn)擊python編程必備書單

領(lǐng)取干貨:零基礎(chǔ)入門學(xué)習(xí)python視頻教程

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解scrapy內(nèi)置中間件的順序

    詳解scrapy內(nèi)置中間件的順序

    這篇文章主要介紹了詳解scrapy內(nèi)置中間件的順序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python使用range函數(shù)計(jì)算一組數(shù)和的方法

    python使用range函數(shù)計(jì)算一組數(shù)和的方法

    這篇文章主要介紹了python使用range函數(shù)計(jì)算一組數(shù)和的方法,涉及Python中range函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • pandas數(shù)據(jù)的合并與拼接的實(shí)現(xiàn)

    pandas數(shù)據(jù)的合并與拼接的實(shí)現(xiàn)

    Pandas包的merge、join、concat方法可以完成數(shù)據(jù)的合并和拼接,本文主要介紹了這三種實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python?jiaba庫的使用詳解

    Python?jiaba庫的使用詳解

    這篇文章主要為大家介紹了Python jiaba庫的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助,希望能夠給你帶來幫助
    2021-11-11
  • python腳本請求數(shù)量達(dá)到上限,http請求重試問題

    python腳本請求數(shù)量達(dá)到上限,http請求重試問題

    這篇文章主要介紹了python腳本請求數(shù)量達(dá)到上限,http請求重試問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python中刪除文件的幾種方法實(shí)例

    Python中刪除文件的幾種方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python中刪除文件的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 利用Python實(shí)現(xiàn)外觀數(shù)列求解

    利用Python實(shí)現(xiàn)外觀數(shù)列求解

    這篇文章主要介紹了利用Python實(shí)現(xiàn)外觀數(shù)列求解,文章利用舉例說明文章的主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴樂意參考一下
    2022-03-03
  • 跟老齊學(xué)Python之有容乃大的list(4)

    跟老齊學(xué)Python之有容乃大的list(4)

    本文是有容乃大的list的第四篇文章,本來只打算寫三篇的,結(jié)果發(fā)現(xiàn)還是有些內(nèi)容沒有介紹清楚,只好再補(bǔ)一篇了。介紹一下對list的操作。
    2014-09-09
  • 解析Python擴(kuò)展模塊的加速方案

    解析Python擴(kuò)展模塊的加速方案

    這章我們來介紹Python的擴(kuò)展名之ctypes,教大家認(rèn)識(shí)ctypes,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-09-09
  • python3 xpath和requests應(yīng)用詳解

    python3 xpath和requests應(yīng)用詳解

    這篇文章主要介紹了python3 xpath和requests應(yīng)用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論