教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

零基礎(chǔ)如何學(xué)好Python?

更新時(shí)間:2018年12月07日11時(shí)24分 來(lái)源:傳智播客 瀏覽次數(shù):

  零基礎(chǔ)如何學(xué)好Python?其實(shí)零基礎(chǔ)學(xué)好python很簡(jiǎn)單,python進(jìn)階需要花費(fèi)寫氣力,都說(shuō)Python簡(jiǎn)單易學(xué),那么零基礎(chǔ)如何學(xué)好Python?有哪些必須學(xué)的知識(shí)?學(xué)習(xí)的策略技巧有哪些?看傳智播客怎么說(shuō)

  Python上手很容易, 基本有其他語(yǔ)言編程經(jīng)驗(yàn)的人可以在1周內(nèi)學(xué)會(huì)Python最基本的內(nèi)容.(PS:沒(méi)有基礎(chǔ)的人也可以直接學(xué)習(xí),速度會(huì)慢一點(diǎn))

python培訓(xùn)

  它們包括:

  1.常用內(nèi)置類型(int, float, bool, bytes, str, list, dict, set)的使用.

  2.分支if-else 循環(huán)while 迭代for的語(yǔ)法.

  3.def定義函數(shù), 調(diào)用函數(shù).

  再花一周的時(shí)間學(xué)習(xí)下面的知識(shí)點(diǎn)

  1.類

  2.異常

  這個(gè)時(shí)候你就可以說(shuō)自己已經(jīng)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.類屬性和實(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ū)ο?/p>

  上述都是語(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)程多線程處理 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.寫一些自動(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ù)莓派小車(電機(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編寫桌面應(yīng)用.

  12.使用scipy, matplotlib做科學(xué)計(jì)算.

  13.使用Python做滲透測(cè)試.

  ......

 傳智播客建議選擇小項(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í)話題可以繼續(xù)學(xué)習(xí):

  1.裝飾器

  2.元類

  這些高級(jí)話題在開(kāi)發(fā)框架中經(jīng)常使用, 它們可以幫你創(chuàng)建更靈活的代碼。

  通常自稱一個(gè)月光速學(xué)了會(huì)Python的人基本都不是天才, 只是浮躁, 目標(biāo)定的比較低而已.

  不要太過(guò)急功近利, 慢慢玩, 精進(jìn)。

  如果你覺(jué)著編程有趣, 成長(zhǎng)也就不再痛苦, 祝學(xué)習(xí)愉快.

  最后,如果你是一個(gè)純純的小白,那么自學(xué)是不太現(xiàn)實(shí)的,可以直接來(lái)傳智播客進(jìn)行python培訓(xùn),詳盡的python培訓(xùn)課程,從python編程基礎(chǔ)入門,到項(xiàng)目實(shí)戰(zhàn)......

0 分享到:
和我們?cè)诰€交談!