避雷!零基礎(chǔ)菜鳥(niǎo)Python入門(mén)避雷手冊(cè)!
學(xué)習(xí)Python也是有很多坑的,小白需要避免的總結(jié)了以下幾點(diǎn):
學(xué)習(xí)路徑不明確
細(xì)節(jié)不注意,bug找到瘋
學(xué)習(xí)資源喜歡囤幾個(gè)G
半路勸退型
紙上談兵型:沉浸理論學(xué)習(xí),動(dòng)手能力差,不知道如何在實(shí)際的項(xiàng)目中去應(yīng)用,缺乏解決問(wèn)題的能力。
遇到問(wèn)題卡殼:遇到問(wèn)題不知道如何尋找解決辦法,甚至連問(wèn)題都描述不清楚,經(jīng)常被一些細(xì)小的問(wèn)題卡住,學(xué)習(xí)效率不高。

避雷1:勸退坑
知乎關(guān)于 python 學(xué)不下去、學(xué)完容易忘等等問(wèn)題都有百萬(wàn)的閱讀量,關(guān)注這類問(wèn)題的人也有上千,python 從入門(mén)到放棄這似乎是很常見(jiàn)的現(xiàn)象。
這是我寫(xiě)過(guò)回答的一篇帖子:

為什么有這種現(xiàn)象呢?
因?yàn)樗腥嗽谝婚_(kāi)始學(xué)習(xí) python 的時(shí)候就預(yù)估錯(cuò)誤了 python 難度!
雖然小學(xué)生學(xué)習(xí)兩周就能上手的 python,但是,那僅僅是前兩周的學(xué)習(xí)內(nèi)容,越往后那難度基本上都是指數(shù)上漲,像下圖這樣:

所以往往有人學(xué)到第一個(gè)困難拐點(diǎn)的時(shí)候,就不斷的心生退意。
然后開(kāi)始敲起十二級(jí)退堂鼓,本來(lái)準(zhǔn)備轉(zhuǎn)行的人員則想像目前工作也不是不能忍受,本來(lái)準(zhǔn)備求職 python 的伙伴覺(jué)得也不是不能去投銷售崗。
但要知道,只有不斷經(jīng)歷了苦難拐點(diǎn)的學(xué)習(xí)者才能從內(nèi)卷大軍里卷出來(lái),才有資格去卷下一個(gè)賽道。
怎么避坑:
① 戰(zhàn)略上輕視 python,戰(zhàn)術(shù)上重視 python。
② 安排學(xué)習(xí)節(jié)奏,每天或者每周固定學(xué)習(xí)內(nèi)容,養(yǎng)成一種時(shí)間上的慣性。
③ 設(shè)置 deadline,把學(xué)習(xí)目的進(jìn)行分解,按照一個(gè)一個(gè) deadline 去安排任務(wù)。
小白0基礎(chǔ)入門(mén)Python基礎(chǔ)知識(shí)點(diǎn)拆分:1)變量和類型變量的命名、變量的使用、類型的查詢、類型轉(zhuǎn)2)數(shù)字和字符串以及常用的數(shù)據(jù)結(jié)構(gòu)整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)、字符串、字符串的操作3)字符編碼列表的使用:列表的定義、元素的增刪改查、切片、遍歷、下標(biāo)越界;元組的使用:元組的定義、元組與列表的轉(zhuǎn)換、元組的特征等;集合的使用:集合的定義、與列表的區(qū)別。常用操作:交集、并集、差集等;字典的使用:字典的定義、字典的增刪改查、刪除key、遍歷4)運(yùn)算符算數(shù)運(yùn)算符 :+ 、- 、* 、 /、 %、 **、 //比較運(yùn)算符 :== 、!= 、<>、> 、< 、>= 、 <=賦值運(yùn)算符 : =、 += 、-= 、*=、 /= 、%=、**=、 //=邏輯運(yùn)算符 : and、not 、or位運(yùn)算 :& 、| 、 ^、 ~ 、<< 、 >>成員運(yùn)算符:in、not in身份運(yùn)算符:is、 is not運(yùn)算符優(yōu)先級(jí)5)分支結(jié)構(gòu)代碼之間的縮進(jìn)、if-else、if-elif-else、嵌套if(else、elif)6)循環(huán)結(jié)構(gòu)for循環(huán)、while循環(huán)、continu關(guān)鍵字、break關(guān)鍵字、return關(guān)鍵字7)函數(shù)與模塊的使用函數(shù)的作用、def語(yǔ)句、函數(shù)中的列表、魔法參數(shù)、函數(shù)的調(diào)用、函數(shù)的返回值(無(wú)返回值、多個(gè)返回值、單個(gè)返回值),import,from ... import .. , from import ..as8)面向?qū)ο?/span>理解面向?qū)ο螅?/span>面向?qū)ο蟮乃迅杼卣鳎撼橄蟆⒎庋b、繼承、多態(tài);什么是類;類的創(chuàng)建、初始化、實(shí)例化;屬性訪問(wèn);類的繼承;調(diào)用父類的方法;內(nèi)置類屬性。9)文件的操作open() 函數(shù);讀文件的方法:read()、readline()、readlines();文件的路徑;寫(xiě)文件:覆蓋、追加;異常處理(try..except..finally) :FileNotFoundException...;存儲(chǔ)&讀取JSON格式數(shù)據(jù):json.dump()和json.load();數(shù)據(jù)持久化:操作csv、excel10、進(jìn)程與線程進(jìn)程:multiprocessing模塊、進(jìn)程池、進(jìn)程間的通信線程:thread模塊、threading模塊、Lock類、Condition類、Thread類、線程池線程和進(jìn)程的關(guān)系以及區(qū)別并行和并發(fā)同步和異步創(chuàng)建多線程
除此之外還要熟悉熟悉常用的模塊,如re、os、sys、datetime、time、math等,lambda函數(shù),裝飾器,生成器,迭代器,魔法函數(shù),計(jì)算機(jī)網(wǎng)絡(luò),協(xié)議:http協(xié)議、tcp協(xié)議、udp協(xié)議等基礎(chǔ)知識(shí)
④ 及時(shí)梳理學(xué)習(xí)內(nèi)容,做成像下面這樣的思維導(dǎo)圖,構(gòu)造自己的記憶宮殿。

