Python語言編程的特點及其應(yīng)用
Python語言是一種功能強大的具有解釋性、交互性和面向?qū)ο蟮牡谒拇嬎銠C編程語言。它是由荷蘭人GuidovanRos sum在八十年代末和九十年代初設(shè)計出來的,GuidovanRossum于2005年加入Google,領(lǐng)導并從事Python語言每一個版本的設(shè)計和開發(fā)工作。
目前Python在國內(nèi)還沒有被廣泛熟知,但在國外早已得到成熟、廣泛的應(yīng)用,是非常流行的編程語言,無論在Web應(yīng)用還是非Web應(yīng)用中均扮演著重要角色。著名的搜索引擎google,其核心代碼就是用Python完成的,迪斯尼公司的動畫生成,許多Unix的版本(包括Linux)都內(nèi)建了Python環(huán)境支持。國內(nèi)知名的豆瓣網(wǎng)也是使用Python技術(shù)建立。
Python也是一種腳本語言,它開發(fā)代碼的效率非常高,它具有強大和豐富實用的第三方標準庫,使得編程變得簡潔快速;Python語言的語法表達也非常優(yōu)美易讀;Python支持廣泛的應(yīng)用程序開發(fā),從簡單的文字處理到基于Web的開發(fā)及游戲設(shè)計的應(yīng)用。它是一種非常值得學習、推廣和應(yīng)用的一門實用性編程語言。
Python語言與CC++、Java語言和其他腳本語言比較在國內(nèi)知名度不高,但它與這些常見編程語言比較起來,有許多優(yōu)秀表現(xiàn),本文從以下幾個方面做相關(guān)探討。
1.Python語言的語法表達
Python語言的語法表達更加優(yōu)美、簡潔、易讀。例如:通過屏幕輸出稱為編程語言第一例的經(jīng)典句子“helloworld”,與C和Java相比,Python不需要建立CJava中的main函數(shù),而是直接給出輸出語句,輸出字符串:
>>>print“HelloPythonicWorld!”
屏幕輸出顯示結(jié)果:HelloPythonicWorld!
以上Python實現(xiàn)快速直接,所見即所得。
Python程序的易讀性也表現(xiàn)在它的代碼縮進語法,Python的縮進結(jié)構(gòu)使得Python代碼相對其他語言整齊了許多,Python語言中沒有采用其他語言中花括號或begin...end...分隔代碼塊,而是使用冒號和代碼縮進來區(qū)分代碼之間的層次。例如,一個最簡單的有效if語句的寫法是:
ifTrue:
print“Yes,itistrue”
上面if語句在結(jié)尾處包含一個冒號,通過它告知Python后跟一個語句,當然還包括正確的代碼縮進。
2.Python返回結(jié)果的兩種表達方式
Python可以實現(xiàn)通過函數(shù)返回結(jié)果以及通過圖形化表示更直觀給出結(jié)果的兩種表達方式。
這里,實現(xiàn)在字符串中求元音字母個數(shù),分別使用以下兩種方式表達。
1)通過函數(shù)實現(xiàn),返回元音字母個數(shù)值:vowelCount("Abcdef。!ayzyzyz。ⅲ
returns3(twoa'sandonee).
2)通過圖形表達實現(xiàn),則可以使用餅圖,給出元音字母在全圖里所占的比例,更加直觀。
程序中使用Python的標準TkGUI工具包的接口,另外程序中通過設(shè)定兩個參數(shù),winWidth和winHeight,實現(xiàn)顯示給定尺寸的窗口,并用餅圖表示元音,輔音,或其他符號的字符數(shù),用這些約束進行填充餅圖,因篇幅所限這里實現(xiàn)代碼略。
3.Python基于Web應(yīng)用和網(wǎng)游設(shè)計
Python和Java語言都是開源的、跨平臺語言,使用Python可以完成Java的所有功能,在基于Web應(yīng)用和網(wǎng)游設(shè)計中有更大優(yōu)勢。
Python基于Web應(yīng)用的實例中,知名的豆瓣網(wǎng)就是使用Python作為主體開發(fā)語言,進行全面網(wǎng)站架構(gòu)以及相關(guān)應(yīng)用的設(shè)計與開發(fā),也成為國內(nèi)較成功的Python之Web應(yīng)用。
使用Python進行Web開發(fā)比較流行的線程模型是基于WSGI傳統(tǒng)模式,WSGI是Pythonwebserver、application、middle ware之間的官方規(guī)范標準,現(xiàn)在主流的Pythonwebserver和framework都是支持WSGI的。在Python后續(xù)發(fā)展中,WSGI也有兩方面的局限,一是不支持異步,例如一個異步的Webserver的Tornado,運行Django,則Tornado的異步特性完全用不上;二是WSGIv1.0不支持Python3.x,因此在Web應(yīng)用未來發(fā)展趨勢中,異步模型將是一個轉(zhuǎn)換方向。
另一方面,當前Python也已經(jīng)逐漸成為了WebGame行業(yè)的主流編程語言。國內(nèi)網(wǎng)游行業(yè)資深從業(yè)人員使用Python設(shè)計的動作類網(wǎng)頁游戲中,在服務(wù)器端的設(shè)計基本使用Python開發(fā),甚至沒有使用C/C++代碼。在以往大多游戲設(shè)計里面,一般使用較多C++來寫host,同時經(jīng)常用到腳本語言,比如最常用的一個腳本語言LUA,一般來說,由C++調(diào)用多個LUA腳本來完成一個項目的業(yè)務(wù)邏輯;而使用Python設(shè)計時有所不同,Python本身就是用來寫host,主要調(diào)用使用Python來寫的業(yè)務(wù)邏輯。
網(wǎng)易的大量網(wǎng)絡(luò)游戲開發(fā)在服務(wù)器端代碼70%以上也是使用的Python語言設(shè)計,代替了原來占比較多的C/C++。
4.基于Python的云技術(shù)及大數(shù)據(jù)應(yīng)用
Python基于云技術(shù)應(yīng)用中,很多底層的虛擬化都使用python。云計算核心思想是把所有的資源以服務(wù)的方式提供給客戶,云計算的平臺包括IaaS/PaaS/SaaS等,IaaS是把基礎(chǔ)設(shè)施以服務(wù)的方式提供給客戶,虛擬化是IaaS的核心技術(shù),需要用虛擬化技術(shù)的物理資源進行虛擬化,然后使用軟件的方式管理這些資源;PaaS是把計算平臺以服務(wù)的方式提供給客戶;SaaS也是類似。構(gòu)建的IasS、SaaS等服務(wù)的OpenStack是采用Python開發(fā)的,因此云計算的其他服務(wù)也是建立在IasS等服務(wù)之上的。
易度的PaaS是國內(nèi)第一個基于Python語言的企業(yè)應(yīng)用云端開發(fā)平臺。易度使用現(xiàn)有的企業(yè)PaaS平臺,利用現(xiàn)有開源技術(shù),依托Python/Zope/Pyramid等主要技術(shù)來構(gòu)建這一平臺。在2007年易度轉(zhuǎn)向互聯(lián)網(wǎng)軟件,推出易度云辦公,專注企業(yè)云端的辦公方案。BAE是百度近年發(fā)布的云計算平臺,百度云同時支持PHP、Java和Python三語言,Python的應(yīng)用也讓人眼前一亮。另外,谷歌應(yīng)用引擎云計算服務(wù),也相當于一種虛擬服務(wù)器,它目前也是僅支持Python,它的一切都是圍繞Python構(gòu)建的。
在大數(shù)據(jù)處理方面,Python語言可通過python提供的標準庫有效的解決用Python進行大數(shù)據(jù)處理的問題,這些數(shù)據(jù)轉(zhuǎn)換成適合Python分析的數(shù)據(jù)結(jié)構(gòu),之后用Python相應(yīng)的工具進行數(shù)據(jù)分析、處理,提出數(shù)據(jù)特征并用一定的結(jié)構(gòu)形式表現(xiàn)出來。
Python基于信息化最新領(lǐng)域的應(yīng)用使得它更具有魅力,自從1991年P(guān)ython開始成為國外廣受歡迎的動態(tài)編程語言開始,到目前為止Python在許多領(lǐng)域都有了比較成功的應(yīng)用,例如Google核心搜索引擎Python實現(xiàn);美國宇航局使用Python實現(xiàn)CAD/CAE/PDM庫及模型管理系統(tǒng);全球知名的光影技術(shù)先驅(qū)IndustrialLight&Magic使用Python處理電影光影合成;全球最大的游戲廠商EVE-online利用Python使同時服務(wù)10.000個玩家在同一個程序的內(nèi)存空間成為可能;Yahoo使用Python建立起全球范圍的站點群;迪斯尼樂園Disney使用Python動畫的制作等等。
隨著互聯(lián)網(wǎng)和新技術(shù)的發(fā)展,國內(nèi)的技術(shù)環(huán)境也在不斷更新,更需要中國的軟件技術(shù)人才把Python這樣優(yōu)秀的自由、開源軟件進行積極推廣、普及和應(yīng)用,并引入教學課堂,而事實上,國外許多頂尖高校已在多年前開設(shè)了基于Python語言系列課程,同時引導學生做進一步研究與項目實習,及時的與實際應(yīng)用接軌。期待未來國內(nèi)Python的教育和應(yīng)用環(huán)境能夠發(fā)展和普及,我們將拭目以待。
更多大數(shù)據(jù)相關(guān)小知識,歡迎關(guān)注微信公眾號成都科多大數(shù)據(jù)。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機器人東風翻身?