小學生學習Python語言有什么好處?
試著答一個。
未來是屬于計算機的與計算機對話,需要shell,需要編程語言。所以需要掌握這些知識。
未來已來。
時代和技術在發展,如果站著不動,就會落后,這也就是為什么提倡“終身教育”??桃饩毩?,每日精進。讓我們的知識不會落后太久。
編程界的明星Linux的發明者Linus Torvalds年紀輕輕的時候,因為外祖父的原因接觸到PC。大學期間,依據Minix的結構,創建Linux操作系統,并一力維護至今。沒有Linux,也許就沒有,應該說肯定就沒有當今世界Web領域的堅強后盾。奠基性的貢獻,非他莫屬。
當然還有眾多優秀的系統,軟件的優秀作者,多如填上繁星。不一一列舉。
Python是怎么火起來的?Python是荷蘭人Guido在上個世紀80年代開發出來,其實作為小眾的語言,延續了很久,很久。TIOBE上編程語言的排行,我們看一下Python的坎坷歷程:
可以說在2004年之前,python都沒有什么存在感。為什么?那時候有系統應用,和網站應用,動態網站,都是用的CGI,使用PERL開發的。Python包也不全,性能也不咋地。
知道后來,Python3的推出,解決了一些棘手的,在Python2所不能完全解決的問題。受眾有所增長。
然而,仍然是不溫不火。
知道2017年,AlphaGo持續打敗了世界上最厲害的圍棋高手,大眾才被“人工智能”這個名詞吸引。原來,計算機已經遠遠不是許多年前的“書呆子”,人們研究算法,將程序賦予靈魂,讓計算機真正有了可約束的自我學習能力。
AI,機器學習,哪門語言能承擔的起向前沖鋒的重任?
PHP嗎,專門在做web開發,別的領域,它沒有涉及。
Java嗎。有相應的庫,笨重而繁瑣的配置,不完善的生態,它也擔不起。
C/C++嗎,速度一流,包不健全,學習難度大,學習曲線陡峭,也在備選梯隊。
“忽如一夜春風來,千樹萬樹梨花開”!
Python默默耕耘了這么多年,默默積攢了眾多優秀的類庫。簡單的語法,極快的上手速度,注定讓它迅速收割了一幫科學家的芳心。
我們知道,生物學家在寫Python,化學家在寫Python,計算機科學家在寫Python,老師也在寫Python。甚至,測試的小姐姐也開始寫Python。我們終于意識到,Python的時代已經來了!
Python就夠了嗎?Python是解釋型語言,注定其運行速度慢。怎么辦?
核心的算法和計算,使用C/C++重寫,于是有CPython解釋器。于是有Numpy這樣的專門的數學計算庫。畫圖的有專門的matplotlib。甚至機器學習,也優先推出基于python的版本,比如谷歌的TensorFlow,比如Facebook的Pytorch。
底層使用速度較快的編譯型語言寫,然后將接口開放出來給python調用。這很Pythonic!
這就是Python的風格,一堆import,三行搞定!
這是編程該有的樣子嗎?
編程的基本功,不能丟;計算機基本功,不能丟!
我們只有掌握了大體全面的知識,才有可能想出更為優秀的算法。這是萬變不離其宗的根本。
所以,Python適合入門。
應該怎么學?Python有許多方向,許多領域的包庫,可供學習。
每一個專業的包,庫,學習時間都不會是24小時,48小時。需要大量的知識。
面向對象
如果python說自己是面向對象的,class內函數形參內的那一個一個的self算怎么回事兒?
它只是一個好像可以用面向對象的方式編程,然而它不純粹。
C++/JAVA/C#,可以了解一下,什么是一切皆對象。如何封裝,繼承,多態,反射。
數學計算
想要學習數學計算,首推numpy。
學numpy則不足以知numpy。
你得過很多關,數據類型要掌握吧,一維數組要掌握吧,多維數組要掌握吧?這還只是程序語言層面的。
數學知識呢?矩陣運算要掌握吧,矩陣為什么要轉置,矩陣叉乘,點乘分別是做什么的?
逆矩陣怎么來的,矩陣如何分塊,克拉默法則如何適用,要了解吧?
矩陣初等變換呢,求解線性方程組呢?
numpy提供了封裝的函數,卻獨獨不會告訴你該如何解題。
所以,你應該知道,什么是本,什么是末了吧。
結語所以選定一個方向進行深入地學習,比漫無目的地轉來轉去,要好的多。
工具有千千萬,你要懂得如何用一個個的小工具,搭建起宏大堅定的建筑。這就是計算機學習過程中的知識,經驗積累。
以上。