python簡介及python安裝及開發工具的安裝及設定

來源:互聯網
上載者:User

標籤:注意   ict   破解   python開發   大學   scipy   位置   語言翻譯   沒有   

1.python簡介:介紹python到底是一門什麼樣的語言,介紹python的基礎特點

python是一門功能強大的,是一種物件導向的動態、強型別、解釋型的進階的程式設計語言,也是一種膠水語言,它具有跨平台型、健壯性、易學易用等特點。

上面一句話中有以下幾個關鍵字:功能強大      物件導向      動態        強型別      解釋型        進階的        程式設計語言    膠水語言    跨平台型    健壯性     易學易用, 下面我就來一步一步解釋這些名詞:

(1)功能強大 : python的用途廣泛,就我所知道的python有如下的應用---- web開發,爬蟲,資料處理,雲端運算,人工智慧(AI),系統營運,金融,圖形介面開發等等

web開發 

python有如下的web架構:Django、Flask、Tnornado。

Django是廣泛應用的企業級web架構,使用Django自身就可以開發出一些很完整的web應用,正因為如此,Django在企業級web開發中有舉足輕重的地位。

Flask是一個比較新的架構,2010年出現,Flask主要應用與微小項目,同時它具有可拓展性,可以讓開發人員自由選擇資料庫儲存資料,Flask是一個面向簡單需求和小型應用的微架構。

Tornado 和現在的主流 Web 服務器架構(包括大多數 Python 的架構)有著明顯的區別:它是非阻塞式伺服器,而且速度相當快。得利於其 非阻塞的方式和對epoll的運用,Tornado 每秒可以處理數以千計的串連,因此 Tornado 是即時 Web 服務的一個 理想架構。Tornado常常被作為大型網站的介面服務架構,而不像Django那樣被用於建立完整的大型網站。

爬蟲 

爬蟲(又被稱為網路爬蟲,網頁蜘蛛,網路機器人),是一種按照一定的規則,自動地抓取網站資訊的程式或者指令碼。python中具有專門的模組來訪問互連網發送請求,比如說最基本的urllib模組,還有一些第三方庫比如說requests模組。python中也有可以解析網頁原始碼的第三方模組,比如BeautifulSoup庫。

資料處理 :

python中有資料處理的一些模組,比如說Numpy、Pandas、Matplotlib。

NumPy是Python的一種開源的數值計算擴充。這種工具可用來儲存和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多。 pandas 是基於NumPy 的一種工具,該工具是為瞭解決資料分析任務而建立的。

Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函數和方法,是使Python成為強大而高效的資料分析環境的重要因素之一。

Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平台的互動式環境產生出版品質層級的圖形,可以將資料視覺效果。

雲端運算 

python在此領域中也有應用,並且地位很高,著名的OpenStack就是由python開發的,OpenStack是一個由NASA和Rackspace合作研發並發起的,以Apache許可證授權的自由軟體和開放原始碼項目。並且OpenStack是一個開源的雲端運算管理平台項目,由幾個主要的組件組合起來完成具體工作。OpenStack支援幾乎所有類型的雲環境,項目目標是提供實施簡單、可大規模擴充、豐富、標準統一的雲端運算管理平台。

人工智慧(AI) 

python中有很多第三方模組適合做人工智慧,比如numpy, scipy做數值計算的,sklearn做機器學習的,pybrain做神經網路的,matplotlib將資料視覺效果。

系統營運 

毫無質疑python是業界的營運工程師必會的程式設計語言。

金融 

量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。

原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測。

圖形介面開發 

Python支援多種圖形介面的第三方庫,包括:PyQT, WxPython,TkInter等等。

Tkinter是Python內建的庫,使用Tkinter,無需安裝任何包,就可以直接使用。

Qt是一個C++編寫的跨平台開發架構,Qt已經存在很久,一度屬於諾基亞公司,作為一個非常全面的工具程式碼程式庫和API,被大量行業廣泛採用,覆蓋包括移動在內的多個平台。PyQt是一個建立GUI應用程式的工具包。它是python程語言和Qt庫的成功融合。Qt庫是目前最強大的庫之一。

