想自學Python,請問有人指點一二嗎?

千年小白


首先不知道題主是有一定編程基礎還是小白,如果有一定編程基礎的話,可以直接跳過第一第二步。

首先第一步,尋找學習資源。現在互聯網非常發達,網上的學習資源非常豐富,去找一套培訓機構的系統的學習視頻教程去堅持學習。

第二步,給自己制定一個完整的學習計劃:我要花多長時間把這套課程學習完,能做出什麼東西來。這樣讓自己每天帶著“任務”去學習而不是三天打魚兩天曬網。自學者遇到的最大問題就是遇到困難之後很容易堅持不下去。同時要善於利用搜索引擎自己去解決問題。

第三步:任何語言,從最基本的語法開始學起,就像我們學外語,只有掌握語法才能寫作文。掌握語法之後,開始嘗試自己動手敲,劃重點,一定要跟著敲,這也是初學者最容易犯的錯誤,看著感覺好像會了,但實際自己寫卻寫不出來。所以一定要多敲,找感覺。

第四步:掌握了基本語法之後,進一步去網上找別人的代碼學習(推薦全球最大男性交友社區github.com),看別人怎麼用它做項目。同時自己能做出一些小應用也可以增加成就感。

第五步:前面已經開始入門了,想達到工作的水平,就需要去掌握幾個流行的框架,框架能大大提高我們的開發速度。

第六步:工作了一段時間了,你不甘於當個代碼搬運工,開始對代碼有要求,要自己去創造代碼。這時候就可以去閱讀一些有名項目的源代碼,學習作者優秀的設計思想。然後可以嘗試著去開源社區貢獻自己的代碼,貢獻自己的開源代碼是驅動自己成長最快的方式。


一介p夫


相信大多人在學習Python之前 肯定都自己瞭解過這門語言,也知道Python有很多的學習方向,比如說數據採集方向(爬蟲),或者Web開發方向,也可能是最近特別火熱的人工智能方向。每個方向所需要的技術都是不盡相同的,所以在我們學習完成Python的基礎語法之後,一定要慎重選擇自己之後的進階方向。(推薦學習:Python視頻教程)

學習Python的基礎語言

就像學習其他編程語言或者是學習一門外語一樣 ,我們應該從Python的基礎語法開始學習 ,瞭解什麼是Python的變量 什麼是循環 什麼是函數,什麼是模塊。類等等。總之,基礎是學習以後高級開發的基石。

學習Python的文件操作

學習完基礎之後,我們肯定要進行一些簡單的聯繫。文件的操作是我們不二的選擇,因為無論是文本文件。XML格式的文件還是Office辦公系列的文件。我們統稱之為文件操作。

我們在學習文件操作的時候,要學習文件的寫入和讀取 以及瞭解各種文件之間的讀寫不同知識點。相信在學習完成之後,對於文件的操作 大家一定會得心應手。

學習Python的數據庫編程

在我們學習完成Python的文件操作處理之後 肯定會對於文件的不便性有一定的理解。所以這個時候我們就要學習Python的數據庫編程了。數據庫有Mysql數據庫,Oracle數據庫和Sqlite數據庫。Sqlite數據庫是Python自身擁有的,而其他的數據庫則需要我們安裝相應的操作模塊。

一般,我們學習Mysql數據庫的操作即可。數據庫的增加數據,刪除數據,以及查詢數據 以及對應的SQL語句是我們學習的重點。

學習Python的網絡編程

在我們這個時代 ,相信大多數是離不開互聯網的,我們要學習網絡編程。一般瞭解一下三個方面就可以了。

1.寫出基本的TCP連接,知道編寫TCP的各個步驟,例如創建socket、綁定port、端口複用等,對TCP稍微做了解,知道協議的每個字段,瞭解三次握手

2.瞭解基本的服務器併發模型,例如多進程、多線程、IO復

3.瞭解一些網絡庫例如twisted

更多Python相關技術


2020探索新夢想


你好,老修來分享一下你的問題。

老修是去年自學的Python,剛剛開始選擇的方向是自動化運維,不過現在主要用它來爬一些數據,自己做拍視頻用,為此我特意寫了三篇關於自學的文章(12個月,零基礎自學Python語言心得分享-上篇(內含建議和方法)),你可以參考一下;

那這裡我們談談你說的這個人工智能,這個是有一定門檻的,具體的就不談了,說說如果自學可能性大嗎?可能性比較低,可以很肯定的和你說,我們先來看看它的線路:


學完Python基礎以後,是數據模塊,它需要學些什麼呢?首先需要大專以上,本科這樣的數學基礎,大概有:線性代數,微積分,代數,概率統計學,只是基礎,也沒真讓我們去用它來算;後面對人工智能的Python算法,需要做好幾個模塊,比如Numpy等;那裡邊還有有神經網絡,這裡又有兩個派系,所以需要學的很多,想通過自學,可能性很小,學會了,人家也不一定敢要你。