避雷2:目的坑
學(xué)習(xí) python 就像學(xué)習(xí)掄錘,掄錐子砸釘子,如果只知道掄錘子,卻不知道往哪里砸,那掄起起來(lái)豈不是索然無(wú)味?!
部分人學(xué) python 就像跟風(fēng)考研一樣,別人在學(xué)自己也跟著學(xué),沒(méi)有考慮學(xué)python到底是要干嘛,從學(xué)python到下一秒放棄。
三分鐘熱度,因?yàn)橄乱粋€(gè)有意思的東西很快就會(huì)代替 python ,例如 pr、c4d 等等,所以學(xué)習(xí)掄錘子之前至少得有個(gè)釘子~

避坑指南:
明確學(xué)習(xí)目的,不乏找工作、副業(yè)、自媒體、科研任務(wù)、興趣等等,然后再往這些需求的下一層深挖。
越明確學(xué)習(xí)目的,學(xué)習(xí)動(dòng)力越充足。
我之前爬取過(guò)上萬(wàn)條招聘信息,然后深挖分析如何去選擇 python 崗位,以此為參考,明確我需要掌握的技能基礎(chǔ)。

避雷3:細(xì)節(jié)坑
寫(xiě)的代碼過(guò)了些天連自己都不理解是啥意思,剛解決一個(gè) bug,又蹦出來(lái)三個(gè) bug......

想想這樣的細(xì)節(jié)比比皆是;
錯(cuò)誤使用變量,整個(gè)代碼全部都 a、aa、aaa、bbb,最后不僅會(huì)讓接手你代碼的人瘋掉,自己再去讀代碼也會(huì)瘋掉。
不在意格式細(xì)節(jié),時(shí)不時(shí)就少一冒號(hào),或者多一個(gè)空格和 tab。
避坑指南:
① 學(xué)習(xí)掌握編碼規(guī)范,例如學(xué)習(xí) PEP8 編碼規(guī)范
② 多閱讀源碼,不斷進(jìn)階 python 的高階語(yǔ)法