wxPython是Python語言的一套優秀的GUI圖形庫。允許Python程式員很方便的建立完整的、功能鍵全的GUI使用者介面。 wxPython是作為優秀的跨平台GUI庫wxWidgets的Python封裝和Python模組的方式提供給使用者的。

 

(2)物件導向:物件導向是一種程式設計思維,也是一種軟體開發方法,是電腦編程技術發展到一定階段後的產物。

物件導向是一種對現實世界理解和抽象的方法,是電腦編程技術發展到一定階段後的產物,也是一種程式設計思維。物件導向是將客觀事物看做具有屬性和行為的對象,

通過對客觀事物的抽象找出同一類對象的共同屬性(靜態屬性)和行為(動態特徵),形成類。每一個對象都有自己的資料,操作、功能和目的。通過類的繼承和派生、多態等技

術來提高軟體代碼的可重用性。物件導向程式設計思維更接近於人的思維活動,按人們認識客觀世界的系統思維方式,採用基於對象(實體)的概念建立模型,類比客觀世

界,分析、設計、實現軟體的辦法,通過物件導向的理念,使電腦軟體系統能與現實世界中的系統一一對應。

 

(3)動態:靜態和動態對應,分別是靜態類型語言、動態類型語言,是對類型的檢查的時期而言。

靜態類型語言是指在編譯時間變數的資料類型即可確定的語言,靜態類型語言的資料類型檢查是在運行前判斷(如編譯階段),比如C、C++、C#、java就是靜態類型語言,而動態類型語言卻不需要像靜態類型語言要求在使用變數之前必須聲明資料類型,動態類型語言類型的資料類型檢查是在運行時做的,變數使用之前不需要型別宣告,通常變數的類型是被賦值的那個值的類型。

 

(4)強型別:強型別和弱類型是指程式設計語言的資料類型定義。

強型別定義語言:強制資料類型定義的語言。也就是說,一旦一個變數被指定了某個資料類型,如果不經過強制轉換,那麼它就永遠是這個資料類型了。舉個例子:如果你定義了一個整型變數a,那麼程式根本不可能將a當作字串類型處理。強型別定義語言是型別安全的語言。

弱類型定義語言:資料類型可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦不同資料類型的值。

