1. 程式人生 > >談談對Python的感想

談談對Python的感想

時間 src 理解 開發者 類型 開發 tag quic Language

寫在前面

  我用Python已經好幾年了,最早學習用Python還是因為對人工神經網絡感興趣,python有個很好用的ANN庫neurolab。本人其實也算初學者,充其量算入門了吧,寫這篇一來回顧自己所學,二來振奮自己略有懶散的精神,學習不能停啊。

  首先,Python是一門解釋性語言,這是他的特點,這讓Python似乎與“高效”無緣。然而你知道嗎,著名的Instagram服務器就是是用Python+Django搭建的,而且月活用戶超過7億。要知道Python+Django是一個以速度慢著稱的web框架,一定是python的某個優點深深的吸引了他們。是的,這個優點就是,開發效率高。

  Python is a programming language that lets you work quickly and integrate systems more effectively.

--摘自Python官網www.python.org

  Python就是這樣一門語言,它運行時不那麽“快”,但讓你在開發時一路狂飆。它有點反人類的縮進讓人抓狂,但同時簡潔的語法讓你一目十行。更何況,它還有成噸的庫,開箱即用,讓Python成為百變金剛,並且可以在所有主流平臺完美運行。可以說,沒有最好的語言,只有最合適的語言。

  最近的TIOBE編程語言排行,Python已經到了第四位,3.777%,緊緊跟在C++之後。說到最近Python的興起,就不能不談人工智能的興起。人工智能如今進入第三次高潮,得益於深度學習Deep Learning技術的出現。隨著Theano、TensorFlow、Caffee等框架的出現,深度學習真正走入尋常百姓家,開啟了AI的大規模的應用。Python調用ML框架可以說過程完全無痛,而且快速高效。其腳本式開發方式,提供了快速試錯的能力,讓數據分析、處理、訓練時間都大大縮短了。可以說現在再來學習一遍Python正當時!

  IDE方面,之前用過老牌python神器pycharm,不過現在有了另外一個選擇Visual Studio Code。這是一個由原Eclipse開發者開發的編輯器,其最大的特點是無限的擴展性,以及背後微軟老爹的支持。通過擴展,它能做幾乎所有語言的開發,而且小巧、快速,Windows和Mac上都有他。

  我計劃通過一系列博文,重溫Python3基礎、進階知識,並結合VSCode的使用技巧,分享我做一些神經網絡方面的小東西的過程。圖個樂在其中,也讓更多人關註Python3,關註VSCode。

Python3的變量

  今天就來開個頭,來個Python3的變量:

a = 1

  這句定義了一個變量a,並將其值初始化為1。同時,變量a是整型。其他的類型包括浮點數、字符串、布爾(True/False)、空值(None)。Python是典型的動態類型語言,並且省略了類型的聲明。這有好處,使得開發更快更便捷,但缺點是變量的重名、拼寫錯誤也會造成意外的bug。當然有些第三方插件可以提示這些問題,但仍然要養成細心的習慣。

賦值:

b = a

這句聲明了一個新的變量b,令變量b的值等於a的值,也就是1。

是不是很簡單,來個小習題吧:

最後打印出來的是ABC還是XYZ呢?

  如果從數學意義上理解,就會錯誤地得出ba相同,也應該是‘XYZ‘,但實際上b的值是‘ABC‘

執行a = ‘ABC‘,解釋器創建了字符串‘ABC‘和變量a,並把a指向‘ABC‘(這類似於C/C++語言的指針)

技術分享圖片

  執行b = a,解釋器創建了變量b,並把b指向a指向的字符串‘ABC‘

技術分享圖片

執行a = ‘XYZ‘,解釋器創建了字符串‘XYZ‘,並把a的指向改為‘XYZ‘,但b並沒有更改:

技術分享圖片

所以,最後打印變量b的結果自然是‘ABC‘了。

PS.這個題目摘自廖雪峰的網站:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431658624177ea4f8fcb06bc4d0e8aab2fd7aa65dd95000

談談對Python的感想