程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python從入門到精通— 初識Python

編輯:Python

Python從入門到精通— 初識Python

Python基礎知識學習系列博客,持續更新

Python從入門到精通— 初識Python

  • Python從入門到精通— 初識Python
  • 1、Python簡介
  • 2、認識"Python"
  • 3、Python版本
  • 4、Python的功能
  • 5、Python語言優點
  • 6、Python語言缺點

1、Python簡介

Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆 於1990 年代初設計,作為一門叫做ABC語言的替代品。 Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。

Python解釋器易於擴展,可以使用C語言或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。 [4] Python 也可用於可定制化軟件中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。

  2021年10月,語言流行指數的編譯器Tiobe將Python加冕為最受歡迎的編程語言,20年來首次將其置於Java、C和JavaScript之上。

Python是一種跨平台的、 開源的、 免費的、 解釋型的高級編程語 言。 近幾年Python發展勢頭迅猛, 2020年12月的TIOBE編程語言排行榜中已經晉升到第3名, 而在IEEE Spectrum發布的2020年度編程語言排行榜中, Python連續4年奪冠。 另外, Python的應用領域非常廣泛, 如Web編程、 圖形處理、 黑客編程、 大數據處理、 網絡爬蟲和科學計算等, Python都可以實現。作為Python開發的起步, 本章將先對學Python需要了解的一些基礎內容進行簡要介紹, 然後重點介紹如何搭建Python開發環境, 最後介紹常見的幾種Python的開發工具。

2、認識"Python"

Python( 發音[ˈpaɪθ ən]) 本義是指 “蟒蛇”( 這裡需要說明的是, Python並不是以蟒蛇命名, 而是以電視節目Monty Python’ s Flying Circus來命名的) , 標志如圖1所示。 它的設計哲學為優雅、明確、 簡單。 實際上, Python也是按照這個理念做的, 以至於現在網絡上流傳著“ 人生苦短, 我用Python” 的說法。 可見Python有著簡單、 開發速度快、 節省時間和精力等特點。Python本身並非所有的特性和功能都集成到語言核心, 而是被設計為可擴充的。 它具有豐富和強大的庫, 能夠把用其他語言( 尤其是C/C++) 制作的各種模塊很輕松地聯結在一起。 為此, Python常被稱為“ 膠水” 語言。在1991年Python的第一個公開發行版問世之後, Python的發展並不突出。 自從2004年以後, Python的使用率呈線性增長。 在2010年時,Python贏得TIOBE 2010年度語言大獎。 直到2020年, IEEE Spectrum發布的年度編程語言排行榜中, Python已經連續4年奪冠,


圖1 Python標志

3、Python版本

Python自發布以來, 主要經歷了3個版本, 分別是1994年發布的Python 1.0版本( 已過時) , 2000年發布的Python 2.0版本( 已停止更新) 和2008年發布的Python 3.0版本( 現在已更新到3.9.x) 。

當前, 有兩個不同的Python版本: Python 2和較新的Python 3。 每種編程語言會隨著新概念和新技術的推出而不斷發展, Python的開發者也一直致力於豐富和強其功能。 大多數修改都是逐步進行的, 你幾乎意識不到, 但如果你的系統安裝的是Python 3, 那麼有些使用Python 2編寫的代碼可能無法正確地運行。 在本書中,我將指出Python 2和Python 3的重大差別, 這樣無論你安裝的是哪個Python版本, 都能夠按書中的說明去做。

如果你的系統安裝了這兩個版本, 請使用Python 3; 如果沒有安裝Python, 請安裝Python 3; 如果只安裝了Python 2, 也可直接使用它來編寫代碼, 但還是盡快升級到Python 3為好,因為這樣你就能使用最新的Python版本了。

4、Python的功能

Python是一種功能強大, 並且簡單易學的編程語言, 因而廣受好評, 那麼Python能做什麼呢? 概括起來有以下幾個方面。

1. Web開發
使用Python的一個基本應用就是進行Web開發。 在國內, 大一些的使用Python做基礎設施的公司有豆瓣、 知乎、 美團、 餓了麼, 以及搜狐等。 在國外, Google在其網絡搜索系統中廣泛應用了Python, 並且聘用了Python之父。

