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