新手如何學習Python基礎?該如何正確學習呢?

都說Python簡單易學,那麼Python基礎該如何學習?有哪些必須學的知識?學習中有什麼技巧?今天這篇文章將會給你啓發。程序員

  Python上手很容易, 基本有其餘語言編程經驗的人能夠在1周內學會Python最基本的內容.(PS:沒有基礎的人也能夠直接學習,速度會慢一點),文章最後有免費Python基礎學習資料。正則表達式

  它們包括:算法

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

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

  3.def定義函數, 調用函數.flask

  你再花1周學習些:vim

  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的學習裙【 二二七,四三五,四五零 】,不管你是大牛仍是小白,是想轉行仍是想入行均可以來了解一塊兒進步一塊兒學習!裙內有開發工具,不少乾貨和技術資料分享!但願新手少走彎路

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

  若是你覺着編程有趣, 成長也就再也不痛苦, 祝學習愉快.

  最後,若是你是一個純純的小白,那麼自學是不太現實的,趕忙來找老師學習。從編程基礎入門,到項目實戰,全程老師帶領,不走彎路。

相關文章
相關標籤/搜索