首頁 >後端開發 >Python教學 >Python學習法則

Python學習法則

巴扎黑
巴扎黑原創
2017-08-03 17:48:401729瀏覽

Python上手很容易, 基本有其他語言程式設計經驗的人可以在1週內學會Python最基本的內容.

它們包括:

1.常用內建型別(int, float, bool, bytes, str, list, dict, set)的使用.

#2.分支if-else 循環while 迭代for的語法.

#3.def定義函數, 呼叫函數.

你再花1週學習些:

1.類別

2.異常

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

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

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

1.不了解Python物件模型, 變數名稱, 物件概念含混.

2.不了解可變物件與不可變物件, 尤其是int.

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

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

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

6.經常在需要使用is的場景使用= =.

7.不了解def是運行時執行語句, 並且是賦值語句.

8.類別屬性與實例屬性混淆.

9.不了解在函數中修改可變物件參數會對呼叫者產生影響, 導致莫名其妙錯誤.

10.企圖在函數中修改全域變數, 沒有使用global, 而創建了本地變數.

#11.以可變物件做函數預設參數.


擁有某項技能的程式設計師的價值, 可以用學習技能所需的成本來衡量.你用2週學習達到的這種程度, 對於企業就是沒有價值的, 因為老闆可以讓一個公司裡任意其他語言的程式設計師經過2-3週的學習就能達到你現在的程度.Python的簡潔易用, 快速開發對專案有價值, 但這不是你的價值, 是Python的價值.所以提高自身價值, 也就是不讓別人輕易追上你. 以極低的成本替代你.


#你只能快跑, 進一步學習, Python語言層面還需要學習下面一些內容:

1.使用生成器, 迭代器

2.函數式程式設計, 匿名函數lambda, map, reduce , filter

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

4.運算子重載(__setattr__, __getattr__, __getitem__, __gt__, __lt__. ..)

5.property, 描述子(__get__, __set__, __delete__)

6.上下文管理器(__enter__, __exit__)

7.深入理解物件導向


上述都是語言層面的,屬於內功.實戰當然也需要一些更為具體的外功, 訓練外功可以從熟悉Python標準庫開始, 這些模組能進入標準庫說明他們足夠好並且在實際項目中足夠常用, 列舉一些極為常用的:

1.正規表示式re

2.迭​​代工具itertools

3.常用資料結構collections, heapq, array

4.處理二進位資料struct

5.隨機random

6.系統呼叫os

7.Python物件序列化pickle

8.多行程多執行緒處理threading, multiprocessing

#9.網路socket, urllib

10 .系統參數sys


無論練習內功或外功,結合實戰都是最好的訓練方式和檢驗手段, 可以根據個人情況以及喜好選擇, 如:

1.使用django, flask開發網站.

2.開發網路爬蟲或使用Python爬蟲框架(如scrapy).

3.寫一些自動化維運腳本, 定時讀取某軟體log, 出現異常自動發送郵件.

4.使用selenium對網站進行測試.

5.使用Python開發樹莓派小車(電機,感測器驅動).

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

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

#8.opencv做圖像識別.

9.使用numpy和pandas做資料處理.

10.使用機器學習函式庫sklearn, tensorflow做應用程式.

11.使用PyQt寫桌面應用程式.

#12.使用scipy, matplotlib做科學計算.

13.使用Python做滲透測試.

##..... .


個人建議選擇小項目進行實踐, 有些新手上來就想定一個大目標, 做的時候很挫折, 往往半途而廢.把小東西先實現, 然後優化. 接下來新增功能, 慢慢迭代把小東西做大. 這樣在做的時候,每實現一個小功能你都會有成就感, 激勵繼續前進.


可能經過比較漫長的一段時間, 你成為了一個熟練的Python應用程式設計師, 還有些高級話題可以繼續學習:

1.裝飾器

2.元類別

這些高階主題在開發框架中經常使用, 它們可以幫你創建更靈活的程式碼.


通常自稱一個月光速學了會Python的人基本上都不是天才, 只是浮躁, 目標定的比較低而已.

不要太過急功近利, 慢慢玩, 精進.

如果你覺著程式設計有趣, 成長也就不再痛苦, 祝學習愉快.

以上是Python學習法則的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn