Python入門更快,但是java的運用更加廣泛,所以二者各有各的優缺點,要學哪個還是要根據自己的實際需求情況來進行判斷和選擇。
首先來了解一下java與python各自的特點:
Java:高度面向對象的高級編程語言
設計初衷是「寫一次代碼,在哪裡都可以用」,可以完成任何規模的任務,所以它也是很多公司在做商業級項目的時候的普遍選擇。
Python:擁有簡潔語法的高級編程語言
設計初衷是「讓代碼讀起來更輕松」,並且讓程序員們比起用其他語言,可以寫更少的代碼,事半功倍。
最後是給初入行業的新人一些學習建議:
如果你只是編程愛好者,或者把編程語言作為一個工作中的應用工具,Python是個不錯的選擇。如果你想在程序員的道路上穩步發展,建議先學習Java,再學python,C++,JavaScript,PHP等其他語言,會事半功倍。
一名優秀的程序員,絕不會只靠一門語言走到黑,通吃它們就完了!兼容並蓄,觸類旁通,這才是一個成熟IT從業者該有的心態!
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校。好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝學有所成!望採納!
❷ 有了解python的嗎
總體來說python要比java簡單。對於零基礎的小夥伴選擇python可能更加容易。python語言最近幾年也是特別的火。
首先我們先看一下python語言的優缺點:
Python目前是比較流行的語言,深受廣大程序員的喜愛,不僅僅是因為其語言本身突出的優勢,也是由目前Python的語言地位決定的,很多人可能已經了解過Python是什麼?但是並不清楚Python語言的優缺點是什麼?今天我們就一起來探討一下這個問題,希望各位小夥伴能清楚的了解Python語言的優缺點。
Python這門語言的魅力和影響力已經遠超Java、C、C++等編程語言前輩,2018年主流的十大編程語言中,Python排名第一。被廣大使用者譽為「更美好」編程語言。也常常被昵稱為「膠水語言」,Python這門語言擁有很多的優勢,看完之後你會發現學習Python還是很不錯的。
Python語言的優點第一個就是簡單易學,簡單到什麼程度呢,舉個例子來說,同樣一個程序,使用C可能需要1000行代碼,使用Java需要100行代碼,而使用Python則只需要20行代碼。這也就是很多新手小白選擇學習Python的原因,它沒有那麼復雜的邏輯,代碼簡潔規范,關鍵字也相對較少,說明文檔還非常簡單,極易上手。
第二個優點是免費開源,簡單地說,你可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。
第三個優點是開發速度快效率高,Python
的底層是用 C 語言寫的,很多標准庫和第三方庫也都是用 C
寫的,因此Python運行速度非常快,開發效率非常高。此外Python還有:可移植性強、面向對象、可擴展性、可嵌入性、豐富的庫等優勢。這些都是Python的優點,所以造就了功能強大的Python語言,很適合零基礎入行的小白們學習。
說到Python語言的缺點,就是單行語句和命令行輸出問題,有些時候不能將程序寫成一行,這一點需要注意一下,不過Python的語言優勢足以碾壓其缺點。
以上就是Python語言的優缺點,很多人入行選Python都是基於此,而且目前Python程序員很是吃香,招聘崗位多,待遇薪資高,想學習的小夥伴不要猶豫啦!
最後我們看一下java語言:
首先了解Java是什麼,Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。
Java的眾多特點使得它的應用范圍也很廣,比如:由於Java具有安全性,所以被廣泛應用於金融行業,很多第三方交易系統、銀行的前後台電子交易系統等都是用Java開發的;由於Java具有平台獨立與可移植性讓它可以被應用於嵌入式物聯網領域。而廣泛的應用領域使得Java人才的就業選擇也有很多,下面就介紹下Java適用於什麼工作。
首先是網頁開發,在學習Java技術時,比較重點的一塊就是JavaWeb開發,這部分技術包含了HTML5、CSS、JavaScript、jQuery腳本語言和非同步交互技術AJAX等,學完後你基本就可以勝任一名網頁開發工程師的工作了。
其次是Android游戲開發,有些游戲腳本語言是可以和Java語言無縫交互的,所以學好Java語言還可以去做游戲開發。第三,企業級應用開發。由於Java的健壯性、安全性等特性,很多企業級的應用都是用Java語言來開發的,通過Java開發可以大大增加應用的安全等級。
以上就是Java的定義和Java的就業方向。目前Java仍是世界主流的編程語言,招聘市場上的Java人才也仍是供不應求。
總而言之。每一門語言都有自己的獨特優勢,學好了就業都不會太差。但是對於零基礎的小夥伴還是建議學習python。對於有一點基礎的小夥伴可以選擇學習java。
❸ python適合做人工智慧的編程語言嗎
先來上兩張圖人工智慧和Python的圖。
從上圖可以看出,人工智慧包含常用機器學習和深度學習兩個很重要的模塊,而下圖中Python擁有matplotlib、Numpy、sklearn、keras等大量的庫,像pandas、sklearn、matplotlib這些庫都是做數據處理、數據分析、數據建模和繪圖的庫,基本上機器學習中對數據的爬取(scrapy)、對數據的處理和分析(pandas)、對數據的繪圖(matplotlib)和對數據的建模(sklearn)在Python中全都能找到對應的庫來進行處理。
所以,要想學習AI而不懂Python,那就相當於想學英語而不認識單詞,所以,Python學起來吧。
❹ Python 從入門到精通推薦看哪些書籍呢
市面上的Python書籍非常豐富,對於剛接觸到Python的小白的確不太友好。這里我分享一些自學Python入門到精通推薦看的書籍。
1、《Python編程:從入門到實踐》
Python最大的一個優勢就是數據分析,如果想向數據分析方向發展,就需要深入掌握Python一些重要的庫比如numpy,pandas等。那麼這本書就是學習Python數據分析的寶庫。該書講解了如何利用各種Python庫高效地解決各式各樣的數據分析問題,實用性很強,適合剛剛接觸Python的分析人員以及剛剛接觸科學計算的Python程序員。
以上就是自學Python入門到精通的書籍推薦。
❺ python的語言特點有哪些
python語言的特點主要有速度快、免費、可移植性、解釋性、可擴展性等,具體如下:
1、速度快:Python的底層是用C語言寫的很多標准庫和第三方庫也都是用C寫的運行速度非常快。
2、免費:使用者可以自由地發布這個軟體的拷貝、閱讀源代碼、做改動、把一部分用於新的自由軟體中。
3、可移植性:由於其具有開源本質,Python已經被移植在許多平台上,這些平台包括Linux、Windows FreeBSDMacintosh等。
4、解釋性:Python語言寫的程序不需要編譯成二進制代碼可以直接從源代碼運行程序。
5、可擴展性:Python本身被設計為可擴充的並非所有的特性和功能都集成到語言核心。 Python提供了豐富的API和工具以便程序員能夠輕松地使用C語言、C++Cython來編寫擴充模塊。達內教育開設Python人工智慧與數據分析實戰課,因材施教課程設計 滿足不同人員學習需求,OMO線上線下同步教學,因材施教分級教學。
想了解更多有關python語言的詳情,推薦咨詢達內教育。達內教育具有豐厚的師資力量,優秀的教學體系,教學質量突出,實戰講師,經驗豐富,理論知識+學習思維+實戰操作,打造完整學習閉環。達內教育獨創TTS8.0教學系統,並設有企業雙選會。達內的OMO教學模式,全新升級,線上線下交互學習,直播學,隨時學,隨時問,反復學,讓學員學習更便捷。感興趣的話點擊此處,免費學習一下
❻ python的思維邏輯怎麼樣
Python作為一門強大的面向對象,程序設計,類似於現在主流的其他設計語言。它可以勝任程序開發的各個方面,無論是從入門級還是到專業級的科學計算。#我要學Python#
人工智慧
為什麼學習Python
Python越來越熱了,以後會加入全國計算機等級考試,還有傳說是連高考也會加入Python相關的一些內容。目前想做一系列課程,主要是給小學階段的學生們學習Python的,所以會介紹的盡可能簡單。
❼ python軟體開發工程師的邏輯思維可以怎麼培養
程序員邏輯思維的培養對軟體工程非常重要,思維快的能快速編寫邏輯代碼。可以從一下幾個方面進行慢慢培養。
第一:明確學習目的
邏輯思維學習編程對多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
第二打好基礎,學好基礎知識對我們開發也很重要學編程要具備一定的基礎,總結之有以下幾方面:
首先是數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
其次是邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。最後是選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
第三:注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
第四:掌握編程思想,編程思想使用較多的就是oop編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
第六:多實踐、多交流,一切思維來自項目開發的積累
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
第七:養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使
程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
第八:上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載
8.加強計算機理論知識的再學習
思維培養學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以
開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數
學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機
原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
這就是總結出來的思維培養模式,希望能幫到你,謝謝!
❽ 請問下學習python需要注意什麼
當我們進行Python學習的時候,一定要保持良好的邏輯思維能力,雖然說Python適合零基礎人員學習,但是學習的時候也需要較強的思維能力。
同時,Python所操作的對象可能是進行數據收集的,可能是人工智慧開發,在這方面數理化基礎也需要不斷積累提升。
簡單的來說,當我們進行Python學習的時候,一定要多看視頻、多聽老師講解,老師教授的內容都比較細致到位,可以讓我們少走彎路,在學習過程中也一定要記筆記。
學習Python,進行編程的時候,千萬不要抄寫代碼,寫代碼一定要有自己的思路,這樣學習起來才可以起到更好的作用。
對於任何人來說,做編程,一定要有自己的編程風格。
在平時學習過程中,將自己的內容做成筆記,平時多看看博客,多寫寫代碼,多與大家進行交流學習,要記住多寫多練,是學習任何一種語言非常有效的辦法,平時一定要多進行實戰項目操作。
❾ 初學者如何學習python如何快速從Python小白到初級Python工程師
制定目標
我的學習歷程:我想免費學習Python,因此我必須養成每天的學習習慣(每天4個小時),甚至要利用我的周末。我的總體規劃是設定目標並追逐目標。我為7個星期設定了7個目標!
第1周
我的第一周目標-(Python基礎知識)作為初學者,我們的第一周目標應該是-熟悉Python基礎知識,例如變數,條件,列表,循環,函數。(好奇並探索您可以使用Python進行的操作)。由於我想免費學習python,所以我開始在互聯網上進行挖掘,幸運的是發現了一個Python備忘單,對我有很大幫助。
第2周
第二周目標-(提高我的編碼能力)解決100多個編碼問題。反向字元串,迴文,GCD,合並排序數組,If-then-else語句,循環,函數和python軟體包問題。「越努力,您就會成為更好的開發者」
第3周
第三周目標-(了解數據結構和演算法),提升您的技能和知識,並學習基礎知識,例如堆棧,隊列,元組,樹,字典,鏈接列表,搜索(線性和二進制搜索),遞歸函數(階乘,斐波那契數列),排序(氣泡排序,選擇排序)和時間復雜度(線性,二次和常數)。
第4周
第四(探索Python庫)Python之所以在開發人員中如此受歡迎,是因為其令人贊嘆的庫可供用戶使用。您可以使用的一些最常見的庫是Numpy,Scipy,Scikit-learn,Theano,TensorFlow,Keras,PyTorch和Pandas。
OpenCV是計算機視覺庫,可為您提供圖像處理功能!很酷吧?
SimpleCV,另一個CV庫,本質上是OpenCV的子集,但學習曲線要低得多。
我發現個驚人的博客約有56個Python庫。
PyGame,一個游戲開發庫,可讓您製作出色的游戲。
第5周
第五周目標-(學習Python框架)您必須學習至少3個流行的框架。閱讀框架文檔,在B站上找到視頻教程。必須以Numpy,Django,pandas和Scrapy開頭。
Django-一個Web應用程序框架。從這里您可以學習Django。
Flask(Python Microframework),另一種流行的Web應用程序框架,更加扎實(因此更加靈活)的Web應用程序開發方法
第6周
第六周目標-(從事Python項目)這是最重要的。在這里,您必須測試並應用您的知識。在第6周,您要做的就是至少處理3個python項目。我知乎分享了我以前的答案,您將在這里獲得一些適合初學者和中級學習者的出色python項目:使用Python構建的一些出色項目?
第7周
第七周目標-(Python面試練習)恭喜!現在,您擁有在全球任何一家技術公司中申請任何軟體工程工作所需的資源。現在,練習您的軟技能,並盡可能練習面試問題。
❿ 如何系統地自學 Python
是否非常想學好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔心學習成本太高,心裡默默敲著退堂鼓?
幸運的是,Python 是一門初學者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。
Python 的設計哲學之一就是簡單易學,體現在兩個方面:
語法簡潔明了:相對 Ruby 和 Perl,它的語法特性不多不少,大多數都很簡單直接,不玩兒玄學。
切入點很多:Python 可以讓你可以做很多事情,科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,總有一個是你感興趣並且願意投入時間的。
廢話不多說,學會一門語言的捷徑只有一個: Getting Started
¶ 起步階段
任何一種編程語言都包含兩個部分:硬知識和軟知識,起步階段的主要任務是掌握硬知識。
硬知識
「硬知識」指的是編程語言的語法、演算法和數據結構、編程範式等,例如:變數和類型、循環語句、分支、函數、類。這部分知識也是具有普適性的,看上去是掌握了一種語法,實際是建立了一種思維。例如:讓一個 Java 程序員去學習 Python,他可以很快的將 Java 中的學到的面向對象的知識 map 到 Python 中來,因此能夠快速掌握 Python 中面向對象的特性。
如果你是剛開始學習編程的新手,一本可靠的語法書是非常重要的。它看上去可能非常枯燥乏味,但對於建立穩固的編程思維是必不可少。
下面列出了一些適合初學者入門的教學材料:
廖雪峰的 Python 教程 Python 中文教程的翹楚,專為剛剛步入程序世界的小白打造。
笨方法學 Python 這本書在講解 Python 的語法成分時,還附帶大量可實踐的例子,非常適合快速起步。
The Hitchhiker』s Guide to Python! 這本指南著重於 Python 的最佳實踐,不管你是 Python 專家還是新手,都能獲得極大的幫助。
Python 的哲學:
學習也是一樣,雖然推薦了多種學習資料,但實際學習的時候,最好只選擇其中的一個,堅持看完。
必要的時候,可能需要閱讀講解數據結構和演算法的書,這些知識對於理解和使用 Python 中的對象模型有著很大的幫助。
軟知識
「軟知識」則是特定語言環境下的語法技巧、類庫的使用、IDE的選擇等等。這一部分,即使完全不了解不會使用,也不會妨礙你去編程,只不過寫出的程序,看上去顯得「傻」了些。
對這些知識的學習,取決於你嘗試解決的問題的領域和深度。對初學者而言,起步階段極易走火,或者在選擇 Python 版本時徘徊不決,一會兒看 2.7 一會兒又轉到 3.0,或者徜徉在類庫的大海中無法自拔,Scrapy,Numpy,Django 什麼都要試試,或者參與編輯器聖戰、大括弧縮進探究、操作系統辯論賽等無意義活動,或者整天跪舔語法糖,老想著怎麼一行代碼把所有的事情做完,或者去構想聖潔的性能安全通用性健壯性全部滿分的解決方案。
很多「大牛」都會告誡初學者,用這個用那個,少走彎路,這樣反而把初學者推向了真正的彎路。
還不如告訴初學者,學習本來就是個需要你去走彎路出 Bug,只能腳踏實地,沒有奇跡只有狗屎的過程。
選擇一個方向先走下去,哪怕臟丑差,走不動了再看看有沒有更好的解決途徑。
自己走了彎路,你才知道這么做的好處,才能理解為什麼人們可以手寫狀態機去匹配卻偏要發明正則表達式,為什麼面向過程可以解決卻偏要面向對象,為什麼我可以操縱每一根指針卻偏要自動管理內存,為什麼我可以嵌套回調卻偏要用 Promise...
更重要的是,你會明白,高層次的解決方法都是對低層次的封裝,並不是任何情況下都是最有效最合適的。
技術涌進就像波浪一樣,那些陳舊的封存已久的技術,消退了遲早還會涌回的。就像現在移動端應用、手游和 HTML5 的火熱,某些方面不正在重演過去 PC 的那些歷史么?
因此,不要擔心自己走錯路誤了終身,堅持並保持進步才是正道。
起步階段的核心任務是掌握硬知識,軟知識做適當了解,有了穩固的根,粗壯的枝幹,才能長出濃密的葉子,結出甜美的果實。
¶ 發展階段
完成了基礎知識的學習,必定會感到一陣空虛,懷疑這些語法知識是不是真的有用。
沒錯,你的懷疑是非常正確的。要讓 Python 發揮出它的價值,當然不能停留在語法層面。
發展階段的核心任務,就是「跳出 Python,擁抱世界」。
在你面前會有多個分支:科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,這些都不是僅僅知道 Python 語法就能解決的問題。
拿爬蟲舉例,如果你對計算機網路,HTTP 協議,HTML,文本編碼,JSON 一無所知,你能做好這部分的工作么?而你在起步階段的基礎知識也同樣重要,如果你連循環遞歸怎麼寫都還要查文檔,連 BFS 都不知道怎麼實現,這就像工匠做石凳每次起錘都要思考錘子怎麼使用一樣,非常低效。
在這個階段,不可避免要接觸大量類庫,閱讀大量書籍的。
類庫方面
「Awesome Python 項目」:vinta/awesome-python · GitHub
這里列出了你在嘗試解決各種實際問題時,Python 社區已有的工具型類庫,如下圖所示:
vinta/awesome-python
你可以按照實際需求,尋找你需要的類庫。
至於相關類庫如何使用,必須掌握的技能便是閱讀文檔。由於開源社區大多數文檔都是英文寫成的,所以,英語不好的同學,需要惡補下。
書籍方面
這里我只列出一些我覺得比較有一些幫助的書籍,詳細的請看豆瓣的書評:
科學和數據分析:
❖「集體智慧編程」:集體智慧編程 (豆瓣)
❖「數學之美」:數學之美 (豆瓣)
❖「統計學習方法」:統計學習方法 (豆瓣)
❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)
❖「數據科學實戰」:數據科學實戰 (豆瓣)
❖「數據檢索導論」:信息檢索導論 (豆瓣)
爬蟲:
❖「HTTP 權威指南」:HTTP權威指南 (豆瓣)
Web 網站:
❖「HTML & CSS 設計與構建網站」:HTML & CSS設計與構建網站 (豆瓣)
...
列到這里已經不需要繼續了。
聰明的你一定會發現上面的大部分書籍,並不是講 Python 的書,而更多的是專業知識。
事實上,這里所謂「跳出 Python,擁抱世界」,其實是發現 Python 和專業知識相結合,能夠解決很多實際問題。這個階段能走到什麼程度,更多的取決於自己的專業知識。
¶ 深入階段
這個階段的你,對 Python 幾乎了如指掌,那麼你一定知道 Python 是用 C 語言實現的。
可是 Python 對象的「動態特徵」是怎麼用相對底層,連自動內存管理都沒有的C語言實現的呢?這時候就不能停留在表面了,勇敢的拆開 Python 的黑盒子,深入到語言的內部,去看它的歷史,讀它的源碼,才能真正理解它的設計思路。
這里推薦一本書:
「Python 源碼剖析」:Python源碼剖析 (豆瓣)
這本書把 Python 源碼中最核心的部分,給出了詳細的闡釋,不過閱讀此書需要對 C 語言內存模型和指針有著很好的理解。
另外,Python 本身是一門雜糅多種範式的動態語言,也就是說,相對於 C 的過程式、 Haskell 等的函數式、Java 基於類的面向對象而言,它都不夠純粹。換而言之,編程語言的「道學」,在 Python 中只能有限的體悟。學習某種編程範式時,從那些面向這種範式更加純粹的語言出發,才能有更深刻的理解,也能了解到 Python 語言的根源。
這里推薦一門公開課
「編程範式」:斯坦福大學公開課:編程範式
講師高屋建瓴,從各種編程範式的代表語言出發,給出了每種編程範式最核心的思想。
值得一提的是,這門課程對C語言有非常深入的講解,例如C語言的范型和內存管理。這些知識,對閱讀 Python 源碼也有大有幫助。
Python 的許多最佳實踐都隱藏在那些眾所周知的框架和類庫中,例如 Django、Tornado 等等。在它們的源代碼中淘金,也是個不錯的選擇。
¶ 最後的話
每個人學編程的道路都是不一樣的,其實大都殊途同歸,沒有迷路的人只有不能堅持的人!
希望想學 Python 想學編程的同學,不要猶豫了,看完這篇文章,
Just Getting Started !!!