第一章 走進Python

来源:http://www.cnblogs.com/zfc2201/archive/2017/06/11/6986241.html
-Advertisement-
Play Games

目標 瞭解Python的歷史 瞭解Python的特征 瞭解Python的應用 掌握Linux下Python開發環境的搭建 理解Windows下Python環境搭建 案例 安裝Python,寫出第一個Python程式 第一節 Python簡史 什麼是Python 一種解釋型的、面向對象的、帶有動態語義 ...


目標

  • 瞭解Python的歷史
  • 瞭解Python的特征
  • 瞭解Python的應用
  • 掌握Linux下Python開發環境的搭建
  • 理解Windows下Python環境搭建

案例

  • 安裝Python,寫出第一個Python程式

第一節 Python簡史

什麼是Python

  • 一種解釋型的、面向對象的、帶有動態語義的高級程式設計語言

Python編程

  • 是一種使你在編程時能夠保持自己風格的程式設計語言,你不用費什麼勁就可以實現你想要的功能,並且編寫的程式清晰易懂。

Python簡史

  • Python的發展,可以分為幾個重要的階段:
    • CNRI時期:CNRI是資助Python發展初期的重要單位,Python1.5版之前的成果大部分都在此時期完成。
    • BeOpen時期:Guido van Rossum與BeOpen公司合作,此一期間將Python2.0推出,甚至Python1.6也同時問世,但原則上已經分別維護了。
    • DC時期:目前Guido已離開BeOpen公司,將開發團隊帶到Digital Creations(DC)公司,該公司以發展Zope系統聞名,因此這項合作也頗受註目。
    • Python 3.0

里程碑

  • Python獲年度Tiobe編程語言大獎
    • Python在2010年獲得了較大的市場份額增長,2010年1月以來Python的市場份額增長了1.81%,是增長速度最快的。

第二節 Python特征

Python編程語言中的定位

  • 腳本語言
  • 高階動態編程語言

簡單易學

  • Python是一種代表簡單主義思想的語言。Python的這種偽代碼本質是它最大的優點之一。它使你能夠專註於解決問題而不是去搞明白語言本身。Python有極其簡單的語法,極易上手。

解釋性&編譯性

  • Python語言寫的程式不需要編譯成二進位代碼。可以直接從源代碼運行程式,但是需要解釋器。這點類似於Java,或是Matlab。其實我更今偏重於認為是後者。
  • Python中亦有編譯執行的特性。

面向對象

  • Python既支持面向過程的編程也支持面向對象的編程。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。讓我迷惑的是,Python中類的屬性似乎不是那麼重要,至少我現在還不是很明白。

高級語言

  • 使用Python語言編寫程式,無需考慮諸如管理記憶體一類的底層。

可擴展性及可嵌入性

  • 可以把部分程式用C或C++編寫,然後Python程式中使用它們。與此相反,可以把Python嵌入C/C++程式,提供腳本功能。

免費、開源

  • 自由地發佈這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。現階段,我們好像不太在意這一點。

可移植性

  • 由於它的開源本質,Python已經被移植在許多平臺上。如果能避免使用依賴於系統的特性,那麼所有Python程式無需修改就可在任何平臺上面運行。包括Linux、Windows、FreeBSD、Macintosh、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Window CE甚至還有PocketPC!

豐富的庫

  • 豐富的庫,似乎已成為判斷一門編程語言是否強大的重要標準。Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI、TK和其他與系統有關的操作。只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫(似乎可以稱為第三方),如wxPython、Twisted和Python圖像庫等等。

總結

  • 易用與速度的完美結合
  • 把精力放在要解決的總理上
  • 跨平臺又易擴展
  • 自動化的記憶體管理
  • 內建許多高階而實用的資料型態
  • 輕易結合網路程式模塊
  • 萬能鑰匙? No, 膠水語言

第三節 Python的應用

Google

  • 實現Web爬蟲和搜索引擎中的很多組件。

Yahoo

  • Yahoo使用它(包括其他技術)管理討論組。

NASA

  • NASA在它的幾個系統中既用了Python開發,又將其作為腳本語言。

YouTube

  • 視頻分享服務大部分是由Python編寫的。

豆瓣在Python和Ruby之間為何選擇前者?

  • Ruby名氣很大,但在國內真正用的人不多。
  • Python的“可用性”要好的多,Java本來就在傳統的大型應用中占有重要地位。
  • 雖然Python沒有Perl的庫強大,但是很多庫還是在大型商業中應用的比較廣泛,比之Ruby還是要穩的多。
  • Python的簡潔性。
  • 還用,據說Ruby是小日本創造的。
  • 其他:都根植於Unix體系,Google使用Python。

第四節 搭建Python環境

Linux環境

  • 大多Linux發行版均預設安裝了Pthon環境。如想下載不同的版本,可到www.python.org下載。軟體安裝方法參照Linux軟體安裝。
  • 輸入Python可啟動Python交互模式
  • 程式編輯推薦使用VIM

Windows環境

  • 可下載安裝python的msi所直接安裝
  • 自帶python的GUI開發環境
  • 開發工具很多

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

-Advertisement-
Play Games
更多相關文章
  • 文檔目錄 簡介 IEmailSender ISmtpEmailSender NullEmailSender 配置 集成 MailKit 安裝 集成 用法 定製 ISmtpEmailSender NullEmailSender 安裝 集成 用法 定製 簡介 發送郵件是一個很常用的任務,幾乎每個應用都需 ...
  • /// /// 從URL獲取值(字元串) /// public static string GetValueFromUrl(string key) { string keyvalue = HttpContext.Current.Request.QueryString[key]; i... ...
  • /// /// MD5 32位加密(大寫) /// /// /// static string UserMd5(string str) { string cl = str; string pwd = ""; MD5 md5... ...
  • static void Main(string[] args) { #region 定時器 TimerDemo td = new TimerDemo("TimerDemo", 1000); td.Enabled = true; td.TickEvent += TestHandler;... ...
  • 1、打開控制器 GT_Open 2、啟動伺服使能 GT_ClrSts 3、軸規劃位置清零 GT_SetPrfPos 4、軸運動模式 GT_PrfTrap 5、軸目標位置 GT_SetPos 6、軸轉動速度 GT_SetVel 7、啟動軸 GT_Update 8、關閉使能 GT_AxisOff 9、關 ...
  • ASP.NET Core 中使用 MySql,如果欄位類型為 ,不管設置多少長度,插入或更新數據的時候,會自動截斷(截取 255 長度的字元)。 出現問題的原因,就是使用了 程式包(我使用的版本是 ),可能是其版本問題,升級版本的話,可能問題不會出現了。 解決方式 :將 MySql 所有欄位類型為 ...
  • 廢話不多說! 一下是 .NET core 和 .NET framework 速度對比。 兩者使用最慢的冒泡排序演算法: 排序10萬條數據 平均下來.net core 需要39秒, 而.net fw 平均49秒。 在同等條件下 .net core 性能領先。 這隻是個簡單得測試。我相信.net core ...
  • 在面試的時候經常會被問到,委托和事件的聯繫和區別?之前也一直沒有徹底搞明白,下麵就來總結一下。 從一個有趣的需求入手。有三個角色,貓,老鼠和主人,當貓叫的時候,老鼠開始逃跑,主人則從睡夢中驚醒。 使用事件實現 如下代碼: 通過demo可以總結: 1,定義和使用事件的流程,如下圖: 2,定義事件參數要 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...