1. 程式人生 > >python ——入門基礎

python ——入門基礎

1.軟體的相關概念

  軟體的定義

  軟體:是指一系列按照特定順序組織的計算機資料與指令的集合

             指令:具體的操作流程

             資料:被操作的東西

2. 軟體的分類

           軟體一般分為以下兩類:

           系統軟體:Windows、Linux,Android、IOS等等

           應用軟體:QQ、迅雷

    系統軟體直接管理和控制計算機底層硬體,為使用者提供最基本的計算機功能

    應用軟體是處理特殊領域問題的軟體,豐富了計算機的功能。
                     

3.軟體開發

       所謂軟體開發就是用程式語言去編寫上述軟體。

                  作文-書寫-文字-中文,英文,日語,韓語

                   軟體-程式設計-程式碼-C,Java,C++,Python

4.高階程式語言

       語言是同種事物之間溝通的橋樑:文字,語音,肢體

      人與計算機不是同種事物,怎麼交流呢?最基本的就是,文字。人類學二進位制?廢了

      所以產生了高階程式語言,它讓程式設計師無需考慮過多的底層細節(比如彙編,需要考慮很多底層細節),並且該語言易於

      程式設計師閱讀,主要以字母、數字和符號組成。

      但是計算機看不懂啊,所以需要轉換 


5.高階程式語言的分類

      按照編譯執行型別分為兩種:

            靜態編譯型:原始碼需要完全被編譯之後,再執行,且有嚴格的資料型別

                                  C,C++,Java,C#,Object-C(蘋果手機)

            動態解釋型:原始碼不需要完全被編譯,而是編譯一行執行一行,這個過程叫解釋,沒有嚴       
                                 格的資料型別的區分。

                                 Python,JavaScript,Matlab,R,Ruby,PHP

        注意:語言沒有哪個好壞,只有特定的應用場合。

  6.Python介紹

       Python的直譯器如今有多個語言實現,我們常用的是CPython(官方版本的C語言 實現),其他還有Jython(可以執行在

       Java平臺)、IronPython(可以執行在.NET和 Mono平臺)、PyPy(Python實現的,支援JIT即時編譯)

      Python目前有兩個版本,Python2和Python3,最新版分別為2.7.12和3.5.2,現階 段大部分公司用的是Python2

 7.Python的優缺點

     優點

 簡單————Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程 序就感覺像是在讀英語一樣,儘管這個英語的

            要求非常嚴格!Python的這種虛擬碼本質 是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身

 

 易學————就如同你即將看到的一樣,Python極其容易上手。前面已經提到 了,Python有極其簡單的語法。

 

 免費、開源————Python是FLOSS(自由/開放原始碼軟體)之一。簡單地說,你 可以自由地釋出這個軟體的拷貝、閱讀它的

             原始碼、對它做改動、把它的一部分用於新 的自由軟體中。FLOSS是基於一個團體分享知識的概念。這是為什麼Python

             如此優秀的 原因之一——它是由一群希望看到一個更加優秀的Python的人創造並經常改進著的。

 

高層語言————當你用Python語言編寫程式的時候,你無需考慮諸如如何管理 你的程式使用的記憶體一類的底層細節。

     

可移植性————由於它的開源本質,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直譯器把源代 碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機

         使用機器語言並執行。事 實上,由於你不再需要擔心如何編譯程式,如何確保連線轉載正確的庫等等,所有這一

         切使得使用Python更加簡單。由於你只需要把你的Python程式拷貝到另外一臺計算機 上,它就可以工作了,這也使得你的

        Python程式更加易於移植。

 

面向物件————Python既支援面向過程的程式設計也支援面向物件的程式設計。在“面 向過程”的語言中,程式是由過程或僅僅是可重用

           程式碼的函式構建起來的。在“面向對 象”的語言中,程式是由資料和功能組合而成的物件構建起來的。與其他主要的語言如

          C++和Java相比,Python以一種非常強大又簡單的方式實現面向物件程式設計。

 

可擴充套件性————如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公 開,你可以把你的部分程式用C或C++編寫,

          然後在你的Python程式中使用它們。

 

豐富的庫————Python標準庫確實很龐大。它可以幫助你處理各種工作,包括 正則表示式、文件生成、單元測試、執行緒、資料

         庫、網頁瀏覽器、CGI、FTP、電子郵 件、XML、XML-RPC、HTML、WAV檔案、密碼系統、GUI(圖形使用者介面)、Tk

         和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱 作Python的“功能齊全”理念。除

        了標準庫以外,還有許多其他高質量的庫,如 wxPython、Twisted和Python影象庫等等。

規範的程式碼————Python採用強制縮排的方式使得程式碼具有極佳的可讀性。

缺點

  執行速度,有速度要求的話,用C++改寫關鍵部分吧。

 

  國內市場較小(國內以python來做主要開發的,目前只有一些web2.0公司)。但 時間推移,目前很多國內軟體公司,尤其是遊

  戲公司,也開始規模使用他。

 

  構架選擇太多(沒有像C#這樣的官方.net構架,也沒有像ruby由於歷史較短,構架 開發的相對集中。Ruby on Rails 構架開發中

 小型web程式天下無敵)。不過這也從另 一個側面說明,python比較優秀,吸引的人才多,專案也多。


8.Python應用場景

  Web應用開發

     Python經常被用於Web開發。比如,通過mod_wsgi模組,Apache可以執行用Python 編寫的Web程式。Python定義了WSGI

    標準應用介面來協調Http伺服器與基於Python的Web 程式之間的通訊。一些Web框架,如Django,TurboGears,web2py,Zope

     等,可以讓程式設計師輕 鬆地開發和管理複雜的Web程式。

作業系統管理、伺服器運維的自動化指令碼

   在很多作業系統裡,Python是標準的系統元件。 大多數Linux發行版以及NetBSD、 OpenBSD和Mac OS X都集成了Python,可以在終端下直接執行Python。有一些Linux發行 版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的 Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準 庫包含了多個呼叫作業系統功能的庫。通過pywin32這個第三方軟體 包,Python能夠訪問 Windows的COM服務及其它Windows API。使用IronPython,Python程式能夠直接調 用.Net Framework。一般說來,Python編寫的系統管理指令碼在可讀性、效能、程式碼重用度、 擴充套件性幾方面都優於普通的shell指令碼。

科學計算

   NumPy,SciPy,Matplotlib可以讓Python程式設計師編寫科學計算程式。

桌面軟體

   PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程式的利器

伺服器軟體(網路軟體

   Python對於各種網路協議的支援很完善,因此經常被用於編寫伺服器軟體、網路爬蟲。 第三方庫Twisted支援非同步網路程式設計和

   多數標準的網路協議(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高效能的伺服器軟體。

遊戲

很多遊戲使用C++編寫圖形顯示等高效能模組,而使用Python或者Lua編寫遊戲的邏輯、 伺服器。相較於Python,Lua的功能更

簡單、體積更小;而Python則支援更多的特性和資料 型別。

構思實現,產品早期原型和迭代

YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。