资源 | 开放Python书籍:一本短小精悍的初学者入门指南

2018 年 3 月 25 日 机器之心

选自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 = n1

  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

登录查看更多
16

相关内容

一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
Python导论,476页pdf,现代Python计算
专知会员服务
250+阅读 · 2020年5月17日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
126+阅读 · 2020年3月15日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
188+阅读 · 2020年3月12日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
171+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
吐血整理!140种Python标准库、第三方库和外部工具都有了
炼数成金订阅号
14+阅读 · 2019年7月30日
深度学习500问!一份火爆GitHub的面试手册
人工智能前沿讲习班
40+阅读 · 2019年3月18日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
这可能是学习Python最好的免费在线电子书
程序猿
51+阅读 · 2018年5月17日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
Arxiv
20+阅读 · 2019年11月24日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Few-shot Learning: A Survey
Arxiv
362+阅读 · 2019年4月10日
Arxiv
21+阅读 · 2018年8月30日
Arxiv
6+阅读 · 2018年4月3日
Arxiv
3+阅读 · 2018年3月28日
VIP会员
相关VIP内容
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
Python导论,476页pdf,现代Python计算
专知会员服务
250+阅读 · 2020年5月17日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
126+阅读 · 2020年3月15日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
188+阅读 · 2020年3月12日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
171+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
相关资讯
吐血整理!140种Python标准库、第三方库和外部工具都有了
炼数成金订阅号
14+阅读 · 2019年7月30日
深度学习500问!一份火爆GitHub的面试手册
人工智能前沿讲习班
40+阅读 · 2019年3月18日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
这可能是学习Python最好的免费在线电子书
程序猿
51+阅读 · 2018年5月17日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
相关论文
Top
微信扫码咨询专知VIP会员