Python 能幹什麼

來源:互聯網
上載者:User

標籤:可讀性   16px   extend   命令列   解釋   使用   iostream   支付系統   win   

二、Python 只適合測試?

關於Python是一種什麼樣的語言,這裡不打算說對象、類之類的術語。我們可以先來看一看,時至今日 Python 都在哪些領域裡得以應用:

  • 電信基礎設施 (Twilio)
  • 支付系統 (PayPal, Balanced Payments)
  • 神經科學和心理學
  • 數值分析和工程 (numpy, numba)
  • 動畫(LucasArts, Disney, Dreamworks)
  • 遊戲後台 (Eve Online, Second Life…)
  • Email 基礎設施 (Mailman, Mailgun)
  • 媒體儲存和處理 (YouTube, Dropbox)
  • 操作和系統管理 (Rackspace, OpenStack)
  • 自然語言處理(NLTK)
  • 機器學習和電腦版本 (scikit-learn, Orange)
  • 安全性和滲透性測試 ( eBay/PayPal )
  • 大資料 (Disco, Hadoop support)
  • 搜尋系統 (ITA, Ultraseek, 還有 Google)
  • Internet 基礎設施 (DNS) (BIND 10)

在如此之多領域的公司裡得到廣泛使用的Python,難道只是用在它們的測試部門?至少根據網路上的謠言,豆瓣、Youbute、和 Dropbox 都是以 Python 為主體語言搭建起來的網站。Python 強大的能力(例如:網路處理能力,還有各種擴充包),可以使得程式員們把注意力投放在實現業務上,而不是記憶體管理,介面設計之類的細節上。

事實上,Python 最常見的應用情形是:

1.使用 Python 快速產生程式的原型(有時甚至是程式的最終介面,你會喜歡 wxPython 的), 
2.對其中有特別要求的部分,使用更合適的語言(尤其是 C/C++)改寫。

由於 Python 與 C 的天然聯絡,它們之間的相互調用從來都不是問題。特別是 Python 如何調用 C 在《 Programming Python》的 Chapter 22. Extending Python 部分有介紹。Python 調用 C 的動態/靜態庫並不是一件複雜的事情。實際上, Python 原生的Regex庫就是用 C 語言實現的。

三、Python 只是指令碼語言?

Python 確實的可以完成指令碼語言的功能(使用更簡潔的方式)。Shell 工具往往從命令列運行,實現諸如文字檔的處理以及調用其他程式等任務。Python 能做的更多。

有專家稱 Python 是大資料全棧式開發語言,在“雲基礎設施”、“DevOps”、”網路爬蟲” 和 “資料處理”領域,Python 都是最流行的語言。

對於開源軟體向來遲鈍的微軟參加2015年 PyCon 時高調宣布提高 Python 在 Windows 上的編程體驗,包括 Visual Studio 支援 Python,最佳化 Python 的 C 擴充在 Windows 上的編譯等等。腦補下未來 Python 作為 Windows 預設組件的情境。

四、Python 之NB

和 Python 之禪(注1)裡表述的一樣,簡單優雅已經深入Python骨髓。正是這個原因,Python 才被認為上手簡單,開發快速,程式可讀性超強;也正是這些特點,互連網公司更有意願使用它,因為快速發布是它們的生存之根本。在實踐中,程式員可以很直觀地發現,用 Python 寫的代碼通常要比同樣的 C/C++ 或 JAVA 程式要短得多。

Python

#!/usr/bin/pythona = 0while(a <= 10):    a = a + 1    print ‘The number is ‘+aprint ‘while is end‘

C++

#include <iostream>int main(){    int a = 0;    while( a <= 10)    {        a = a + 1;        cout<<"The number is "<<a<<endl;    }    cout<<"while is end"<<endl;}

能做到這些,是因為Python

4.1 變數不需要聲明

這個真的很方便。變數的聲明和定義一定會嚴重打斷對代碼邏輯的思考,還有對齊的麻煩。記憶體的管理,這簡直都就是 C/C++ 編程中最常見的雷區,由於省略了聲明,這也不再是問題了。

4.2 縮排而不是  {  }

Python 是以縮排來管理代碼結構的。這樣做有他的優越性:程式員們一定有過漏寫 ‘{’ 或者 ‘}’ 的經曆。如果使用的編譯器或者解譯器優秀的話,漏去的’{’ ‘}’的確可以非常容易的加上。但如果不是這樣,請在複雜的代碼中漫遊一會吧。因為可能編譯器會通知一個 ‘錯誤’ 的錯誤資訊,這個錯誤的位置可能會離你真正錯誤的地方很遠(十萬八千裡?!)。相對於此,以縮排管理方式的 Python 來說,程式員幾乎不用考慮這種問題。其次以縮排方式區分塊的Python在進行複雜的嵌套中,Python代碼就顯得明了許多了。

Python

class python:    def Hello(self):        print ‘Hello‘    def count(self, n):        in = 0        while( in <= n):            in = in + 1            print in

C++

class python{public:    void Hello(void)    {        cout<<"Hello"<<endl;    }    void count(int n)    {        int in = 0;        while(in <= n)        cout<<in<<endl;    }};

相比較來看,Python的代碼更能分清其層次,而對於C++這樣的代碼雖然能夠編譯成功。但是,對於其日後的維護,會造成無盡的痛苦。由此,可以看出 Python的文法簡潔。同時,Python 的查錯能力也非常強。在一般情況下,Python的解譯器能夠準確指出錯誤的位置和原因。

Python 的縮頸唯一沒有做好的就是沒有指定一定要縮排4個空格。

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.