Python雜談——Python都能幹什麼呢?

Python 今年 28 歲了。儘管它比我的許多讀者年紀還要大,但是仍然受到高度的關注,因為它可以被應用於如今你所能想得到的相當多的軟件開發和操作場景。要管理本地或者雲基礎設施嗎?Python可以。開發網站?OK,它也能行的。需要處理一個 SQL 數據庫?可以。需要為 Hive 或者 Pig 定製一個功能?能做到。只是想為自己構建一個小工具?Python 就是最好的選擇。需要一門支持面向對象設計的語言?Python 的特性就能滿足啦。簡而言之,將 Python 瞭解得更加深入一點點,就能讓你具備可以適應範圍更寬泛的工作角色的技能。

Python雜談——Python都能幹什麼呢?

號外號外!~關注私信小編資料給你想要的圈子!!!!!!!!!!!!!!!!

、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雜談——Python都能幹什麼呢?

在如此之多領域的公司裡得到廣泛使用的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 原生的正則表達式庫就是用 C 語言實現的。

Python雜談——Python都能幹什麼呢?

三、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): 

C++

#include int main()

能做到這些,是因為Python

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

4.2 縮進而不是

{

}

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

Python

class python:

C++

class python

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

Python雜談——Python都能幹什麼呢?


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

看書不會進步,思考和實踐才有成長,自學編程是一個比較枯燥的過程,如果沒有正向反饋,學習的積極性很容易被打壓下來,所以你應該積極參與到相關的技術圈子中去,嘗試去解答力所能及的新手問題,向圈子中的大牛們尋求幫助,善於總結自己所學到的東西,分享給更多的人,記住,你不是一個人在戰鬥。


分享到:


相關文章: