咨詢熱線 400-001-5729

零基礎(chǔ)怎么學(xué)好Python的

發(fā)布時間:2021-11-27 11:30:50

Python培訓(xùn)

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

它們包括:

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

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

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

你再花1周學(xué)習(xí)些:

1.類

2.異常

此時, 有些人就在簡歷中得意的自稱"會"Python了。

但是學(xué)到如此程度, 在實際編程中會經(jīng)常遇到挫折, 主要源自理解不夠深入, 僅僅Python語法和API層面體驗了一下。

隨意列舉一些新手普遍存在的問題:

1.不了解Python對象模型, 變量名, 對象概念含混。

2.不了解可變對象和不可變對象, 尤其是int。

3.不了解切片意味著拷貝, 在循環(huán)中大量使用, 影響效率。

4.不了解切片是淺拷貝還是深拷貝。

5.遇到bytes和str(2.7中的str和unicode)就頭暈。

6.經(jīng)常在需要使用is的場景使用==。

7.不了解def是運行時執(zhí)行語句, 并且是賦值語句。

8.類屬性和實例屬性混淆。

9.不了解在函數(shù)中修改可變對象參數(shù)會對調(diào)用者產(chǎn)生影響, 導(dǎo)致莫名其妙錯誤。

10.企圖在函數(shù)中修改全局變量, 沒有使用global, 而創(chuàng)建了本地變量。

11.以可變對象做函數(shù)默認(rèn)參數(shù)。

        擁有某項技能的程序員的價值, 可以用學(xué)習(xí)技能所需的成本來衡量.你用2周學(xué)習(xí)達(dá)到的這種程度, 對于企業(yè)就是沒有價值的, 因為老板可以讓一個公司里任意其他語言的程序員經(jīng)過2-3周的學(xué)習(xí)就能達(dá)到你現(xiàn)在的程度。

       Python的簡潔易用, 快速開發(fā)對項目有價值, 但這不是你的價值, 是Python的價值。所以提高自身價值, 也就是不讓別人輕易追上你, 以極低的成本替代你。

你只能快跑, 進(jìn)一步學(xué)習(xí), Python語言層面還需要學(xué)習(xí)下面一些內(nèi)容:

1.使用生成器, 迭代器

2.函數(shù)式編程, 匿名函數(shù)lambda, map, reduce, filter

3.列表解析, 字典解析, 集合解析, 生成器解析

4.運算符重載(setattr, getattr, getitem, gt, lt...)

5.property, 描述符(get, set, delete)

6.上下文管理器(enter, exit)

7.深入理解面向?qū)ο?/span>

        上述都是語言層面的,屬于內(nèi)功.實戰(zhàn)中當(dāng)然也需要一些更為具體的外功, 訓(xùn)練外功可以從熟悉Python標(biāo)準(zhǔn)庫開始, 這些模塊能進(jìn)入標(biāo)準(zhǔn)庫說明他們足夠好并且在實際項目中足夠常用, 列舉一些極為常用的:

1.正則表達(dá)式 re

2.迭代工具 itertools

3.常用數(shù)據(jù)結(jié)構(gòu) collections, heapq, array

4.處理二進(jìn)制數(shù)據(jù) struct

5.隨機 random

6.系統(tǒng)調(diào)用 os

7.Python對象序列化 pickle

8.多進(jìn)程多線程處理 threading, multiprocessing

9.網(wǎng)絡(luò) socket, urllib

10.系統(tǒng)參數(shù) sys

無論練習(xí)內(nèi)功或外功,結(jié)合實戰(zhàn)都是最好的訓(xùn)練方式和檢驗手段,可以根據(jù)個人情況以及喜好選擇, 如:

1.使用django, flask開發(fā)網(wǎng)站。

2.開發(fā)網(wǎng)絡(luò)爬蟲或使用Python爬蟲框架(如scrapy)

3.寫一些自動化運維腳本, 定時讀取某軟件log, 出現(xiàn)異常自動發(fā)郵件。

4.使用selenium對網(wǎng)站進(jìn)行測試。

5.使用Python開發(fā)樹莓派小車(電機,傳感器驅(qū)動)

6.使用Python開發(fā)Vim插件, 如在vim中做一個音樂播放器。

7.使用Python做算法題, 如leetcode。

8.opencv做圖像識別。

9.使用numpy和pandas做數(shù)據(jù)處理。

10.使用機器學(xué)習(xí)庫sklearn, tensorflow做應(yīng)用。

11.使用PyQt編寫桌面應(yīng)用。

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

13.使用Python做滲透測試。

......

       個人建議選擇小項目進(jìn)行實訓(xùn), 有些新手上來就想定一個大目標(biāo),做的時候很挫折, 往往半途而廢。把小東西先實現(xiàn), 然后優(yōu)化。接下來添加新功能,慢慢迭代把小東西做大。這樣在做的時候,每實現(xiàn)一個小功能你都會有成就感, 激勵繼續(xù)前進(jìn)。

       可能經(jīng)過比較漫長的一段時間, 你成為了一個熟練的Python應(yīng)用程序員, 還有些高級話題可以繼續(xù)學(xué)習(xí):

1.裝飾器

2.元類

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

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

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

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

        最后,如果你是一個純純的小白,那么自學(xué)是不太現(xiàn)實的,趕緊來找我們python培訓(xùn)機構(gòu)的老師學(xué)習(xí),詳盡的python培訓(xùn)課程,從python編程基礎(chǔ)入門,到項目實戰(zhàn)......

        本文由培訓(xùn)無憂網(wǎng)達(dá)內(nèi)教育專屬課程顧問整理發(fā)布,希望能夠?qū)ο雽W(xué)習(xí)Python開發(fā)培訓(xùn)的同學(xué)有所幫助。更多Python開發(fā)培訓(xùn)課程歡迎關(guān)注培訓(xùn)無憂網(wǎng)Python開發(fā)培訓(xùn)頻道或添加老師微信:15033336050

以上文章由北京達(dá)內(nèi)教育課程顧問整理編輯發(fā)布,部分文章來自網(wǎng)絡(luò)內(nèi)容真實性請自行核實或聯(lián)系我們,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

免 費 申 請 試 課