首頁>Club>
需要看什麼書入門?
7
回覆列表
  • 1 # 學霸鬧鐘

    python自學是有一些難度的,當然,如果你現在只想入門,等工作後再同時學習的話,入門是沒問題的。但就是不知道你有程式設計和計算機方面的基礎嗎?比如,學過《計算機基礎》、《C語言》、《資料結構》、《作業系統》這些課嗎?我在這裡假設你沒有接觸過。

    學習程式設計是一項長期戰鬥的過程,尤其自學,希望你不要腦子一熱,買教程,看影片,沒過幾天,熱情就褪去了,最後完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。

    學習python,可以找什麼工作

    Python 程式設計有很多方向,有網路爬蟲、資料分析、Web開發、測試開發、運維開發、機器學習、人工智慧、量化交易等等,各個方向都有特定的技能要求,比如學資料分析就要重點掌握統計學、SQL 等知識,搞運維就要非常熟悉 Linux 系統,所以你首先要清楚你選擇的是什麼方向,這個方向有哪些知識是需要重要掌握的。

    這裡只舉2個例子【如下圖】。如果你想從事具體的工作,想了解最新的行業資訊,給你教一個辦法,直接看網上該職位的招聘要求,你就能知道企業的要求。這樣學習,就會有一個方向,知道自己學到什麼程度,就可以工作了。剩下的深入學習,你可以和工作同時進行。先解決自己的生存問題。

    選擇程式設計環境

    Python2 還是 Python3?

    很多人都在糾結入門應該學 Python2 還是 Python3。這其實不是個問題。我從沒聽過某個人是 Python2 程式設計師或 Python3 程式設計師。二者只是程式不相容,思想上並無大差別,語法變動也並不多。選擇任何一個入手,都沒有大影響。

    如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。

    編輯器該如何選?

    我推薦 pycharm 社群版,配置簡單、功能強大、使用起來省時省心,對初學者友好。並且還是完全免費的!

    其他可以嘗試的編輯器:idle、vs code、atom、SublimeText、notepad++

    作業系統?

    Python 支援現有所有主流操作平臺,不管是 windows 還是 mac 還是 linux,都能很好的執行 Python。並且後兩者都預設自帶 Python 環境。

    制定學習計劃

    因為你要自學,我在這裡先說一下如何入門?至於進階過程,以後再補上。

    注意,在學習過程中遇到的每一個示例程式碼,都自己敲一遍【這裡不是簡單的複製,是要懂為什麼這麼寫】。要學好程式設計的最好辦法就是堅持、多練、多思考。

    入門教程

    《Crossin的程式設計教室 - Python 入門》

    自認為算得上是最淺顯易懂的入門教程,很適合沒有任何程式設計基礎的人上手。

    練習

    Crossin的程式設計教室 - 基礎練習《父與子的程式設計之旅》 又名 《與孩子一起學程式設計》《簡明 Python 教程》

    以上我推薦的,是適合零基礎的新手。如果你有其他的教程或者書,也可以推薦給大家。

    書籍

    廖雪峰的Python教程Python 核心程式設計Python 標準庫Python 程式設計指南學習網站codecademycodeschool網易雲課堂

    入門階段先到這裡,這個階段,你需要大量的練習。學習完所有的課程後,會進入一個瓶頸,那你就可以試著做一些小專案。專案不一定非要是商業合作,網上有一些經典專案,在百度上搜就可以了。

    最後,放上兩張知識體系圖。

  • 2 # 兄弟連

    第一階段 Python基礎(180+課時)

    主要內容涉及技術課程詳情

    Python概 述

    Python簡史Python應用場景Python當前發展

    主要涉及到Python的基本介紹,學生應該瞭解Python的歷史,當前發展現狀等

    語法基礎

    變數型別分支語句迴圈語句

    主要涉及Python基本的語句基礎,案例以殭屍隨堂案例為主,學生應該熟練掌握Python的語句使用,理解分支迴圈的含義

    函 數

    函式初步細說引數變數作用域遞迴呼叫

    主要涉及自定義函式的各個方面,學生應該能從程式執行角度理解函式的各個問題。 此階段後學生應該能解決基本的一些演算法問題,比如百錢百雞問題,漢諾塔問題。案例以講師隨堂案例為主

    面向物件程式設計(OOP)

    OOP基礎公有私有問題繼承組合& Mixin

    主要涉及OOP基礎知識,學習後應該能自己處理OOP問題,具有初步軟體工程知識並樹立模組化程式設計思想。案例以隨堂案例為主

    資料結構初 步

    列表(list)元組(tuple)字典(dict)集合(set)

    涉及知識點為幾個常見Python內建資料結構。需要學生不僅能使用,還要從記憶體角度理解資料的儲存狀態。案例以隨堂案例為主

    異常處理

    異常概述try/exceptFinallyRaisewith

    涉及異常的全部知識都在本模組介紹。學生學習後應能夠使用異常並能夠在程式中有意識的丟擲異常來加固程式的可用性。案例以隨堂案例為主

    專案案例

    專案案例1: 計算器專案案例2: 隨機抽獎專案案例3: 壓縮軟體專案案例4: 猜數字

    需要學生徹底理解案例邏輯,並能夠按照講解案例開發出功能類似產品

    參考資料

    專案案例1: 計算器專案案例2: 隨機抽獎專案案例3: 壓縮軟體專案案例4: 猜數字

    需要學生徹底理解案例邏輯,並能夠按照講解案例開發出功能類似產品

    擴充套件課程

    Linux系統運維Python圖形介面(GUI)開發(qt或者tkinter任選)

    Linux運維課後學生應該能夠自行安裝,搭建平臺,開發環境,並具有一定的專業運維知識,GUI課程後學生應能夠獨立完成桌面軟體介面的開發

    參考資料

    Python基礎教程(第二版 修訂版),Magnus Lie Hetland 著,人民郵電出版社 零基礎入門學習Python,小甲魚 編著, 清華大學出版社 Head First Python(中文版), Paul Barry 著, 中國電力出版社

    第二階段 Python高階特性(200+課時)

    主要內容涉及技術課程詳情

    Python模 塊

    模組基本使用搜索路徑問題DIY自己的模組

    學生能夠自己編寫模組並能使用任何第三方模組完成自己的業務處理。案例以隨堂案例為主

    除錯技術

    除錯技術簡介Pdb除錯Pycharm中的除錯

    學習除錯技術上學生應能夠手動除錯複雜程式,學會追蹤錯誤,並逐步養成錯誤判斷直覺,提高自己程式設計效率。案例以隨堂案例為主

    魔法函式

    魔法函式概述構造類魔法函式運算類魔法函式

    本模組介紹python強悍的oop能力,為面向物件程式設計插上想象的翅膀。 案例以隨堂案例為主

    多執行緒

    多執行緒/程序簡介Python的多執行緒Python的多程序

    本模組介紹python多執行緒處理,因為IO瓶頸等問題,程式需要多路執行以求增加執行效率,學完學生應掌握一定的多執行緒開發能力,並學會處理由併發執行程式帶來的協程問題。案例以多執行緒下載為主

    Net程式設計

    Socket程式設計Mail處理

    本模組講述python的net程式設計方法,涉及到底層的socket程式設計,並能夠根據業務自動傳送mail等。案例以多人聊天室,監控報警系統,webserver模擬器為主

    序列化

    檔案(file)處理XML程式設計Pickle模組

    此模組講述資料的本地存取問題。學生應能夠獨立完成資料的本地存取,並具備對資料進行格式化的能力。案例以隨堂案例為主

    其他常用模組

    commandssys模組os模組timerandom

    本章介紹其他一些常用模組,包含目錄處理,時間函式,系統引數處理等功能,此類模組使用頻率高,但相對內容較少,所以集中介紹。案例以隨堂案例為主

    擴充套件課程

    Pygame讓學生接觸python遊戲程式設計的世界。API讓學會接入第三方的功能進行開發

    專案案例

    專案案例1:飛機大戰(OOP,GUI)專案案例2: WebServer模擬(HTTP協議)專案案例3: 多執行緒下載器(多執行緒, Net)專案案例4: 自動郵件傳送軟體(Net程式設計)專案案例5: 聊天室(Net程式設計)專案案例6: 虛擬幣套利工具(API的使用)

    參考資料

    Python網路程式設計基礎,John Goerzen 著, 電子工業出版社

    第三階段 軟體核心演算法&全棧技術(185+課時)

    程式碼規範

    介紹python編碼的常用程式碼規範

    主要內容涉及技術課程詳情

    資料結構

    常見資料結構雜湊(Hash)表常見查詢演算法

    介紹常見資料結構和相應演算法,注重表結構的處理,樹結構的處理和散列表等知識。學完後學生會具備一定的資料結構和演算法能力,勝任常見全棧開發工作。案例以隨堂案例為主

    設計模式

    單例模式策略模式觀察者模式

    設計模式是軟體工程師的基本功之一,學完本模組後學生會掌握常見設計模式的應用,並具備舉一反三的能力,迅速適應工作場景中使用的其他設計模式。案例以隨堂案例為主

    版本控制

    版本控制原理Git版本控制

    版本控制介紹,培養學生養成版本控制的意識和能力。案例Github和subversion使用為主

    資料庫簡介

    對資料庫的發展脈絡,當前狀況等做一個簡單介紹,包括資料庫的簡史,發展,現行市場狀況,分類,比較等內容

    Mysql

    Mysql簡介Mysql常用操作事物處理常見約束Python中的Mysql

    透過對sql的學習,學生會常用資料庫設計,達到中級應用開發水平。案例以隨堂案例為主

    MongoDB

    NoSQL簡述MongoDB常用操作Pymongo

    學生學完可以用python直接操作MongoDB資料庫,並能完成一定的開發專案。此處以隨堂案例為主

    Redis

    Redis概述Redis常用操作

    學習後,學生不僅會具有此類資料庫的開發能力,還要對此類資料庫有一定的理解能力和模仿能力。案例以隨堂案例為主

    其他常用模組

    commandssys模組os模組timerandom

    本章介紹其他一些常用模組,包含目錄處理,時間函式,系統引數處理等功能,此類模組使用頻率高,但相對內容較少,所以集中介紹。案例以隨堂案例為主

    HTML

    Web技術原理HTML概述文字處理影象和超連結表格表單

    本模組要求掌握HTML的開發知識,學完後學生會具備網際網路商業網頁的模仿能力。案例以隨堂案例為主

    CSS

    CSS概述CSS語法CSS選擇器CSS宣告

    透過本模組的學習掌握前端頁面的佈局知識,學生學習完畢後應具備網際網路商業網頁的佈局。案例以隨堂案例為主

    Javascript

    概述基礎語法內建物件外部物件Window物件Document物件事件

    透過本模組的學習,學生不僅能夠掌握js在網路前端中的使用,還需要把js作為一門通用語言來運用,為學生將來從事全棧工作打下堅實的基礎。案例以隨堂案例為主

    Ajax

    Ajax工作原理Ajax物件使用Ajax非同步請求

    透過本模組的學習,學生們能夠理解ajax的工作原理並能夠使用ajax和後臺框架通訊。案例結合框架案例進行學習

    jQuery

    jQuery概述jQuery基本使用jQuery物件

    jQuery作為最流行的js框架,功能完善使用簡潔,學生透過本模組的學習,需要具備jQuery商業級開發的能力。案例以隨堂案例為主

    擴充套件課程

    MemcachedBootstrap其他常見設計模式

    透過Memcached可以跟Redis形成對比,二者屬於同一型別資料庫。 Bootstrap作為最流行的前端css框架,學生可以利用Bootstrap快速搭建商業級應用網頁

    專案案例

    專案案例1: 商城介面模擬 說明: 本模組因為都是後面課程的基礎部分,所以案例較少,大部分實用操作都融入到後面課程的工程專案中

    參考資料

    http://v3.bootcss.com/bootstrap官方教程資料結構與演算法 Python語言描述, 裘宗燕 著, 機械工業出版社精通Python設計模式, Sakis Kasampalis 著, 人民郵電出版社

    第四階段 WEB框架(200+課時)

    主要內容涉及技術課程詳情

    Django

    Django的路由模組Django中的ViewORM在django中的應用模板系統介紹Django常用安全控制RESTful程式設計技術

    Django作為重量級模組給大家第一個介紹,透過本模組的學習,學生完全掌握後臺開發的流程和知識點,具備企業級django後臺開發能力。案例以線上商城為主

    Tornado

    Tornado的路由Tornado使用的模板系統Views模組Tornado對資料庫的支援Tornado的非同步處理

    透過對本模組的學習,學生們需要掌握tornado的商業後臺開發流程並具備解決問題的能力。案例為Github開源專案

    專案案例

    專案案例1:線上商城專案案例2:開源線上服務系統專案案例3:Tornado Web後臺處理

    透過案例的學習,掌握後端伺服器開發的常用知識,不僅具備自行開發線上系統的能力,還能快速上手其他陌生框架

    擴充套件課程

    Flask框架RESTful開發Celery使用

    Flask作為常用web框架以靈活小巧著稱,學生已經具備django和tornado知識,學習flask會非常順暢。同時,作為軟體工程師基本素質,應該嫻熟掌握RESTful開發規範

    參考資料

    Python新手使用Django架站的16堂課,何敏煌 著,清華大學出版社Django官方文件Flask官方文件Python高效開發實戰: Django,Tornado,Flask,Twisted, 劉長龍 著, 電子工業出版社Python web開發實戰,董偉明 著, 電子工業出版社

    第五階段 大資料 & 人工智慧(200+課時)

    主要內容涉及技術課程詳情

    爬 蟲

    爬蟲原理Urllib爬取技術Requests爬取技術Scrapy框架

    學生需要掌握全面的爬取技術,利用urllib,requests或者scrapy框架,具備根據業務需求自主爬取資訊的能力,案例根據不同的工具選擇不同的網路資訊,以完整爬取資訊為目的,學生或者講師自由選擇

    大資料

    資料科學簡介資料操作工具使用資料呈現工具使用基本資料分析演算法

    學生透過本模組的學習,需要全面瞭解資料分析領域,不僅需要會使用基本工具完成資料的清洗,操作工作,還要掌握一定的基礎演算法,能夠勝任資料分析領域中級甚至中級以上崗位。設計知識點為pandas,numpy,scipy,matplotlib,gephi等。案例為當前某知識圖譜專案擷取資料分析模組,或者北京某知名跨境電商銷售資料的挖掘和分析(二選一)

    人工智慧(AI)

    人工智慧簡介Tensoflow使用AI演算法

    本模組側重於對Tesnsoflow的使用和理解,透過基本演算法的學習,能夠利用Tensoflow完成基礎案例的開發。本模組案例為筆記識別,車牌號碼識別(二選一)

    專案案例

    專案案例1:知識圖譜繪製(某創業專案)專案案例2:跨境電商BI資料分析專案案例3:手寫筆跡識別專案案例4:元器件識別系統專案案例5:爬蟲爬取網際網路資料

    本模組案例基本都是實際專案中擷取一段,拆解給學生並最終由學生們復原。學生學完後需要具備從事大資料或者AI的基本從業技能

    講座課程

    Caffe(視學生接受能力而定)

    Caffe的流行不僅是因為它無論在結構、效能上,還是在程式碼質量上,都稱得上一款十分出色的開源框架。更重要的是,它將深度學習的每一個細節都原原本本地展現出來,大大降低了人們學習研究和開發的難度

    參考資料

    利用python進行資料分析, Wes McKinney 著,機械工業出版社深入淺出資料分析, Michael Milton 著,電子工業出版社Tensoflow官方文件中文翻譯版Python網路資料採集,Ryan Mitchell著,人民郵電出版社用Python寫網路爬蟲,Richard Lawson 著,人民郵電出版社

  • 中秋節和大豐收的關聯?
  • 分手五個月後,突然碰見了,我該對她說些什麼?還是直接擦肩而過?