當前位置:
首頁 > 科技 > 資源 | 開放Python書籍:一本短小精悍的初學者入門指南

資源 | 開放Python書籍:一本短小精悍的初學者入門指南


選自

GitHub


機器之心整理


參與:思源


 

 



如何快速熟悉 Python 編程一直是很多初學者的疑問,我們經常考慮要不要系統地從頭開始啃 Python 教程,但這種方法不僅非常枯燥且很難堅持。因此,對於很多入門讀者,更好的方式是學習基礎的 Python 編程,然後在實踐中完善代碼技巧。本文介紹了一本非常精鍊的 Python 免費書籍,它不僅有基礎知識,同時每一章節還有非常多的練習與源代碼。




項目地址:https://github.com/joaoventura/full-speed-python




該書是使用實踐方法教授基礎的 Python 編程語言。其方法相當基礎:在簡要介紹每個主題之後,讀者要解答練習題來鞏固知識點。這些練習題都是非常經典的任務,它們可以讓我們在短時間內熟悉 Python 的使用。




本書在第二章介紹了 Python 在各種操作系統上的安裝並依次介紹了最基本的數據結構、數值和字元串、函數和模塊、循環、字典和最後的類與目標。該書每一章都有非常多的配套練習題,且整本書非常短小精悍(22 頁)。在該 GitHub 項目的發布頁中,作者提供了 PDF 和 Epub 兩種閱讀版本和源代碼。




目錄




1 前言




2 安裝


2.1 Windows 上的安裝


2.2 macOS 上的安裝


2.3 Linux 上的安裝




3 基本數據類型

3.1 數值型習題


3.2 字元串型習題


3.3 列表型習題




4 模塊和函數


4.1 數學模塊習題


4.2 函數習題


4.3 遞歸函數


4.4 遞歸函數習題




5 迭代和循環

5.1 循環習題


5.2 while 循環習題




6 字典


6.1 字典習題


6.2 子字典習題




7 類


7.1 類習題


7.2 類繼承


7.3 類繼承習題




Python 的安裝其實非常簡單,方法也非常多,本書介紹的安裝都是不使用 pip 等包管理工具的方法,其它方法還可以安裝 Anaconda 等集成開發環境。




第三章介紹了基本的數據類型與數據結構,如下展示了字元串與列表的基本使用:



  1. >>>

    "Hello"

    ?

    3

  2.  

    HelloHelloHello





字元串執行乘積運算可以複製多次,以下展示了列表的簡單索引方法。



  1. >>>

    l

    =

    [

    a

    』,

    b

    』,

    c

    』,

    d

    』,

    e

    』]

  2. >>>

    l

    [

    1

    :

    3

    ]

  3. [

    b

    』,

    c

    』]





第四章介紹了基本的模塊與函數。首先在機器學習中,模塊的導入與調用時非常重要的,因為很多時候科學計算庫與模型框架能節省很多時間。以下簡單地導入了一個數學模塊:




  1. >>>

    import

    math

  2. >>>

    math

    .

    cos

    (

    0.0

    )

  3. 1.0

  4. >>>

    math

    .

    radians

    (

    275

    )

  5. 4.799655442984406





當我們重複使用一個過程時,我們可以將這個過程定義為函數,以在主體函數中重複調用。




  1. >>>

    def add_one

    (

    val

    )

    :

  2.      pr

    int

    (

    "Function got value"

    ,

    val

    )

  3.      

    return

    val

    +

    1

  4. >>>

    value

    =

    add_one

    (

    1

    )

  5. Function

    got value

    1

  6. >>>

    value

  7. 2





第五章介紹了迭代與循環,這是在訓練過程中不可缺少的部分。這一部分主要描述了 for 循環與 while 循環,其中 for 循環經常用於列表循環。




  1. >>>

    for

    value in

    [

    0

    ,

    1

    ,

    2

    ,

    3

    ,

    4

    ,

    5

    ]:

  2.      print

    (

    value

    ?

    value

    )

  3. 0

  4. 1

  5. 4

  6. 9

  7. 16

  8. 25

  9. #

    另一種列表循環

  10. >>>

    mylist

    =

    [

    1

    ,

    5

    ,

    7

    ]

  11. >>>

    for

    i in range

    (

    len

    (

    mylist

    )):

  12.      pr

    int

    (

    "Index :"

    ,

    i

    ,

    " Value :"

    ,

    mylist

    [

    i

    ])

  13. Index

    :

    0

    Value

    :

    1

  14. Index

    :

    1

    Value

    :

    5

  15. Index

    :

    2

    Value

    :

    7





根據個人經驗,我們感覺 while 循環在機器學習中使用得比 for 循環少。大家在迭代訓練訓練或處理列表時基本上都是使用的 for 循環,以下展示了簡單的 while 循環。




  1. >>>

    n

    =

    4

  2. >>>

    while

    n

    >

    0

    :

  3.      pr

    int

    (

    n

    )

  4.      n

    =

    n

    ?

    1

  5. 4

  6. 3

  7. 2

  8. 1



第 6 章介紹了字典,它在機器學習中是非常重要的數據結構。例如我們在 TensorFlow 中使用佔位符定義輸入數據,那麼我們就需要使用字典饋送輸入數據與對應的標註。




  1. ages

    =

    {

  2.        

    "Peter"

    :

    10

    ,

  3.        

    "Isabel"

    :

    11

    ,

  4.        

    "Anna"

    :

    9

    ,

  5.        

    "Thomas"

    :

    10

    ,

  6.        

    "Bob"

    :

    10

    ,

  7.        

    "Joseph"

    :

    11

    ,

  8.        

    "Maria"

    :

    12

    ,

  9.        

    "Gabriel"

    :

    10

    ,

  10. }

  11. >>>

    print

    (

    ages

    [

    "Peter"

    ]

    )

  12. 10





最後一章介紹了面向對象編程的基礎,即類和對象。在機器學習中,使用類來定義模型是非常常見的方法,如果希望簡單的看懂模型源代碼,那麼類與對象的知識就必不可少了。




  1. class

    Person

    :

  2.      def __init__

    (

    self

    ,

    name

    ,

    age

    ):

  3.          self

    .

    name

    =

    name

  4.          self

    .

    age

    =

    age

  5.      def greet

    (

    self

    ):

  6.          print

    (

    "Hello, my name is %s!"

    %

    self

    .

    name

    )

  7. >>

    a

    =

    Person

    (

    "Peter"

    ,

    20

    )

  8. >>>

    b

    =

    Person

    (

    "Anna"

    ,

    19

    )

  9. >>>

    a

    .

    greet

    ()

  10. Hello

    ,

    my name is

    Peter

    !

  11. >>>

    b

    .

    greet

    ()

  12. Hello

    ,

    my name is

    Anna

    !

  13. >>>

    print

    (

    a

    .

    age

    )

     

  14. 20





以上就是該書籍的簡要介紹,讀者可具體查看該 GitHub 項目,並下載書籍與源代碼。






本文為機器之心整理,

轉載請聯繫本公眾號獲得授權


?------------------------------------------------


加入機器之心(全職記者/實習生):hr@jiqizhixin.com


投稿或尋求報道:editor@jiqizhixin.com


廣告&商務合作:bd@jiqizhixin.com


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

為主流價位移動設備加入AI計算:ARM發布新一代Mali解決方案
從冷戰到深度學習:一篇圖文並茂的機器翻譯史

TAG:機器之心 |