认识Python(day01)
認(rèn)識(shí) Python
人生苦短,我用 Python —— Life is short, you need Python
01. Python 的起源
Python 的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)
1.1 解釋器(科普)
計(jì)算機(jī)不能直接理解任何除機(jī)器語(yǔ)言以外的語(yǔ)言,所以必須要把程序員所寫(xiě)的程序語(yǔ)言翻譯成機(jī)器語(yǔ)言,計(jì)算機(jī)才能執(zhí)行程序。將其他語(yǔ)言翻譯成機(jī)器語(yǔ)言的工具,被稱為編譯器
編譯器翻譯的方式有兩種:一個(gè)是編譯,另外一個(gè)是解釋。兩種方式之間的區(qū)別在于翻譯時(shí)間點(diǎn)的不同。當(dāng)編譯器以解釋方式運(yùn)行的時(shí)候,也稱之為解釋器
- 編譯型語(yǔ)言:程序在執(zhí)行之前需要一個(gè)專門的編譯過(guò)程,把程序編譯成為機(jī)器語(yǔ)言的文件,運(yùn)行時(shí)不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺(tái)性差些。如 C、C++
- 解釋型語(yǔ)言:解釋型語(yǔ)言編寫(xiě)的程序不進(jìn)行預(yù)先編譯,以文本方式存儲(chǔ)程序代碼,會(huì)將代碼一句一句直接運(yùn)行。在發(fā)布程序時(shí),看起來(lái)省了道編譯工序,但是在運(yùn)行程序的時(shí)候,必須先解釋再運(yùn)行
編譯型語(yǔ)言和解釋型語(yǔ)言對(duì)比
- 速度 —— 編譯型語(yǔ)言比解釋型語(yǔ)言執(zhí)行速度快
- 跨平臺(tái)性 —— 解釋型語(yǔ)言比編譯型語(yǔ)言跨平臺(tái)性好
1.2 Python 的設(shè)計(jì)目標(biāo)
1999 年,吉多·范羅蘇姆向 DARPA 提交了一條名為 “Computer Programming for Everybody” 的資金申請(qǐng),并在后來(lái)說(shuō)明了他對(duì) Python 的目標(biāo):
- 一門簡(jiǎn)單直觀的語(yǔ)言并與主要競(jìng)爭(zhēng)者一樣強(qiáng)大
- 開(kāi)源,以便任何人都可以為它做貢獻(xiàn)
- 代碼像純英語(yǔ)那樣容易理解
- 適用于短期開(kāi)發(fā)的日常任務(wù)
這些想法中的基本都已經(jīng)成為現(xiàn)實(shí),Python 已經(jīng)成為一門流行的編程語(yǔ)言
1.3 Python 的設(shè)計(jì)哲學(xué)
- Python 開(kāi)發(fā)者的哲學(xué)是:用一種方法,最好是只有一種方法來(lái)做一件事
- 如果面臨多種選擇,Python 開(kāi)發(fā)者一般會(huì)拒絕花俏的語(yǔ)法,而選擇明確沒(méi)有或者很少有歧義的語(yǔ)法
在 Python 社區(qū),吉多被稱為“仁慈的獨(dú)裁者”
02. 為什么選擇 Python?
- 代碼量少
- ……
同一樣問(wèn)題,用不同的語(yǔ)言解決,代碼量差距還是很多的,一般情況下 Python 是 Java 的 1/5,所以說(shuō) 人生苦短,我用 Python
03. Python 特點(diǎn)
- Python 是完全面向?qū)ο蟮恼Z(yǔ)言
- 函數(shù)、模塊、數(shù)字、字符串都是對(duì)象,在 Python 中一切皆對(duì)象
- 完全支持繼承、重載、多重繼承
- 支持重載運(yùn)算符,也支持泛型設(shè)計(jì)
- Python 擁有一個(gè)強(qiáng)大的標(biāo)準(zhǔn)庫(kù),Python 語(yǔ)言的核心只包含 數(shù)字、字符串、列表、字典、文件 等常見(jiàn)類型和函數(shù),而由 Python 標(biāo)準(zhǔn)庫(kù)提供了 系統(tǒng)管理、網(wǎng)絡(luò)通信、文本處理、數(shù)據(jù)庫(kù)接口、圖形系統(tǒng)、XML 處理 等額外的功能
- Python 社區(qū)提供了大量的第三方模塊,使用方式與標(biāo)準(zhǔn)庫(kù)類似。它們的功能覆蓋 科學(xué)計(jì)算、人工智能、機(jī)器學(xué)習(xí)、Web 開(kāi)發(fā)、數(shù)據(jù)庫(kù)接口、圖形系統(tǒng) 多個(gè)領(lǐng)域
面向?qū)ο蟮乃季S方式
- 面向?qū)ο?是一種 思維方式,也是一門 程序設(shè)計(jì)技術(shù)
- 要解決一個(gè)問(wèn)題前,首先考慮 由誰(shuí) 來(lái)做,怎么做事情是 誰(shuí) 的職責(zé),最后把事情做好就行!
- 對(duì)象 就是 誰(shuí)
- 要解決復(fù)雜的問(wèn)題,就可以找多個(gè)不同的對(duì)象,各司其職,共同實(shí)現(xiàn),最終完成需求
04. Python 的優(yōu)缺點(diǎn)
4.1 優(yōu)點(diǎn)
- 簡(jiǎn)單、易學(xué)
- 免費(fèi)、開(kāi)源
- 面向?qū)ο?/li>
- 豐富的庫(kù)
- 可擴(kuò)展性
- 如果需要一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開(kāi),可以把這部分程序用 C 或 C++ 編寫(xiě),然后在 Python 程序中使用它們
- ……
4.2 缺點(diǎn)
- 運(yùn)行速度
- 國(guó)內(nèi)市場(chǎng)較小
- 中文資料匱乏
總結(jié)
以上是生活随笔為你收集整理的认识Python(day01)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MYSQL储存过程和储存函数和变量
- 下一篇: Python Django框架入门第一课