以下推荐也许算不上经典,但是好用。如何快速熟悉 Python 编程一直是很多初学者的疑问,我们经常考虑要不要系统地从头开始啃 Python 教程,但这种方法不仅非常枯燥且很难坚持。因此,对于很多入门读者,更好的方式是学习基础的 Python 编程,然后在实践中完善代码技巧。本文介绍了一本非常精炼的 Python 免费书籍,它不仅有基础知识,同时每一章节还有非常多的练习与源代码。选自GitHub,机器之心整理。

该书是使用实践方法教授基础的 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 等集成开发环境。

第三章介绍了基本的数据类型与数据结构,如下展示了字符串与列表的基本使用:

>>> "Hello" ∗ 3

’HelloHelloHello’

字符串执行乘积运算可以复制多次,以下展示了列表的简单索引方法。

>>> l = [ ’a’, ’b’, ’c’, ’d’, ’e’]

>>> l[ 1 : 3 ]

[ ’b’, ’c’]

第四章介绍了基本的模块与函数。首先在机器学习中,模块的导入与调用时非常重要的,因为很多时候科学计算库与模型框架能节省很多时间。以下简单地导入了一个数学模块:

>>> import math

>>> math.cos(0.0)

1.0

>>> math.radians(275)

4.799655442984406

当我们重复使用一个过程时,我们可以将这个过程定义为函数,以在主体函数中重复调用。

>>> def add_one (val) :

pr int ( "Function got value", val)

return val + 1

>>> value = add_one(1)

Function got value 1

>>> value

2

第五章介绍了迭代与循环,这是在训练过程中不可缺少的部分。这一部分主要描述了 for 循环与 while 循环,其中 for 循环经常用于列表循环。

>>> for value in [0, 1, 2, 3, 4, 5]:

print ( value ∗ value )

0

11

3

9

16

25

# 另一种列表循环

>>> mylist = [1, 5, 7]

>>> for i in range(len (mylist)):

pr int ( "Index :", i," Value :", mylist[i])

Index : 0 Value : 1

Index : 1 Value : 5

Index : 2 Value : 7

根据个人经验,我们感觉 while 循环在机器学习中使用得比 for 循环少。大家在迭代训练训练或处理列表时基本上都是使用的 for 循环,以下展示了简单的 while 循环。

>>> n = 4

>>> while n > 0 :

pr int ( n )

n = n−1

4

3

2

1

第 6 章介绍了字典,它在机器学习中是非常重要的数据结构。例如我们在 TensorFlow 中使用占位符定义输入数据,那么我们就需要使用字典馈送输入数据与对应的标注。

ages = {

"Peter":10,

"Isabel":11,

"Anna":9,

"Thomas":10,

"Bob":10,

"Joseph":11,

"Maria":12,

"Gabriel":10,

}

>>> print (ages["Peter"] )

10

最后一章介绍了面向对象编程的基础,即类和对象。在机器学习中,使用类来定义模型是非常常见的方法,如果希望简单的看懂模型源代码,那么类与对象的知识就必不可少了。

class Person:

def __init__(self, name, age):

self.name = name

self.age = age

def greet(self):

print("Hello, my name is %s!" % self.name)

>> a = Person("Peter", 20)

>>> b = Person("Anna", 19)

>>> a.greet()

Hello, my name is Peter!

>>> b.greet()

Hello, my name is Anna!

>>> print(a.age)

20

以上就是该书籍的简要介绍,读者可具体查看该 GitHub 项目,并下载书籍与源代码。

python教材知乎_关于 Python 的经典入门书籍有哪些?相关推荐

  1. python转行 知乎_黄哥Python提醒:转行当程序员修炼之路

    1.转行当程序员,一定要培训自己的兴趣和爱好,不能只看着程序员工资高. 如果叶公好龙,是转行不成功的,只能是当"炮灰". 黄哥谈转行当程序员黄哥谈转行当程序员_哔哩哔哩 (゜-゜) ...

  2. python powerbi知乎_利用Python调用Power BI REST API

    本文是D-BI之Power BI REST API系列第三篇,讲解如何利用一段简单的Python脚本实现Power BI REST API的调用,将使用与上文完全不同的方法 前述 上文<Powe ...

  3. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  4. python 赚钱 知乎_没想到吧!Google 排名第一的编程语言,为什么会这么火?

    原标题:没想到吧!Google 排名第一的编程语言,为什么会这么火? 没想到吧,Python 又拿第一了! 在 Google 公布的编程语言流行指数中,Python 依旧是全球范围内最受欢迎的技术语言 ...

  5. python入门神器 知乎_如何处理 Python 入门难以进步的现象?

    我去年十月份利用工作空闲时间开始自学Python,今年四月份找到一个Python工程师的工作,你的困惑我也有过,相信很多自学的人都有这个困惑,我现在也会有这个困惑.最重要,最重要,最重要的是:去工作, ...

  6. python大数据免费_用python做大数据

    不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...

  7. python如何办公自动化培训_用python进行办公自动化都需要学习什么知识呢?

    这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音. 自动化办公无非是excel.ppt.word ...

  8. python制作电脑软件_利用PYTHON制作桌面版爬虫软件(一)

    抱歉,对长沙房地产数据的挖掘与分析[三],想了蛮久,觉得对自己的分析结果不是很理想.等我完善好了,我再发出来吧.今天继续开启新的一专题.主要讲解如何用PYTHON实现简单的桌面软件的制作. 题外话,我 ...

  9. python大牛 关东升_《Python从小白到大牛》第4章 Python语法基础

    本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Pyth ...

最新文章

  1. freemarker 读取字符串模板,(非文件)
  2. QT的QSvgGenerator类的使用
  3. 放寒假的硕博研究生将经历什么?
  4. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  5. Java foreach remove问题分析
  6. 中key的用途_Python中的函数定义与参数使用
  7. 如何在 macOS 中使用选项卡?
  8. php 日期范围查询分页,Thinkphp3.2 多条件数据分页查询
  9. 数据结构银行叫号系统
  10. poj百炼nbsp;2801:填词
  11. 传智播客风清扬视频-------IO简述之File讲解
  12. 使用matlab显示图像的一个坑:文件名或 URL 参数必须为字符向量、uigetfile出现要串联的数组的维度不一致
  13. PHP 笔试 + 面试题
  14. 阿里速度!100亿脱贫基金第一个项目落地
  15. android动态请求权限
  16. 基于Java的个人日记本项目(附 源码 课件)
  17. 树莓派3代发布支持蓝牙WiFi:售35美元
  18. 我的柏楚系统激光切割机锁机了
  19. 电子设计教程37:LC选频放大器与LC正弦波发生器
  20. 湖人vs马刺第一场艰难取胜

热门文章

  1. Java中的BigDecimal,你真的会用吗?
  2. 计算机基础知识电大形考任务5,国家开放大学电大专科《计算机平面设计(1)》网络课形考任务4及任务5答案.doc...
  3. linux系统认证中级是什么,目前国内常见的几种Linux认证及其所需价格
  4. 【Java】Exception in thread main java.lang.UnsupportedClassVersionError
  5. 用户体验是什么?如何把用户体验做到极致, 这里有答案
  6. linux中的clock shew 问题的解决方法
  7. 周志华西瓜书课后习题答案总目录
  8. 图神经网络模型—PATCHY-SAN的基本思想与流程
  9. R语言 quantmod 如何下载汇率
  10. 编译原理(1)词法分析程序(C++实现)