Python入門

來源:互聯網
上載者:User

標籤:Python入門

一、編程與程式設計語言

  • 編程的目的:

    電腦的發明,是為了用機器取代/解放人力,而編程的目的則是將人類的思想流程按照某種能夠被電腦識別表達方式傳遞給電腦,從而達到讓電腦能夠像人腦/電腦一樣自動執行的效果

  • 什麼使程式設計語言?

    上面提及的能夠被電腦所能表達方式即變成語言,語言是溝通的介質,而程式設計語言是程式員與電腦溝通的介質。在編程的世界裡,電腦更像是人的奴隸,人力編程的目的就是命令奴隸去工作。

  • 什麼使編程?

    編程即程式員根據需求把自己的思想流程按照某種程式設計語言的文法風格編寫下來,產出的結果就是包含一堆字元的檔案。

    強調:程式員在未運行前跟普通檔案無異,只有程式在運行時,檔案所寫的字元才有特定的文法意義

二、程式設計語言分類

機器語言:站在電腦(奴隸)的角度,說電腦能聽懂的語言,那就是直接用二進位編程,直接操作硬體;組合語言:站在電腦(奴隸)的角度,簡寫的英文標識符取代二進位去編寫程式,本質仍然是直接操作硬體;進階語言:站在(奴隸主)的角度,說人話,即用人類的字元去編寫程式,屏蔽了硬體操作。
  • 進階語言更貼近人類語言,因而造成了:它必須被翻譯成電腦能讀懂二進位後,才能被執行,按照翻譯方式分為:

    1、編譯型(需要編譯器,相當於用Google翻譯):如C,執行速度快,調試方便
    2、解釋型(需要解譯器,相當於同聲傳譯):如Python,執行速度慢,調式方便

  • 總結:

機器語言:

優點是最底層,執行速度最快缺點是最複雜,開發效率最低

組合語言:

優點是比較底層,執行速度最快缺點是複雜,開發效率最低

進階語言:

 編譯型語言執行速度快,不依賴語言環境運行,跨平台差解釋型跨平台好,一份代碼,到處使用,缺點是執行速度慢,依賴解譯器運行

==PS:速度不是關鍵(瓶頸理論),開發效率高才是王道==

三、Python介紹

Python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年聖誕節期間,Guido開始鞋能夠解釋Python語言文法的解譯器,Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和Shell之間,功能全面,易學易用,可拓展的語言。Python可以應用於眾多領域,如:資料分析、組建整合、網路服務、影像處理、數值計算和科學計算等眾多領域。
  • Python(解譯器)的發展史

    1989年,Guido開始寫Python語言的編譯器。
    1991年,第一個Python編譯器誕生。它是用C語言實現的,並能夠調用C語言的庫檔案。從一出生,Python已經具有了:類,函數,異常處理,包含表和詞典在內的核心資料類型,以及模組為基礎的拓展系統。
    Granddaddy of Python web frameworks, Zope 1 was released in 1999
    Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
    Python 2.0 - October 16, 2000,加入了記憶體回收機制,構成了現在Python語言架構的基礎
    Python 2.4 - November 30, 2004, 同年目前最流行的WEB架構Django 誕生
    Python 2.5 - September 19, 2006
    Python 2.6 - October 1, 2008
    Python 2.7 - July 3, 2010
    In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
    Python 3.0 - December 3, 2008 (這裡要解釋清楚 為什麼08年就出3.0,2010年反而又推出了2.7?是因為3.0不向下相容2.0,導致大家都拒絕升級3.0,無奈官方只能推出2.7過渡版本)
    Python 3.1 - June 27, 2009
    Python 3.2 - February 20, 2011
    Python 3.3 - September 29, 2012
    Python 3.4 - March 16, 2014
    Python 3.5 - September 13, 2015
    Python 3.6 - 2016-12-23 發布python3.6.0版

  • Python有那些種類?

    我們現在知道了Python是一門解釋型語言,代碼想運行,必須通過解譯器執行,Python的解譯器本身也可以看作是個程式(翻譯官司是哪國人不重要),這個程式是什麼語言開發的呢? 答案是好幾種語言? what? 因為Python有好幾種解譯器,分別基於不同語言開發,每個解譯器特點不同,但都能正常運行我們的Python代碼,下面分別來看下:
    CPython:CPython是使用最廣且被的Python解譯器。本教程以CPython為準。
    當我們從Python官方網站下載並安裝好Python 2.7後,我們就直接獲得了一個官方版本的解譯器:CPython。這個解譯器是用C語言開發的,所以叫CPython。在命令列下運行python就是啟動CPython解譯器。
    IPython
    IPython是基於CPython之上的一個互動式解譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但核心其實都是調用了IE。 CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。
    PyPy PyPy是另一個Python解譯器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。
    絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解譯器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點。
    Jython
    Jython是運行在Java平台上的Python解譯器,可以直接把Python代碼編譯成Java位元組碼執行。
    IronPython
    IronPython和Jython類似,只不過IronPython是運行在微軟.Net平台上的Python解譯器,可以直接把Python代碼編譯成.Net的位元組碼。

四、變數

  • 什麼是變數

    變數即變化的量,核心“變”與“量”二字,變即變化,量即衡量狀態。

  • 為什麼要有變數

    程式執行的本質就是一系列狀態的變化,變是程式執行的直接體現,所以我們需要由一種機制能夠反映或者說是儲存下來程式執行是狀態的變化。

  • 變數的定義規範

    變數名只能是字母、數字或下環線的任意組合
    變數名的第一個字元不能是數字
    以下關鍵字不能聲明為變數名[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

  • 定義方式:

    駝峰體
    AgeOfOldboy = 20
    底線(推薦使用)
    age_of_oldboy = 20

  • 定義變數名不好的方式

    1、變數名為中文、拼音
    2、變數名過長
    3、變數名詞不達意

  • 定義變數會有:id、type、value

    1、等號比較的是value,
    2、is比較的是id

    強調:
    1、id相同,意味著type和value必定相同
    2、value相同type肯定相同,但id可能不同,如下:

    >> a="help:20"
    >> b="help:20"
    >> id(a)
    4330224472
    >> id(b)
    4330224528
    >> a == b
    True
    >> a is b
    False
    >>

  • 常量

    常量即指不變的量

五、使用者與程式互動

  • 在Python3中

    input:使用者輸入任何值,都存成字串類型
    在Python2中

    input:使用者輸入類型,就存成什麼類型
    raw_input:等於Python3的input

  • 注釋

    單行注釋用#
    多行注釋用‘‘‘ ‘‘‘或""" """

六、基礎資料型別 (Elementary Data Type)

  • int整型

    用於標識:年齡,等級×××號,QQ號,個數
    在32位機器上,整數的位元為32位,取值範圍為-231~231-1,即-2147483648~2147483647
    在64位系統上,整數的位元為64位,取值範圍為-263~263-1,即-9223372036854775808~

  • float浮點數

    用於標識:工資,身高,體重

  • long(長整型)#(瞭解部分)

    跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器記憶體有限,我們使用的長整數數值不可能無限大。
    注意,自從Python2.2起,如果整數發生溢出,Python會自動將整數資料轉換為長整數,所以如今在長整數資料後面不加字母L也不會導致嚴重後果了。
    注意:在Python3裡不再有long類型了,全都是int

  • complex複數型(瞭解即可)

  • 字串

    在Python中,加了引號的字元就是字串類型,Python並沒有字元類型
    定義:name=‘user‘ #name=str(‘user‘)

Python入門

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.