粗粗的我們就談這些,希望我的回答能幫到你。


紀老修


看你想學多深。

最簡單的是語法,這個網上到處都是。甚至可以直接跟著python官網的入門教程走一遍。而且官網看的都是最新版。(python不同版本還是有些差別的,有些舊版的寫法新版未必適用)如果覺得看文字類的現在視頻網課也很多。特別提示,這一步請重點記住裡面的概念和名稱。這些東西不影響你寫代碼但不熟悉的話後續一些教程看起來吃力。

語法基本瞭解後可以按自己的興趣找些開源代碼。代碼中會涉及一些資源工具包。有些是自帶的有些是三方的。(面向對象的魅力之一就是這些包,實現很多功能未必要自己寫。調用其中功能就好。)這類功能很多,看自己興趣在哪裡多看看別人的。熟悉這些包後可以自己實現一些簡單功能。

接下來可以按自己的喜好了解一些框架或api。比如人臉識別,你可以用google的tf框架實現,也可以直接調用阿里的api。用這些東西可以簡單實現些比較複雜的功能。具體哪種方式好自己多試試比較。至此,大部分功能性的東西都能做了。多寫寫多看看積累經驗。

接下來功夫在詩外了,首先是軟件工程和算法設計。把上述內容比喻成積木的話瞭解各自拼搭的設計原則和總體優劣。然後是數學功底,一般比較常用的是線性代數和離散數學。


跬步求索


1. 明確學習目標,瞭解學習語言的發展背景

學習要有目的性,盲目的學習只能說是浪費精力與時間。

許多初學者在選定編程語言後,會在網上收集一堆網課或是書籍資料,一存就是幾個GB的百度網盤,反正越多越好,越多心裡就會有一種越踏實的錯覺感。但是你會慢慢的發現,存了這麼多視頻,根本沒有那麼多時間全部看完,大部分的視頻僅僅是佔坑罷了!

也有一些同學自律性比較高,挑出某些系列視頻網課,看個前幾章,然後看著看著,就堅持不下去了,學到的只是視頻前奏的皮毛知識點,自己動手編程的時候,還是一臉懵逼,最終放棄了編程。就像上面提到的觀點一樣,盲目學習只會浪費自己的精力與時間。

首先做的事是去了解了 Python 的發展背景。就像負責的網課老師在開頭正式講課之前,會講語言的發展歷史。創始人是誰?名字的由來?迄今為止有多少年的存活歷史了?對應的社區活躍度高不高?到現在最新的版本是多少?涉及的領域有哪些?(說白了就是,能用它幹什麼事情?)

Python 到底可以來幹什麼的?這些問題應是在學習一門編程語言前調研清楚的,古語云:“知己知彼,才能百戰百勝” 都是一個道理。拿 Python 的版本來說,假設你沒有調研,你知道要學習它的 Python2 還是 Python3 嗎?網上的視頻資料都是有時效性的,依然一些視頻採用的還是 Python2 講解。Python2 系列在去年官方就已經放出,將在 2020 年停止維護的通知,既然這樣,那學習 Python2 還有必要嗎?肯定是強烈推薦學習 Python3 了呀,就不要浪費精力和時間在一個即將停止維護的版本上了。


2. 記筆記,畫思維導圖,查文檔

記筆記是一門學文,試問在高中上學時候,為什麼我們需要記筆記呢?就是因為知識量很大,不得不用筆記下來,等到用到的時候便於回顧。現在科學已經很進步了,筆記就不要採用傳統的方式進行記錄了,在學習的過程中,可以使用有道雲筆記這樣的工具來高效率記錄。一邊學習,一邊整理輸出自己的學習筆記。這樣的過程就像計算機處理程序一樣,輸入 -> 思考 -> 輸出。

類似下面:

如果有精力,可以下載一個 xmind 這樣的工具,畫出一個知識點的思維導圖。看過筆者之前文章的,想必看到過思維導圖的出現。思維導圖與文字筆記最大的差別,就是架構分層性。

一份好的思維導圖可以很醒目的將知識點分層展現出來,如正則表達式的文章中:

關於文檔查看這項必備技能,寫 Python 程序中必不可少。大部分時間都是在調用人家寫好的方法或者函數。如何有效的,準確的瞭解你想要的參數,以及參數內容是什麼?必須要學會查詢文檔去得到自己想要的,推薦官方文檔,比較權威且具有時效性。後面會把個人認為權威的文檔整理寫出來。

3. 多動手,鞏固基礎

要明白一個道理“實踐出真理”,往往許多初學者最大的問題就是:我看懂了,不用跟著敲肯定也沒問題!

