第一篇:python簡介
前言:作為對於python小白而言,我們需要知道什麼是python,為什麼學習python而不是其他程式語言,它相比於其他語言有什麼優勢,同時瞭解python 的執行操作過程又是怎麼樣的,它有哪些分類?接下來開始走進python的世界。
一、Python的定義:
什麼是python呢?python是著名的‘龜叔Guido van Rossum在1989年聖誕節,為了打發無聊的聖誕節而開發的一門程式語言(指令碼解釋程式)。
根據20017年12月的Tiobe排行榜--程式語言流行度,Python趕超C#、PHP名列第四。
並且一直以來,Python整體呈上升的趨勢,越來越多的人使用
2、python的特點:
那麼Python如此迅速的發展,其本身有什麼特點呢?
先說說其優點吧:--->’優雅、明確、簡單’。
a、極佳的可讀性。-->由於Python採用強制縮排的方式使得程式碼具有極佳的可讀性。
b、簡單。-->非常適合學習,類似用一定的規則去寫英語文章,並且使你可以專注的使用語言去解決問題而不是糾結於語言本身。
c、開源。-->簡單地說,你可以自由地釋出這個軟體的拷貝、閱讀它的原始碼、對它做改動、把它的一部分用於新的自由軟體中。
d
e、既支援面向過程程式設計也支援面向物件程式設計。-->在面向過程的語言中,程式是由過程或僅僅是可重用程式碼的函式構建起來的。在面向物件的語言中,程式是由資料和功能組合而成的物件構建起來的。而類似
f、豐富的庫。-->python有可定義的第三方庫可以使用。它可以幫助你處理各種工作,包括正則表示式、文件生成、單元測試、執行緒、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV檔案、密碼系統、GUI(圖形使用者介面)、Tk和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python影象庫等等。
g、可擴充套件性和可嵌入性。-->如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。你也可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。
當然,Python也有其缺點:
1、執行速度相對於其他語言而言較慢。--》由於其執行時要求邊編譯邊執行的過程,故相對於C、Java、PHP等較慢。
2、python的開源性使得Python語言不能加密。--》但是目前國內市場純粹靠編寫軟體賣給客戶的越來越少,網站和移動應用不需要給客戶原始碼,所以這個問題就是問題了。國隨著時間的推移,很多國內軟體公司,尤其是遊戲公司,也開始規模使用他。
那麼相對於C、Java、PHP其他程式語言,Python的優劣在哪?
C語言:首先我們要知道Python是有C語言實現的。
C語言為編譯型語言--》程式碼編譯得到機器碼,機器碼在CPU上直接執行。故其執行速度快。
Python為編譯型還是解釋型並不明確,姑且為解釋型。---》程式碼編譯得到位元組碼,再通過虛擬機器執行位元組碼轉換成機器碼,最後由CPU執行。
與Java、PHP、c#等相比:
PHP類:適用於寫網頁,其侷限性十分明顯。
Python和Java:既可以寫網頁,也可以寫後臺功能,這兩者比較--》前者開發效率高、執行效率較低,或者開發效率較低,執行效率較高。
3、Python的種類:
- Cpython Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將原始檔(py檔案)轉換成位元組碼檔案(pyc檔案),然後執行在Python虛擬機器上。
- Jyhton Python的Java實現,Jython會將Python程式碼動態編譯成Java位元組碼,然後在JVM上執行。
- IronPython Python的C#實現,IronPython將Python程式碼編譯成C#位元組碼,然後在CLR上執行。(與Jython類似)
- PyPy(特殊) Python實現的Python,將Python的位元組碼位元組碼再編譯成機器碼。
- RubyPython、Brython ..
4、Python的應用領域:
- 系統程式設計
Python語言在作業系統的內建介面,被稱為Shell工具。Python程式可以搜尋檔案和目錄樹、可以執行其他的應有程式或是用程序或執行緒進行並行處理。Python標準庫綁定了POSIX 以及其他常規作業系統工具。所以環境變數、管道、程序、多執行緒、檔案、套接字、python正則表示式模式匹配、命令列引數、標準流介面、Shell 命令啟動器、file擴充套件等。除此之外很多Python 的系統工具設計時都考慮了其可移植性。
- 網路爬蟲
由於Python的網路方面的功能非常強大,常用來實現網路爬蟲。常用框架有:
grab – 網路爬蟲框架(基於pycurl/multicur)。
scrapy – 網路爬蟲框架(基於twisted),不支援Python3。
pyspider – 一個強大的爬蟲系統。
cola – 一個分散式爬蟲框架。
portia – 基於Scrapy的視覺化爬蟲。
restkit – Python的HTTP資源工具包。它可以讓你輕鬆地訪問HTTP資源,並圍繞它建立的物件。
demiurge – 基於PyQuery的爬蟲微框架。
- 人工智慧、科學計算
科學運算、人工智慧: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- WEB開發
Python有眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享學課堂就是使用Django開發的。
- 系統運維
Python已經成為,運維人員必備語言,尤其是在Linux運維方面,基本上是自動化運維。
- 大資料、雲端計算
Python是大資料、雲端計算最火的語言, 典型應用OpenStack
- 金融方面
量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很厲害,生產效率遠遠高於c,c++,java,尤其擅長策略回測。
- 圖形介面方面
PyQT, WxPython,TkInter
- 企業和網站的案例方面
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等專案都在大量使用Python開發
CIA: 美國中情局網站就是用Python開發的
NASA: 美國航天局(NASA)大量使用Python進行資料分析和運算
YouTube:世界上最大的視訊網站YouTube就是用Python開發的
Dropbox:美國最大的線上雲端儲存網站,全部用Python實現,每天網站處理10億個檔案的上傳和下載
Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
Facebook:大量的基礎庫均通過Python實現的
Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
豆瓣: 公司幾乎所有的業務均是通過Python開發的
知乎: 國內最大的問答社群,通過Python開發(國外Quora)
等等。
4、python的安裝
還有便是關於Python的安裝方面的知識,
Windows上python的安裝--》可參考 https://jingyan.baidu.com/article/574c52197b9fbc6c8c9dc170.html##1
Linux下python3.x的安裝可跟根據以下流程進行安裝:
1 #下載python3.x的安裝包
2 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
3 #準備工作
4 yum install gcc-* glibc-* -y
5 #切換至安裝包所在目錄,並且解包
6 tar -xvf Python-3.6.5.tgz
7 #切換至解包的目錄下,執行configure指令碼,新增編譯引數
8 ./configure --prefix=/usr/local/python3.6
9 #編譯
10 make
11 #安裝
12 make install
新增環境變數:
#找到python3.x安裝的位置,修改配置檔案
vim /etc/profile
#將python3.x的安裝目錄新增至PATH後面
PATH =/usr/local/bin:/usr/bin/.......:/usr/local/python 3.6
export PATH
而關於python2.安裝---》Linux下預設安裝是為python2.X可直接執行。