[討論] 黑馬python教程 - 00-python簡介 (note) - 討論區

[討論] 黑馬python教程 - 00-python簡介 (note)

文章瀏覽次數 660 文章回覆數 3

Mingo

Mingo圖像(預設)

2021-04-12 21:41:55

From:39.9.79.208

課程前聲明

  • 你要先安裝好 python 在教學區裡有詳細的文章與課程講義
  • 這只是一份筆記 寫的簡單又簡陋 你還是要聽音黨的

000. intro

人生苦短,我用 Python —— Life is short, you need Python

目標

  • Python 的起源
  • 為什麽要用 Python?
  • Python 的特點
  • Python 的優缺點

001. Python 的起源


Python 的創始人為吉多.範羅蘇姆(Guido van Rossum)

  1. 1989 年的聖誕節期間,吉多.範羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的解釋程序,作為 ABC 語言的一種繼承(吉多牛B)
  2. ABC 是由吉多參加設計的一種教學語言,就吉多本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是 ABC 語言並沒有成功,究其原因,吉多認為是非開放造成的。吉多決心在 Python 中避免這一錯誤,並獲取了非常好的效果
  3. 1991 年,第一個 Python 解釋器 誕生,它是用 C 語言實現的,並能夠調用 C 語言的庫文件
  4. 之所以選中 Python(蟒蛇) 作為程序的名字,是因為他是 BBC 電視劇 —— 蒙提・派森的飛行馬戲團(Monty Python's Flying Circus)的愛好者

002 解釋器(科普)


計算機不能直接理解任何除機器語言以外的語言,所以必須要把程序員所寫的程序語言翻譯成機器語言,計算機才能執行程序。將其他語言翻譯成機器語言的工具,被稱為編譯器
編譯器翻譯的方式有兩種:一個是編譯,另外一個是解釋。兩種方式之間的區別在於翻譯時間點的不同。當編譯器以解釋方式運行的時候,也稱之為解釋器

  • 編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如 C、C++
  • 解釋型語言:解釋型語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼,會將代碼一句一句直接運行。在發布程序時,看起來省了道編譯工序,但是在運行程序的時候,必須先解釋再運行

城市代碼的讀取是由上到下逐行讀取,讀取一航 -> 翻譯一行 -> 丟給cpu 執行

簡單的舉例來說,編譯型語言就像是翻譯好的原文書,而解釋型語言你可以想像成聽一場口譯的演講

編譯型語言和解釋型語言對比

  • 速度 —— 編譯型語言比解釋型語言執行速度快,這主要是因為解釋行語言還需透過翻譯的過程
  • 跨平台性 —— 解釋型語言比編譯型語言跨平台性好,你只要在不同的平台安裝解釋器就可以了

003 Python 的設計目標


1999 年,吉多・範羅蘇姆向 DARPA 提交了一條名為 “Computer Programming for Everybody” 的資金申請,並在後來說明了他對 Python 的目標:

  • 一門簡單直觀的語言並與主要競爭者一樣強大,別人能幹的 python 也能幹
  • 開源,以便任何人都可以為它做貢獻
  • 代碼像純英語那樣容易理解,主要是想讓任何人都能輕鬆地讀懂 python 的 code
  • 適用於短期開發的日常任務,也就是開發時程較短

這些想法中的基本都已經成為現實,Python 已經成為一門流行的編程語言

004 Python 的設計哲學

  1. 優雅 程式碼要寫得工整 整齊 向文章一樣好閱讀
  2. 明確 明確每一句代碼所要做的事情
  3. 簡單 讓每一句的代碼簡單

在 Python 解釋器內運行 import this  可以獲得完整的 設計哲學
win + r 再輸入框中輸入 python,你會看到 >>> 的提示福,這就是 python 的交互模式,也就是說你可以跟 python 小姐姐進行互動,
好的,接下來你可以輸入 import this 看看

>> import this

  • Python 開發者的哲學是:用一種方法,最好是只有一種方法來做一件事
  • 如果面臨多種選擇,Python 開發者一般會拒絕花俏的語法,而選擇明確沒有或者很少有歧義的語法

在 Python 社區,吉多被稱為 “仁慈的獨裁者”

005. 為什麽選擇 Python?

  • 代碼量少 開發速度快

• ……
同一樣問題,用不同的語言解決,代碼量差距還是很多的,一般情況下  Python  是  Java  的 1/5,所以說 人生苦短,我用 Python

006. Python 特點

  • Python 是完全面向對象的語言
    1. 函數、模塊、數字、字符串都是對象,在 Python 中一切皆對象
    2. 完全支持繼承、重載、多重繼承
    3. 支持重載運算符,也支持泛型設計
  • Python 擁有一個強大的標準庫,Python 語言的核心只包含 數字、字符串、列表、字典、文件 等常見類型和函數,而由 Python 標準庫提供了 系統管理、網絡通信、文本處理、數據庫接口、圖形系統、XML 處理 等額外的功能
  • Python 社區提供了大量的第三方模塊,使用方式與標準庫類似。它們的功能覆蓋 科學計算、人工智能、機器學習、Web 開發、數據庫接口、圖形系統 多個領域

面向對象的思維方式

面向對象 是一種 思維方式,也是一門 程序設計技術

解決問題的方法有兩種,一種是自己親歷親為的完成,另一種呢
首先考慮 由誰 來做,怎麽做事情是 誰 的職責,最後把事情做好就行!
◦ 對象 就是 誰
• 要解決覆雜的問題,就可以找多個不同的對象,各司其職,共同實現,最終完成需求

007. Python 的優缺點

優點

  • 簡單、易學
  • 免費、開源
  • 面向對象
  • 豐富的庫
  • 可擴展性

如果需要一段關鍵代碼運行得更快或者希望某些算法不公開,可以把這部分程序用  C  或  C++  編寫,然後在  Python  程序中使用它們

缺點

  • 運行速度不夠快速
  • 國內市場較小 台灣的好像更小
  • 中文資料匱乏 基本上網路上找到的都是對岸的
    ※最後更新時間:2021-04-14 18:32:15 From:27.246.129.214 By:Mingo

留言

#1

此篇留言已被刪除。

#2

小羔羊

小羔羊圖像(預設)

2021-04-13 08:22:34

From:114.34.88.168

很好的筆記,支持,
這個彼既仕不是line群裡c大在發的那個?

#3

特種兵

特種兵圖像(預設)

2021-04-13 10:58:27

From:211.23.21.202

對呀 高老師發的