如果你抱有這種心理,請務必注意,多動手!即使你感覺你會了,相信我,那只是艾賓浩斯記憶曲線在作怪。

一個人剛學習時,信息輸入大腦後,遺忘也就隨之開始了。遺忘率隨時間的流逝而先快後慢,特別是在剛剛識記的短時間裡,遺忘最快,這就是著名的艾賓浩斯遺忘曲線。

剛開始學時,你會覺得百分之百會,你等過20分鐘再試試,等過1個小時後試試!!!所以說,初學者一定要動手敲!只有敲才是王道!敲代碼的過程中,伴隨著大腦回顧的記憶與思考,有時即使照著敲,也是會發生錯誤的,此時正是反思的好機會!切記!!!

就像昨天有位讀者正在練習,對著源代碼敲了一遍,意識到了自己打一遍錯誤百出,這一出錯,糾正之後,肯定收穫也不小!所以動手非常重要!為了保護個人隱私,抹去頭像了(別介意哈):

當你真正動手敲代碼的時候,也許會覺得很浪費時間,但實際上這種學習方法大大提高了攝入知識的效率,以時間換空間的做法,何樂而不為呢?

4. 遇到問題時,合理的利用搜索引擎

在之前的文章中寫過一篇,如何高效的利用搜索引擎。不妨去看看其中介紹的搜索引擎,你在初學過程中遇到的問題,肯定有不少前輩們早已經遇到過了。遇到問題時,首先想到的就是通過搜索引擎去解決,如果自己盡力了還是沒有解決,再去請教別人。比如提問的網站,知乎、慕課網、CSDN等。。。


初更


python 自學就可以 沒必要報學習班。多測試,練習,多讀源碼,github上面有很多 開放的小項目。python 比較流行的框架 flask django。可以從實現一個小網站或者智能識別照片 一個簡單的小需求 來驅動學習。人工智能有很多框架 tensorflow 是主要核心,但是機器學習要求比較高,微積分,概率,導數,這些要學好。如果不會這些,建議往web應用上面走,django + mysql 還是很好學的。


小黑同學


隨著大數據和人工智能的發展,目前Python語言的上升趨勢比較明顯,而且由於Python語言簡單易學,所以不少初學者往往也會選擇Python作為入門語言。

Python語言自身的語法結構還是比較簡單的,即使沒有任何編程語言基礎也能夠學得會,而且Python語言的實驗環境也比較好搭建,所以建議初學者首先嚐試自學一下,這個過程也能夠鍛鍊自己的自學能力。自學能力對於程序員來說還是非常重要的,因為程序員本身就是一個需要終身學習的職業。

自學Python可以分為以下三個階段:

第一:基礎語法學習。Python的基礎語法包括兩大部分,其一是函數式編程部分,其二是面向對象編程部分。函數式部分的內容還是比較簡單的,包括列表、函數、字符串、流控等內容,這部分實驗也比較好理解。面向對象部分則需要具備一定的抽象能力,要理解類的概念以及多態的概念。總的來說,Python的基礎語法部分通常還是比較容易掌握的,初學者大概使用2到3周的時間就能初步掌握。

第二:制定發展方向。Python的應用領域包括Web開發、大數據開發、人工智能開發和嵌入式開發等,對於初學者來說,選擇Web開發方向是比較常見的選擇,一方面Web開發涉及到的知識結構比較全面,另一方面Web開發的技術體系也比較完善,學習案例也比較多。如果數學基礎比較好,也可以選擇大數據方向。

第三:編程實踐。通常來說,在選定完學習方向之後就應該一邊實踐一邊學習,在實踐中學習會有一個較為快速的成長過程。實踐包括兩部分,一部分是驗證實驗,而另一部分則是崗位實習,崗位實習對於學習Python等編程語言還是比較重要的。


數字家居申先生


一個非常好的問題。我是工作多年的Web應用架構師,來回答一下這個問題。歡迎關注我,瞭解更多IT專業知識。


Python自學入門不難,也可以嘗試加入開源項目的開發,真實項目(不同於培訓班),又有人指點,進步會很快。


如果關注AI技術,Python在AI領域是主流開發語言,Django是應用廣泛的開源框架,在開發的一個開源項目AI人臉處理應用,基於Python + Django + Redis + ActiveMQ + Celery,和Java API服務組成一個跨平臺異步任務調度系統,用到的技術棧僅供參考。


整理的Python學習練手源代碼,私信“HelloPython”獲取下載地址。


急速馬力快de源碼客


Python非常容易學,也容易寫。比如:Hello World在Python裡面直接寫Print "hello world.!".


Charles莫比嗨客MbhAi


python基礎很好學的,超簡單,網上很多視頻。人工智能這塊對數學的要求非常非常高,很多東西看起來相當的吃力。


分享到:


相關文章: