零基礎(chǔ)怎樣學(xué)好Python
人工智能
135已閱讀
2020-08-12 17:03:35
導(dǎo)讀
當(dāng)下Python可以用一個(gè)字來(lái)描述那就是“火”,都說(shuō)Python簡(jiǎn)單易學(xué),吸引著很多年輕人想要學(xué)習(xí),那么零基礎(chǔ)如何學(xué)好Python?有哪些必須學(xué)的知識(shí)?學(xué)習(xí)的策略技巧有哪些?小編為大家找來(lái)了具體的內(nèi)容介紹,一起來(lái)了解下吧。
Python上手很容易,基本有其他語(yǔ)言編程經(jīng)驗(yàn)的人可以在1周內(nèi)Python最基本的內(nèi)容.(PS:沒(méi)有基礎(chǔ)的人也可以直接學(xué)習(xí),速度會(huì)慢一點(diǎn))
它們括:1.常用內(nèi)置類(lèi)型(int,float,bool,bytes,str,list,dict,set)的使用;2.分支if-else循環(huán)while迭代for的語(yǔ)法;3.def定義函數(shù),調(diào)用函數(shù).
你再花1周學(xué)習(xí)些:1.類(lèi);2.異常
此時(shí),有些人就在簡(jiǎn)歷中得意的自稱(chēng)"會(huì)"Python了。
但是學(xué)到如此程度,在實(shí)際編程中會(huì)經(jīng)常遇到挫折,主要源自理解不夠深入,僅僅Python語(yǔ)法和API層面體驗(yàn)了一下
隨意列舉一些新手普遍存在的問(wèn)題:
1.不了解Python對(duì)象模型,變量名,對(duì)象概念含混.
2.不了解可變對(duì)象和不可變對(duì)象,尤其是int.
3.不了解切片意味著拷貝,在循環(huán)中大量使用,影響效率.
4.不了解切片是淺拷貝還是深拷貝.
5.遇到bytes和str(2.7中的str和unicode)就頭暈.
6.經(jīng)常在需要使用is的場(chǎng)景使用==.
7.不了解def是運(yùn)行時(shí)執(zhí)行語(yǔ)句,并且是賦值語(yǔ)句.
8.類(lèi)屬性和實(shí)例屬性混淆.
9.不了解在函數(shù)中修改可變對(duì)象參數(shù)會(huì)對(duì)調(diào)用者產(chǎn)生影響,導(dǎo)致莫名其妙錯(cuò)誤.
10.企圖在函數(shù)中修改全局變量,沒(méi)有使用global,而創(chuàng)建了本地變量.
11.以可變對(duì)象做函數(shù)默認(rèn)參數(shù).
擁有某項(xiàng)技能的程序員的價(jià)值,可以用學(xué)習(xí)技能所需的成本來(lái)衡量.你用2周學(xué)習(xí)達(dá)到的這種程度,對(duì)于企業(yè)就是沒(méi)有價(jià)值的,因?yàn)槔习蹇梢宰屢粋€(gè)公司里任意其他語(yǔ)言的程序員經(jīng)過(guò)2-3周的學(xué)習(xí)就能達(dá)到你現(xiàn)在的程度.
Python的簡(jiǎn)潔易用,快速開(kāi)發(fā)對(duì)項(xiàng)目有價(jià)值,但這不是你的價(jià)值,是Python的價(jià)值.所以提高自身價(jià)值,也就是不讓別人輕易追上你.以極低的成本替代你.
你只能快跑,進(jìn)一步學(xué)習(xí),Python語(yǔ)言層面還需要學(xué)習(xí)下面一些內(nèi)容:
1.使用生成器,迭代器
2.函數(shù)式編程,匿名函數(shù)lambda,map,reduce,filter
3.列表解析,字典解析,集合解析,生成器解析
4.運(yùn)算符重載(setattr,getattr,getitem,gt,lt...)
5.property,描述符(get,set,delete)
6.上下文管理器(enter,exit)
7.深入理解面向?qū)ο?br />
上述都是語(yǔ)言層面的,屬于內(nèi)功.實(shí)戰(zhàn)中當(dāng)然也需要一些更為具體的外功,訓(xùn)練外功可以從熟悉Python標(biāo)準(zhǔn)庫(kù)開(kāi)始,這些模塊能進(jìn)入標(biāo)準(zhǔn)庫(kù)說(shuō)明他們足夠好并且在實(shí)際項(xiàng)目中足夠常用,列舉一些極為常用的:
1.正則表達(dá)式re
2.迭代工具itertools
3.常用數(shù)據(jù)結(jié)構(gòu)collections,heapq,array
4.處理二進(jìn)制數(shù)據(jù)struct
5.隨機(jī)random
6.系統(tǒng)調(diào)用os
7.Python對(duì)象序列化pickle
8.多進(jìn)程多線(xiàn)程處理threading,multiprocessing
9.網(wǎng)絡(luò)socket,urllib
10.系統(tǒng)參數(shù)sys
無(wú)論練習(xí)內(nèi)功或外功,結(jié)合實(shí)戰(zhàn)都是的訓(xùn)練方式和檢驗(yàn)手段,可以根據(jù)個(gè)人情況以及喜好選擇,如:
1.使用django,flask開(kāi)發(fā)網(wǎng)站.
2.開(kāi)發(fā)網(wǎng)絡(luò)爬蟲(chóng)或使用Python爬蟲(chóng)框架(如scrapy).
3.寫(xiě)一些自動(dòng)化運(yùn)維腳本,定時(shí)讀取某軟件log,出現(xiàn)異常自動(dòng)發(fā)郵件.
4.使用selenium對(duì)網(wǎng)站進(jìn)行測(cè)試.
5.使用Python開(kāi)發(fā)樹(shù)莓派小車(chē)(電機(jī),傳感器驅(qū)動(dòng)).
6.使用Python開(kāi)發(fā)Vim插件,如在vim中做一個(gè)音樂(lè)播放器.
7.使用Python做算法題,如leetcode.
8.opencv做圖像識(shí)別.
9.使用numpy和pandas做數(shù)據(jù)處理.
10.使用機(jī)器學(xué)習(xí)庫(kù)sklearn,tensorflow做應(yīng)用.
11.使用PyQt編寫(xiě)桌面應(yīng)用.
12.使用scipy,matplotlib做科學(xué)計(jì)算.
13.使用Python做滲透測(cè)試.
個(gè)人建議選擇小項(xiàng)目進(jìn)行實(shí)訓(xùn),有些新手上來(lái)就想定一個(gè)大目標(biāo),做的時(shí)候很挫折,往往半途而廢.把小東西先實(shí)現(xiàn),然后優(yōu)化.接下來(lái)添加新功能,慢慢迭代把小東西做大.這樣在做的時(shí)候,每實(shí)現(xiàn)一個(gè)小功能你都會(huì)有成就感,激勵(lì)繼續(xù)前進(jìn).
可能經(jīng)過(guò)比較漫長(zhǎng)的一段時(shí)間,你成為了一個(gè)熟練的Python應(yīng)用程序員,還有些高級(jí)話(huà)題可以繼續(xù)學(xué)習(xí):
1.裝飾器
2.元類(lèi)
這些高級(jí)話(huà)題在開(kāi)發(fā)框架中經(jīng)常使用,它們可以幫你創(chuàng)建更靈活的代碼。
通常自稱(chēng)一個(gè)月光速學(xué)了會(huì)Python的人基本都不是天才,只是浮躁,目標(biāo)定的比較低而已.
不要太過(guò)急功近利,慢慢玩,精進(jìn)。
以上就是小編為大家找來(lái)的零基礎(chǔ)怎樣學(xué)好Python的相關(guān)內(nèi)容介紹,有想要學(xué)習(xí)Python技術(shù)的人員可以來(lái)做個(gè)相關(guān)的學(xué)習(xí)了解,希望對(duì)大家有一定的幫助,想要了解更多Python相關(guān)的知識(shí)可以繼續(xù)關(guān)注小編為大家?guī)?lái)的后續(xù)文章更新,南昌中公優(yōu)為學(xué)員設(shè)置Python培訓(xùn)班,歡迎有需要的學(xué)員咨詢(xún)了解。