python介紹

来源:https://www.cnblogs.com/JcrLive/archive/2020/01/27/12235339.html
-Advertisement-
Play Games

認識 Python 人生苦短,我用 Python —— Life is short, you need Python 01. Python 的起源 Python 的創始人為吉多·範羅蘇姆(Guido van Rossum) 1. 1989 年的聖誕節期間,吉多·範羅蘇姆為了在阿姆斯特丹打發時間,決心 ...


認識 Python

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

01. Python 的起源

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

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

1.1 解釋器(科普)

電腦不能直接理解任何除機器語言以外的語言,所以必須要把程式員所寫的程式語言翻譯成機器語言,電腦才能執行程式。將其他語言翻譯成機器語言的工具,被稱為編譯器

編譯器翻譯的方式有兩種:一個是編譯,另外一個是解釋。兩種方式之間的區別在於翻譯時間點的不同。當編譯器以解釋方式運行的時候,也稱之為解釋器

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

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

  • 速度 —— 編譯型語言比解釋型語言執行速度快
  • 跨平臺性 —— 解釋型語言比編譯型語言跨平臺性好

1.2 Python 的設計目標

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

  • 一門簡單直觀的語言並與主要競爭者一樣強大
  • 開源,以便任何人都可以為它做貢獻
  • 代碼像純英語那樣容易理解
  • 適用於短期開發的日常任務

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

1.3 Python 的設計哲學

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

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

02. 為什麼選擇 Python?

  • 代碼量少
  • ……

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

03. Python 特點

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

面向對象的思維方式

  • 面向對象 是一種 思維方式,也是一門 程式設計技術
  • 要解決一個問題前,首先考慮 由誰 來做,怎麼做事情是 的職責,最後把事情做好就行!
    • 對象 就是
  • 要解決複雜的問題,就可以找多個不同的對象各司其職,共同實現,最終完成需求

04. Python 的優缺點

4.1 優點

  • 簡單、易學
  • 免費、開源
  • 面向對象
  • 豐富的庫
  • 可擴展性
    • 如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以把這部分程式用 CC++ 編寫,然後在 Python 程式中使用它們
  • ……

4.2 缺點

  • 運行速度
  • 國內市場較小
  • 中文資料匱乏

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 函數進階 目標 函數參數和返回值的作用 函數的返回值 進階 函數的參數 進階 遞歸函數 01. 函數參數和返回值的作用 函數根據 有沒有參數 以及 有沒有返回值 ,可以 相互組合 ,一共有 4 種 組合形式 1. 無參數,無返回值 2. 無參數,有返回值 3. 有參數,無返回值 4. 有參數,有返回 ...
  • 01. 變數的引用 變數 和 數據 都是保存在 記憶體 中的 在 中 函數 的 參數傳遞 以及 返回值 都是靠 引用 傳遞的 1.1 引用的概念 在 中 變數 和 數據 是分開存儲的 數據 保存在記憶體中的一個位置 變數 中保存著數據在記憶體中的地址 變數 中 記錄數據的地址 ,就叫做 引用 使用 函數可 ...
  • 變數 流程式控制制 函數 模塊 系統需求 1. 程式啟動,顯示名片管理系統歡迎界面,並顯示功能菜單 2. 用戶用數字選擇不同的功能 3. 根據功能選擇,執行不同的功能 4. 用戶名片需要記錄用戶的 姓名 、 電話 、 QQ 、 郵件 5. 如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片 步驟 ...
  • Python 中數據類型可以分為 數字型 和 非數字型 數字型 整型 ( ) 浮點型( ) 布爾型( ) 真 `非 0 數` —— 非零即真 假 `0` 複數型 ( ) 主要用於科學計算,例如:平面場問題、波動問題、電感電容等問題 非數字型 字元串 列表 元組 字典 在 中,所有 非數字型變數 都支 ...
  • 01. 程式的三大流程 在程式開發中,一共有三種流程方式: 順序 —— 從上向下 ,順序執行代碼 分支 —— 根據條件判斷,決定執行代碼的 分支 迴圈 —— 讓 特定代碼 重覆 執行 02. 迴圈基本使用 迴圈的作用就是讓 指定的代碼 重覆的執行 迴圈最常用的應用場景就是 讓執行的代碼 按照 指定的 ...
  • 0.1 標識符和關鍵字 1.1 標識符 標示符就是程式員定義的 變數名 、 函數名 名字 需要有 見名知義 的效果,見下圖: 標示符可以由 字母 、 下劃線 和 數字 組成 不能以數字開頭 不能與關鍵字重名 思考:下麵的標示符哪些是正確的,哪些不正確為什麼? 1.2 關鍵字 關鍵字 就是在 內部已經 ...
  • PyCharm 的官方網站地址是:https://www.jetbrains.com/pycharm/ 01. 恢復 PyCharm 的初始設置 的 配置信息 是保存在 用戶家目錄下 的 目錄下的, 表示當前使用的 的版本號 如果要恢復 的初始設置,可以按照以下步驟進行: 1. 關閉正在運行的 2. ...
  • 01. 第一個 程式 1.1 Python 源程式的基本概念 1. Python 源程式就是 一個特殊格式的文本文件 ,可以 使用任意文本編輯軟體 做 的開發 2. Python 程式的 文件擴展名 通常都是 1.2 演練步驟 在桌面下,新建 目錄 在 目錄下新建 文件 使用 gedit 編輯 並且 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...