天天看點

Python入門(一)

1.程式設計語言:

    機器代碼-》微碼變成-》進階語言

    編譯器[解釋器]:把人類能夠了解的,轉換成機器能夠了解的

        編譯器:必須轉換成二進制代碼才能運作

        解釋器:邊解釋[執行],邊運作 

    python非常接近于人類的思維方式

    python也可以了解為腳本語言,但是比腳本語言的更強悍

        也适合開發大型程式,也是一種完備的語言

    python用來實作自動化運維:大材小用

    python有很多架構:web,Django等

    python缺陷:

        第一次執行比較慢{首次編譯成位元組碼bytecode},第二次比較快

    執行效率比c,C++低,但是開發效率高

    pvm:python虛拟機

2.python執行過程:

                    PVM:整個過程需要借助于

    source code----->complier------>bytecode----->interpreter--->processor

        .py格式                        .pyc格式

    openstack是用python開發的

3.Python的實作

    CPython:原始,标準的實作方式

    Jython:用于Java語言內建的實作

    IronPYthon:用于與.NET架構內建的實作

    PyPy:python實作的python解釋器

4.Python性能優化工具:

    Psyco:Python語言的一個擴充子產品,可以及時對程式代碼進行專業的算法優化

        可以在一定程度上提高程式的執行速度,尤其是在程式中有大量的循環操作時

        目前開發已經停止,由PyPy接替

    PyPY:是python實作的python解釋器:PyPY的圖示特别有意思,一條蟒蛇自己咬着自己的尾巴

        python語言的動态編譯器,是Psyco的後繼項目

        可以運作在linux,32,64,MacOSX,windows-32中

    Shed Skin:

        python編譯器,能夠将python代碼轉換成優化的C++代碼

    Python使用方式:

        1.互動式python:輸入指令python即可,隻能一次執行

        2.python檔案:将編寫的程式儲存至(.py)中友善多次運作,

            python的此類包含了一系列預編寫好的語句的程式檔案稱作“子產品”

            能夠直接運作的子產品檔案通常稱作腳本(即程式的頂層檔案)

            例如vim,

            //每一個檔案都叫做一個子產品都可以被調用,

            //頂層檔案--作為整個程式的執行入口

        3.或者使用IDE:內建開發環境

    python實作子子產品中自我測試,而不是在頂層檔案中調用實作測試

第一個python程式

    a.py

        #!/usr/bin/python             //shebang,即執行腳本時通知内容要啟動的解釋器

        import platform                //通過import導入一個python子產品platform

        print platform.uname()        //列印platform子產品的uname方法的執行結果

    chmod  +x a.py

    ./a.py 

    python  v2和v3之間的相容性特别差

        python v2流行度高

    Python程式可以分解成子產品、語句、表達式    和對象

        程式由子產品構成

        子產品包含語句

        語句包含表達式

        表達式建立并處理對象

            表達式是“某事”,而語句是“做某事(即指令)";

                例如,“3+4”是某事,“print 3+4”則是做某事

            語句的特性:它們改變了事物,例如,指派語句改變了變量,print語句改變了螢幕輸出等:

5.python對象

    Python中一切皆對象,變量也是一個對象

        面向過程:

            以指令為中心,由指令處理資料

            如何組織代碼解決問題

        面向過程:{更是和解決複雜問題}

            以資料為中心,所有的處理代碼都圍繞資料展開

            如何設計資料結構組織資料,并提供對此類資料所允許處理操作

        python都支援

    python

        >>> import  platform

        >>> dir(platform) //檢視platform的内置的參數

    假如要使用:

        python的更高版本,原有的2.6.6不能随便解除安裝,

        方法:

            1.編譯安裝新版本至特定路勁

            2.pyenv,可以install,uninstall,以及切換 //自己了解

            3.

        方法一:Python-2.7.6.tar.gz, ipython-1.2.1.tar.gz

    wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz  

    wget http://archive.ipython.org/release/0.12/ipython-0.12.tar.gz

            解壓,./conigure --help

            python依賴于 readline-devel,python互動模式回删可以用到//其他都要寫

            ./configure --pfefix=/usr/local/python27

            make && make install 

            ipython必須使用python編譯,ipython用于實作例如自動補全等功能

            /usr/local/python27/2.7/python2.7即可使用指令

            安裝ipython

                解壓并進入ipython目錄

            /usr/local/python27/bin/python2.7  setup.py  build //編譯 

            /usr/local/python27/bin/python2.7  setup.py  install //安裝 

            連結指令:

                ln -sv /usr/local/python27/2.7  /usr/bin/python27

                ln -sv /usr/local/python27/ bin/ipython /usr/bin/ipython

            輸入ipython指令測試

                測試補全功能

============================================================

    注意:千萬不要動系統的預設python版本

    程式=資料結構+算法

    程式=指令+代碼

        python最基本的資料結構是序列

        序列中每個元素被配置設定一個序号-即元素的位置,也成為索引,索引從0開始編号

        python包含6中内建的資料序列:清單,元祖,字元串,Unicode字元,buffer對象和Xrange對象

============================================================       

本文轉自MT_IT51CTO部落格,原文連結:http://blog.51cto.com/hmtk520/1952479,如需轉載請自行聯系原作者