2. 人工智能
人工智能( artificial intelligence) , 英文縮寫為AI。 Python之所以這麼火, 主要是借助於人工智能的發展。 Python是一種腳本語言, 它更適合做人工智能領域, 因為在人工智能領域使用Python比其他編程語言具有更大的優勢。 主要的優勢在於, 它簡單、 快速、 可擴展( 主要體現在可以應用多個優秀的人工智能框架) 等。 另外, Python中的機器學習可以實現人工智能領域中的大多數需求。

3. 大數據處理

隨著近幾年大數據的興起, Python也得到了前所未有的爆發。Python借助第三方的大數據處理框架可以很容易地開發出大數據處理平台。 到目前為止, Python是金融分析、 量化交易領域裡使用最多的語言之一。 例如, 美國銀行就利用Python語言開發出了新產品和基礎設施接口, 用於處理金融數據。

4. 自動化運維開發

掌握一種開發語言已經成為高級運維工程師的必備技能。 Python是一種簡單、 易學的腳本語言, 它能滿足絕大部分自動化運維的需求。 對於通常不會開發的運維工程師來說, 想學習一種開發語言, Python則是首選。

5. 雲計算

Python可以廣泛地在科學計算領域發揮獨特的作用。 Python通過強大的支持模塊可以在計算大型數據、 矢量分析、 神經網絡等方面高效率地完成工作, 尤其是在教育科研方面, 可以發揮出獨特的優勢。 從1997年開始, NASA就在大量使用Python進行各種復雜的科學運算。 現在終於發明了一套雲計算軟件, 取名為OpenStack( 開放協議棧) , 並且對外公開發布。

6. 游戲開發

通過Python完全可以編寫出非常棒的游戲程序, 例如, 知名的游戲《文明6》 就是用Python編寫的。 另外, 在網絡游戲開發中Python也有很多應用。 它作為游戲腳本被內嵌在游戲中, 這樣做的好處是既可以利用游戲引擎的高性能, 又可以受益於腳本化開發等優點。

7. 網絡爬蟲

網絡爬蟲( 也稱為spider) 始於也發展於百度、 谷歌。 但隨著近幾年大數據的興起, 爬蟲應用被提升到前所未有的高度。 多數分析挖掘公司都以爬蟲的方式得到不同來源的數據集合, 最後為其所用, 進而構建屬於自己的大數據綜合平台。 在爬蟲領域, Python幾乎是霸主地位, 通過它提供的標准支持庫基本上可以做到隨意獲取想要的數據。

5、Python語言優點

簡單: Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。

易學: Python極其容易上手,因為Python有極其簡單的說明文檔 。

易讀、易維護: 風格清晰劃一、強制縮進

用途廣泛

速度快: Python 的底層是用 C 語言寫的,很多標准庫和第三方庫也都是用 C 寫的,運行速度非常快。

免費、開源: Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟件中。FLOSS是基於一個團體分享知識的概念。

高層語言: 用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

可移植性: 由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。

解釋性: 一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。

面向對象: Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。

高級動態編程: 雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發計劃例如Zope、Mnet及BitTorrent Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,並不能與Python相提並論。

做科學計算優點多: 說起科學計算,首先會被提到的可能是MATLAB。除了MATLAB的一些專業性很強的工具箱還無法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相應的擴展庫。和MATLAB相比,用Python做科學計算有如下優點:

  • 首先,MATLAB是一款商用軟件,並且價格不菲。而Python完全免費,眾多開源的科學計算庫都提供了Python的調用接口。用戶可以在任何計算機上免費安裝Python及其絕大多數擴展庫。

  • 其次,與MATLAB相比,Python是一門更易學、更嚴謹的程序設計語言。它能讓用戶編寫出更易讀、易維護的代碼。

  • 最後,MATLAB主要專注於工程和科學計算。然而即使在計算領域,也經常會遇到文件管理、界面設計、網絡通信等各種需求。而Python有著豐富的擴展庫,可以輕易完成各種高級任務,開發者可以用Python實現完整應用程序所需的各種功能。

6、Python語言缺點

單行語句和命令行輸出問題: 很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序寫入一個.py文件。

給初學者帶來困惑: 獨特的語法,這也許不應該被稱為局限,但是它用縮進來區分語句關系的方式還是給很多初學者帶來了困惑。即便是很有經驗的Python程序員,也可能陷入陷阱當中。

運行速度慢: 這裡是指與C和C++相比。Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合並到Python內。所以很多人認為Python很慢。不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。

原創不易,路過的各位大佬請點個贊


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved