Python簡介,python

來源:互聯網
上載者:User

Python簡介,python

Python簡介

介紹python之前,先來說一下編譯型語言和解釋型語言,物件導向和面向過程的區別:

電腦進階語言按照程式的執行方式可以分為編譯型語言解釋型語言

編譯型語言:是指代碼寫好以後,需要使用專門的編譯器進行編譯,一次性將代碼轉換成特定的系統平台(作業系統)可以識別並啟動並執行機器語言(機器碼)。

優點:編譯器一般會有先行編譯的過程對代碼進行最佳化。在運行代碼之前,對其編譯只做一次,產生一個系統可直接啟動並執行機器碼檔案,運行時不需要再次編譯,所以編譯型語言的程式執行效率高,可以脫離語言環境獨立運行。

缺點:編譯之後如果需要修改,就需要整個模組重新編譯,編譯的時候根據對應的運行環境(作業系統)產生機器碼,不同的作業系統之間移植就會有問題,需要根據啟動並執行作業系統環境編譯不同的可執行檔。

比如c, c++, Go, Swift, Object-C, Pascal...

解釋型語言:是指代碼寫好以後,需要使用該語言的解譯器將代碼轉換成一種易於執行的中間代碼(位元組碼),然後再將位元組碼轉換成特定的系統平台可識別的機器碼,可以這樣理解:每次執行解釋型語言的程式都需要進行一次編譯,才可以放到特定的系統中去運行。

優點:有良好的平台相容性,在任何環境中都可以運行,前提是安裝了對應平台的解譯器,具有靈活性,修改代碼的時候直接修改原始碼,然後做一下轉換工作就可以,可以快速部署,不用停機維護。

缺點:每次啟動並執行時候都要解釋轉換一遍,不能產生系統平台直接可啟動並執行程式,效能上不如編譯型語言。

比如JavaScript, Python, Ruby, PHP, Perl, Eriang...

 

舉個例子:A和B是兩個國家的人,因為語言不通無法交流。如果想要彼此交流,聽懂對方的語言,就需要翻譯。編譯型語言就是A學會了B的語言,交流的時候,直接將自己的想法用B的語言說出來,這樣B就能直接聽懂,反之易然;解釋型語言呢,就是A自己找了一個懂得多國語言的翻譯官,想要表達自己的意思,需要先跟這個翻譯官說,然後這個翻譯官在把A的意思,翻譯給B聽,由於中間多了一個翻譯的過程,速度上要比編譯型語言慢一些,但是好處也是有的,就是這個翻譯官懂得多種語言,A要和其他國家的人交流,直接找他就行,但是編譯型語言呢,你要想跟C交流,首先自己要學會C的語言才行,我是這麼理解的,如果有不對的地方歡迎大家留言指正。

 

物件導向面向過程

物件導向:就是一件事‘讓誰來做’,這個‘誰’就是對象,他要怎麼做是他自己的事,反正最後一群對象合力能把這件事做好就行了;比如,自己組裝電腦

面向過程:就是一件事該怎麼做,由誰來做我們不管,但是你必須按照我們規定的步驟去做就行了;比如自己造電腦

 

Python簡介:

python創始人是Guido van Rossum(吉多.範羅蘇姆),於1989年開發,1991年公開發行;

python是一種解釋型、物件導向、動態資料類型的進階程式設計指令碼語言,文法簡潔清晰,採用縮排來定義語句塊,具備來及自動回收功能,能夠自動管理記憶體空間使用,python虛擬機器本身幾乎適用於所有系統,使用諸如py2exe、PyPy、Pyinstaller之類的工具可將原始碼轉換成脫離python解譯器執行的程式,這裡我們主要參考的是CPython,是基於C語言開發的一種自由編程軟體。

 

Python解譯器的分類:

  1. Cpython
        Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源檔案(py檔案)轉換成位元組碼檔案(pyc檔案),然後運行在Python虛擬機器上。

  2. Jyhton
        Python的Java實現,意味著允許用Python寫JAVA程式了,Jython會將Python代碼動態編譯成Java位元組碼,然後在JVM上使用JRE(java runtime environment)運行。

  3. IronPython
        Python的C#實現,IronPython將Python代碼編譯成C#位元組碼,然後在CLR上運行。(與Jython類似)

  4. PyPy(特殊)
        Python實現的Python,使用了JIT編譯器(即時編譯器)技術,將Python的位元組碼編譯成機器碼。

  5. RubyPython、Brython ...

 

Python代碼執行過程

原始碼編譯成位元組碼(.pyc檔案),然後交友Python虛擬機器執行編譯好的位元組碼,將其編譯成特定系統平台的機器碼。

 

Python的用途:

  1. 指令碼:

    自動執行常見的管理工作,如在系統中新增使用者,將檔案上傳到網站,在不使用瀏覽器的情況下下載網頁等。

  2. 網站開發:

    作為快速建立動態網站的工具,Django,Bottle,Zope等眾多Python項目深受開發人員的歡迎。

  3. 文本處理:

    Python在字串和文字檔處理方面提供了強大支援,包括正則和Unicode

  4. 科學計算:

    Python科學計算庫,提供了用於統計,數學計算和繪圖的函數

 

Python的優缺點:

  • 優點:

簡單易學,入門容易。

進階語言,無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節。

可移植性,你的所有python程式無需修改就幾乎可以在市場上所有的系統平台上運行。

可擴充性,如果你需要你的一段關鍵代碼啟動並執行更快或者希望某些演算法不公開,你可以把你的部分程式用c或c++編寫,然後在你的python程式中使用它們。

可嵌入性,你可以把python嵌入你的c/c++程式,從而向你的程式使用者提供指令碼功能。

  • 缺點:

速度慢;代碼不能加密;線程不能利用多cpu問題;

 

一般實際工作中,開發在windows上,運行在linux,所以說一下python的兩種安裝方式:

Windows:

下載安裝包:https://www.python.org/downloads/

推薦下載3.X版本,預設安裝目錄這裡為C:\python35

3.x版本,安裝時會有自動添加環境變數的選項:

如果忘記勾選,可以參考如下辦法添加:

配置環境變數:

電腦屬性-->進階系統設定-->進階-->環境變數-->找到變數名為path的一行開啟-->python安裝目錄追加到變數值中,用分號;分割

 

Linux:

CentOS 6.x系統預設系統光碟片內建python,但其版本是2.X,我們需要額外安裝3.x版本

 # wget  # tar xf Python-3.5.3.tar.xz # cd Python-3.5.3 # ./configure --prefix=/usr/local/python35 # make all && make install # python -v # mv /usr/bin/python /usr/bin/python35 # vim /usr/bin/yum

 

Pycharm簡單使用

PyCharm是一種PythonIDE,帶有一整套可以協助使用者在使用Python語言開發時提高其效率的工具,比如調試、文法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些進階功能,以用於支援Django架構下的專業Web開發。

PyChram下載
官網:http://www.jetbrains.com/pycharm
Windows:http://www.jetbrains.com/pycharm/download/#section=windows
Linux:http://www.jetbrains.com/pycharm/download/#section=linux
Mac:http://www.jetbrains.com/pycharm/download/#

 

修改模版

說明:第一行指定python路徑,第二行,指定指令碼的編碼格式,py3版本不需要指定,但py2需要指定,為了相容。

 

版本切換

如果安裝了2.x版本或其他版本,可以從這裡添加

 

字元編碼修改,避免出現亂碼

 

字型設定

 

使用滑輪調整顯示大小

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.