強型別定義語言在速度上可能略遜色於弱類型定義語言,但是強型別定義語言帶來的嚴謹效能夠有效避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否型別安全”之間是完全沒有聯絡的!例如:Python是動態語言,是強型別定義語言(型別安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強型別定義語言(型別安全的語言)。

 

(5)解釋型:解釋型和編譯型對應,是一種程式設計語言翻譯的方式,通過這些方式程式設計語言轉換成電腦能直接啟動並執行機器碼

 編程所用的進階語言是不能被電腦直接理解的,必須通過一定的手段翻譯成機器語言,只有這樣電腦才能運行進階語言所編寫的程式。而翻譯的方式有兩種,一種是編譯型,另一種是解釋型。

編譯型是指把來源程式用編譯器一次性都編譯成機器語言,並儲存為二進位檔案,然後電腦可以直接執行 eg: C、C++、GO、Swift、Object-C、pascal

解釋型是指原始碼不是直接翻譯成機器語言而是使用專門的解譯器對來源程式逐行解釋成特定平台的機器碼並立即執行 eg: python、JavaScript、ruby、PHP、Perl、VBScript這兩種方式均有各自的優缺點:

編譯型語言

優點:編譯器一般會有先行編譯的過程對代碼進行最佳化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程式執行效率高。可以脫離語言環境獨立運行。

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

解釋型語言

優點:有良好的平台相容性,在任何環境中都可以運行,前提是安裝瞭解釋器(虛擬機器),靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。

缺點:每次啟動並執行時候都要解釋一遍,效能上不如編譯型語言。

混合型語言:   其實就是結合上述兩種翻譯方法推出的語言  eg:Java、C#  

Java:  Java程式在Java平台上被編譯為中間代碼(位元組碼格式),在運行時,通過Java虛擬機器執行位元組碼,把位元組碼解釋成具體平台上的機器指令執行Java結合了編譯和解釋過程。Java來源程式首先被編譯成class檔案,然後,由虛擬機器(jvm)對class檔案加以解釋執行,這就是Java的能夠“一次編譯,到處運行”的原因

C#:與Java類似,它被編譯成為中間代碼,然後通過.NETFramework的虛擬機器——被稱之為通用語言運行庫(CLR)——執行。 所有的.Net程式設計語言都被編譯成這種被稱為MSIL(Microsoft Intermediate Language )的中間代碼。因此雖然最終的程式在表面上仍然與傳統意義上的可執行檔都具有“.exe”的尾碼名。但是實際上,如果電腦上沒有安裝.Net Framework,那麼這些程式將不能夠被執行。在程式執行時,.Net Framework將中間代碼翻譯成為二進位機器碼,從而使它得到正確的運行

 

(6)進階的:python的進階性不是相對組合語言,而是相對C、C++、Java等進階語言而言的。

python在語言層面對開發人員提供了更強大的支援。任何具有一定規模的應用程式都需要使用到鏈表、字典等資料結構,在python中,內建了List、Set、Dictionary這些資料結構,可以直接使用。在python的核心語言中提供這些重要的構建單元,可以鼓勵人們使用它們,縮短開發時間和代碼量,生產出可讀性更好的代碼。而在C++等語言中,這些資料結構一般需要通過附加的標準庫來實現。

 

(7)程式設計語言:   程式設計語言就是用來寫程式的代碼的語言,電腦是由軟體和硬體組成的,而軟體又是由代碼和文檔組成的,程式設計語言可以理解為一種規則,一種編寫人能夠易於理解的代碼的規則。代碼通過某種方法(上面的編譯和解釋)和電腦溝通,向電腦發出指令,控制電腦進行一系列的操作。

 

(8)膠水語言: 膠水語言是指用來串連軟體組件的程式設計語言,通常指指令碼語言。

Python可以把C++、Java寫的模組輕鬆結合起來協同,這樣就能把c++的針對底層,java的物件導向兩大優勢統一到一個完整的程式中來。python可以像一個八爪魚串連各種主要的技術標準,比如說Shell Command、Windows DLL 和 WebService。在B/S架構大行其道的今天,曾經出現過幾十個python的web開發架構,發展到現在已經形成了Django、Tornado等成熟的架構。

 

(9)跨平台型 :  跨平台指程式語言可以在多種作業系統的電腦上運作,而不需要去修改代碼。

 作業系統主要有3種:Windows、Linux、Mac,它們之間的優劣性現在大概就是如下:Windows用戶端簡單易用,Linux勝在穩定性,Mac提供更好的使用者體驗。python在各平台上都實現瞭解釋器,使得python程式可以運行在不同的作業系統平台上。

 

(10)健壯性 :所謂健壯性是指對於一些不規範的輸入能夠判斷這個輸入是不符合規範要求的,並有合理的處理方式。

python的強型別機制、異常處理、垃圾的自動回收機制等是其程式健壯性的重要保證。使用python的開發人員不用在資源申請、回收等方面花費太多精力。    

 

(11)易學易用:python的設計哲學是:優雅、明確、簡單。

由於python語言的簡潔、易讀及拓展性,在國外用python做科學計算的研究機構日益增多,一些知名大學開始採用python來教授程式設計語言,比如卡耐基梅隆大學的編程基礎、麻省理工學院的電腦科學及編程導論就使用python語言講授。眾多開源的科學計算軟體包都提供了python的調用介面,比如說著名的電腦視覺庫OpenCV、三維可視化庫VTK、醫學影像處理庫ITK。

 

一個重要的問題----關於python2與python3:

python2和python3是python的兩個版本,python2已經存在長達20多年,在第三方庫的支援上做的很好,python3是最近10年時間慢慢推出、興起的新版本,官方解釋python3是未來的趨勢,且不再更新python2,作為一個coder不管自己學什麼版本,對另一個版本都應該有一點的瞭解,我個人是看好未來的趨勢,所以使用的是python3,但是以後工作中也許會遇到一些項目是用python2寫的,所以python2也有瞭解。比如說:python2中的位元組字串(str)和python3中的位元組字串(bytes)之間有著功能上的差異;print在python2中被視為一個語句,而在python3中被視為一個函數;除法不一樣,python2: 5/2 = 2  python: 5/2 = 2.5;  編碼上,Python 2 預設使用 ASCII ,而python3使用Unicode。

 

2.python安裝:介紹python的安裝以及環境的配置(註:這裡我安裝的是python3的最新版本3.7.0)

只有安裝python環境後,python程式才能運行,以下是安裝python環境的步驟: 

(1)去python的官網中的下載頁面下載python安裝包   網址: https://www.python.org/downloads/,  根據你的作業系統選擇

 

(2)選擇作業系統後進入下一個頁面,選擇相應的安裝包,我自己電腦是Windows系統,如下我選擇了該安裝包

 

(3)官網的下載速度真的是很慢,嫌官網下載慢的可以使用我分享的安裝包下載:連結:https://pan.baidu.com/s/1kXmqqJt 密碼:t0c8

(4)現在來開始安裝:

點擊安裝包,然後先把下面的兩個選項選中,再點Install Now。關於Add python to path是指把python程式添加進系統變數,以便在命令列中解釋運行python。python3中在安裝的時候就可以直接把python添加進環境變數中,而python2則不能直接添加,必須手動添加。

 

安裝完成:

 

檢測安裝是否成功以及python是否添加進系統變數中:同時按win鍵和r鍵,在彈出的運行視窗輸入cmd,在cmd中輸入python,出現以下類似的畫面表明成功

 

3.python開發工具的介紹及安裝及設定

python下載後就內建了一個官方的IDE,如:

 

官方的IDE我個人覺得不是很好用,所以在此推薦大家學習python時初期可以使用,但是入門後最好使用pycharm這款IDE,pycharm是一顆功能強大的IDE,具有一整套可以協助使用者在使用Python語言開發時提高其效率的工具,比如調試、文法高亮、Project管理、代碼跳轉、智能提示、自動完成等功能,下面就來介紹pycharm的安裝。

註:關於pycharm,也和python一樣有兩個版本,一個是社區版,一個是專業版,社區版免費,但是能做的事情比較少,專業版要收費,但是做的事情比較多,也可以破解。在此我安裝的是專業版,因為個人的一些項目需要專業版。

 

Pycharm安裝的步驟如下:

(1)登陸官網下載安裝包,官網連結: https://www.jetbrains.com/pycharm/    官網是國外的網站,下載比較慢,   嫌官網下載慢的可以使用我分享的安裝包下載: 連結:https://pan.baidu.com/s/1nw15cnf 密碼:089v   

 

(2)點擊安裝包開始安裝,點擊Next,繼續安裝:

 

 

(3)選擇安裝位置,點擊Browse..即可更換安裝位置,我個人是把pycharm安裝在非系統硬碟D盤,選好安裝位置後,點Next,繼續安裝

 

 

 

(4)如勾上這些選項,點擊Next,繼續安裝

 

 

(5) 保持預設即可,點擊Install,繼續安裝

 

 

(6)安裝完成如下,點擊Run Pycharm, 再點擊Finish,我們來看一下最後的安裝效果

 

 

(7)這時,安裝完成後開啟的畫面如下,選擇下面的選項,然後點擊OK繼續

 

 

 

(8)接下來就需要輸入啟用碼,如選擇即可通過啟用:

 

 

 

(9)下來就進入pycharm的歡迎介面中,在這裡直接點擊OK進入pycharm即可,也可以進行一些設定。

 

 

(10)接下來就是pycharm的建立項目頁面,最左邊一排是項目種類,建立項目的時候選擇合適的種類,在右邊是項目位置的設定和解譯器的設定

 

(11)進入pycharm中,設定的方法,點擊File,再點擊Settings,即可進入設定頁面:

設定頁面如下:

(12)下面介紹一些使用的Pycharm技巧:

技巧一:設定建立文檔開頭打上固定的一句話:  比如說 __author__  =  ‘somebody‘   (somebody為某人的名字,你可以寫上自己的名字), 這裡以python檔案為例

進入如下頁面,選擇如下,寫下下列代碼即可:

此時再建立一個python檔案,即會在開頭自動加上作者名和日期,如下:

 

 技巧二:用python來下載第三方包,進入settings頁面選擇如下,點擊右方的+號

 

點擊加號之後,出現下面的頁面,在上方輸入包名,找到包之後點擊Install Package安裝即可,注意請勾上Install Package上面的選項

 

樣本:

 

python簡介及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.