避雷4:資料坑
收藏了 500 本 python 電子書(shū)不代表能學(xué)好 python、保存了 5T 的學(xué)習(xí)資料也不代表能學(xué)好 python......
這是我早期作為學(xué)習(xí)資料收藏家遇到的坑,不然不至于給百度網(wǎng)盤(pán)交那么多會(huì)員費(fèi)!
怎么避坑:
資料三千,只取一份,不一定需要是最全面的那一份~
只要資料骨架最完整的那一份資料,學(xué)完之后,有不會(huì)地方只需要查漏補(bǔ)缺即可,而不是一遍又一遍的從頭學(xué)起。

例如選擇看書(shū),從知乎里爬取了上千條 python 學(xué)習(xí)攻略,再?gòu)氖畮兹f(wàn)字的攻略提取大佬們推薦的 python 書(shū)籍,最后歸納分析獲取最有有用的學(xué)習(xí)書(shū)籍。
只學(xué)推薦次數(shù)最多的那三本書(shū),剩下的書(shū)籍最多學(xué)習(xí)一下目錄,看看有沒(méi)有什么漏掉的部分。
避雷5:是否報(bào)班?
是否要報(bào)班?(ps:家里有礦的可忽略掉這個(gè)坑!)
報(bào)了班就能學(xué)好 python?
報(bào)越貴越能學(xué)到高深的技能?
在普適教育里,難道技能的獲得與學(xué)費(fèi)成正比?
只能笑而不語(yǔ),你品,你細(xì)品......

避坑指南:
是否需要參加培訓(xùn),因人而異。
首先,自學(xué)可以很大程度上鍛煉自己的自制力,想要學(xué)好Python,需要抵住各種誘惑,同時(shí)也節(jié)省了一筆培訓(xùn)費(fèi)。
但是沒(méi)有系統(tǒng)的學(xué)習(xí)路線,學(xué)的很慢,看似節(jié)省了培訓(xùn)費(fèi),其實(shí)浪費(fèi)了大量的時(shí)間成本,有問(wèn)題不知道沒(méi)人幫忙解答,實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn)欠缺,畢業(yè)在找工作的過(guò)程中,是非常看重項(xiàng)目經(jīng)驗(yàn)的。
對(duì)于沒(méi)有任何基礎(chǔ)的人來(lái)說(shuō),通過(guò)培訓(xùn)的方式來(lái)掌握Python是一個(gè)比較現(xiàn)實(shí)的選擇。
雖然Python的語(yǔ)法比較簡(jiǎn)單,但是對(duì)于沒(méi)有基礎(chǔ)的人來(lái)說(shuō),很多概念也很難理解,比如Python中的動(dòng)態(tài)參數(shù)、多重繼承等概念,在理解上還是頗具難度的。
Python語(yǔ)言是動(dòng)態(tài)語(yǔ)言,同時(shí)Python對(duì)編程的格式有嚴(yán)格的要求,對(duì)于初學(xué)者來(lái)說(shuō),這些內(nèi)容都需要一定的時(shí)間才能適應(yīng),如果在學(xué)習(xí)的過(guò)程中能有人指導(dǎo)一下自然會(huì)節(jié)省不少時(shí)間。
越基礎(chǔ)的內(nèi)容,網(wǎng)上資源越是豐盛,而高階的內(nèi)容,由于稀缺不付費(fèi)也很難獲得。
非實(shí)效性高的內(nèi)容沒(méi)必要報(bào)班,例如學(xué)習(xí)數(shù)據(jù)分析相關(guān),你找個(gè)幾年前的代碼,很大概率就能跑起來(lái),但學(xué)習(xí)爬蟲(chóng)這樣,網(wǎng)上隨便找個(gè)去年的代碼都不一定能運(yùn)行成功。

Python無(wú)論是學(xué)習(xí)技能,還是做副業(yè),就像是在一張藏寶地圖上玩游戲一樣,這些過(guò)來(lái)人的經(jīng)驗(yàn)分享、書(shū)籍、學(xué)習(xí)方法等,就像是游戲的攻略,了解存在的坑也能減少restart的次數(shù)。
