首页>参考读物>计算机科学与技术>软件与程序设计

Python硬件编程实战
作者 : 李茂 编著
出版日期 : 2015-02-02
ISBN : 978-7-111-48774-6
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 191
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书讲述了Python技术的基本特点和背景,以及如何从无到有的,慢慢上手,真正开始Python的开发。以及在基本的Python入门后,需要学习哪些知识,以及如何去学习Python。

图书特色

本土作者力作,应用驱动、接地气的Python速成攻略。
软硬件相结合,第一本基于开源硬件讲解Python的实用指南。
基于pcDuino的开发实例、完整的项目文件和源代码,可操作性极强。

封底:
读一本书打通Python软硬件
本书主要针对计算机基础比较薄弱的Python初学者,力图使用通俗易懂和深入浅出的语言风格去阐述Python的基本概念。在对Python建立基本概念的前提下,循序渐进地引导读者学习Python版本的选择、不同平台下Python开发环境的搭建、Python基本的语法,并最终可以利用Python实现基于开源硬件pcDduino的应用开发。

前:
伴随着树莓派、pcDuino等单板计算机和开源硬件的兴起,让一个没有任何技术背景的人编写程序控制硬件电路实现自己的创意已经不是什么难事。Python的语法简洁而清晰,并具有丰富、强大的类库,对于没有任何编程基础但又想学习编程的读者来说,无疑是入门的极佳选择。pcDduino兼容Arduino,提供了丰富的外围硬件模块供用户使用,读者可以像搭积木一样实现自己创意的硬件部分。学完本书之后,读者将能够成为使用软硬件相结合的方式实现自己创意的数字匠人。

李 茂 苏州美名软件有限公司资深嵌入式软件开发工程师,拥有6年的嵌入式软件开发经验。曾先后供职于奥地利微电子、霍尼韦尔等公司,一直从事于嵌入式软件开发的相关工作。作者利用业余时间研究使用Python开发上层应用,创作了大量Python的第一手技术文档。这些文档发布在作者的个人博客里,在网上被大量转载和引用,它们是本书素材的重要来源。

图书前言

笔者是一名有6年嵌入式软件研发经验的工程师,由于工作需要和自己的兴趣,在最近3年的时间开始接触上层软件方面的技术,其中就包括学习和使用Python。越深入地学习,越让笔者觉得Python好用,于是陆续在博客上更新了很多Python的教程和资料,这本书的大多数素材均来自笔者的博客。
Python语言从出现到如今已经有很长时间了。市面上关于Python的入门读物更是数不胜数,所以想再写一本入门的好书需要极大的勇气和决心。真正触动笔者下决心写这本书的原因是笔者发现对于很多国内读者,尤其是很多计算机基础相对薄弱的国内读者来说,市面上的教程往往很难看懂。因为这些Python图书多数都是国外作者写的,面对的读者是具有较强的计算机基础的国外用户。不仅如此,这些书被翻译成中文,在国内销售,还忽略了中外读者的差异,导致很多国内读者即便是看入门级的Python读物,学习起来仍然觉得很吃力。国外的作者往往会省略一些背景知识,而国内读者又恰恰缺少这些相应的背景知识,自然很多内容无法完全理解。举个例子,在解释选择Python的IDE开发环境时,如果直接让国内初学者使用某个界面相对好看但是功能复杂的IDE,很多人会很难理解如何使用。初学者对于IDE和原始的命令行之间的关系本身就不是很清楚,在这种情况下,又怎么可能学会使用呢?笔者觉得应该换一种更好的方式去解释,即先分析透彻原始的开发环境和复杂的IDE之间的关系,然后解释为何要选择某个IDE,再进一步介绍IDE中每个部分的功能和之前原始的命令行方式的对应关系。只有如此解释,初学者才能明白选择Python开发环境的真正含义,才能理解为何选择和使用某个IDE。基于此,笔者才陆陆续续地编写了一系列针对Python初学者的帖子,并努力把每个知识点讲透。笔者觉得这样才能真正帮助读者学习和掌握Python。
全书共分为7个章节:
第1章主要阐述一些与Python相关的基本概念,并介绍其应用领域;
第2章介绍如何下载和安装Python;
第3章介绍如何在Windows、Linux、Mac等多种不同平台下开发Python应用,以及如何选择合适的开发环境;
第4章解释Python的基本知识;
第5章给出一些有趣的Python小实验;
第6章进一步给出Python在各种领域内的实际应用案例;
第7章介绍Python与开源硬件之间的关系,了解如何用Python搭配开源硬件以实现各种有趣的功能。
本书主要针对没有基础的初学者,包括但不限于具有硬件背景的工程师、非计算机专业读者、Python业余爱好者、学生等。鉴于轰轰烈烈的创客运动,笔者把这本书的定位描述成创客的Python入门书。其实在笔者看来,只要是想动手,实现自己心中所想的人都应该是创客。从这个角度出发,笔者觉得任何一个想要学习Python的初学者都是创客。这是一本真真正正的入门书,读者只需具备计算机编程语言的基本知识,即可阅读本书。本书会带领读者从了解Python的概念开始,到搭建Python的开发环境,再到真正使用Python语言实现一些应用。
本书中所用到的标识及其含义如下:
 提示。提示信息,如用于解释一些名词的含义、阐述相关知识背景。
 注意。用于强调一些注意事项、心得体会等内容。
 重要。提示某些重要的信息。
 警告。用于指出严重的错误,提醒读者一定要避免这类错误。
笔者首先感谢父母的教育,没有他们的悉心培养,笔者很难有今天的成就。笔者还要感谢朋友高静在此期间给予笔者的支持和无私的帮助,让笔者能够终成此书。由于笔者水平有限,书中错误在所难免,欢迎读者和同行们指出错误,提出您的宝贵意见或建议。

李茂
2014年11月

上架指导

计算机\嵌入式编程

封底文字

本书适合软件工程师、硬件工程师、非计算机专业科研人员、Python业余爱好者、学生甚至没有任何编程基础的初学者,是一本真正的入门书。这本书会带领读者从了解Python的概念开始,到搭建Python的开发环境,再到真正使用Python和pcDduino实现软硬件相结合的应用,让任何一个想要学习Python的初学者都成为一个能够使用Python和开源硬件实现自己想法的创客。

作者简介

李茂 编著:暂无简介

图书目录

前 言
第1章 Python简介 / 1
1.1 Python是什么 / 1
1.2 对Python的四种定义 / 1
1.2.1 一种脚本语言 / 1
1.2.2 一种解释型语言 / 3
1.2.3 一种高级语言 / 3
1.2.4 一种面向对象的语言 / 4
1.3 Python的特点 / 5
1.3.1 作为脚本语言的优缺点 / 5
1.3.2 Python自身的特点 / 7
1.4 Python的应用 / 9
1.4.1 Python能干什么 / 10
1.4.2 Python更适合做些什么 / 10
1.4.3 你能用Python干什么 / 12
1.5 Python的必备常识 / 13
1.5.1 Python文件的后缀 / 13
1.5.2 Python的缩写和简称 / 13
1.5.3 Python的官网 / 13
1.5.4 Python的Logo / 13
第2章 下载并安装Python / 14
2.1 因Python版本不合适而导致的常见问题 / 14
2.2 Python的两大版本 / 15
2.2.1 Python版本历史 / 15
2.2.2 Python 2和Python 3之间的区别 / 16
2.3 如何选择合适的版本 / 20
2.3.1 选择Python 2还是Python 3 / 21
2.3.2 选择Python是32位还是64位 / 21
2.4 常见软件的发布格式 / 23
2.4.1 源码格式 / 23
2.4.2 二进制格式 / 25
2.5 下载合适的Python安装包 / 26
2.5.1 Python提供了哪些形式 / 26
2.5.2 选择更稳定、更快速的国内下载源 / 29
2.6 如何在Windows系统中安装Python / 29
2.6.1 在Windows 7中安装Python / 29
2.6.2 在Windows中安装Python后的常见问题 / 35
2.7 在Linux系统中安装Python / 36
2.7.1 在Ubuntu中安装Python / 36
2.7.2 为何不推荐初学者在Ubuntu中安装Python / 37
2.8 在Mac中安装Python / 38
第3章 选择合适的Python开发环境 / 39
3.1 不同平台下开发Python时共用的东西 / 39
3.2 不同平台下开发Python时的共同特点 / 40
3.2.1 Python最原始的开发方式 / 41
3.2.2 利用Python的shell进行交互式开发 / 41
3.2.3 利用Python的IDE进行开发 / 43
3.3 Python的IDE / 44
3.3.1 Python的IDE和编辑器、终端等的关系 / 44
3.3.2 Python的常见IDE / 46
3.3.3 Python IDE常见问题及解答 / 62
3.4 在Windows环境下进行Python开发 / 65
3.4.1 最原始的Python开发方式 / 65
3.4.2 用Python的shell进行交互式开发 / 72
3.4.3 用Python的IDE进行开发 / 79
3.5 在Linux环境下进行Python开发 / 79
3.5.1 Python最原始的开发方式 / 80
3.5.2 用Python的shell进行交互式开发 / 82
3.5.3 用Python的IDE进行开发 / 83
3.6 在Mac环境下进行Python开发 / 83
3.6.1 Python最原始的开发方式 / 83
3.6.2 用Python的shell进行交互式开发 / 86
3.6.3 用Python的IDE进行开发 / 86
3.7 究竟应选用哪种环境开发Python / 87
第4章 Python的基础知识 / 89
4.1 SheBang和Python文件编码声明 / 89
4.1.1 #!/usr/bin/python / 89
4.1.2 Python文件编码声明 / 89
4.2 Python中的缩进 / 92
4.2.1 其他语言的缩进只影响代码的美观 / 92
4.2.2 Python的缩进会影响代码的逻辑 / 93
4.3 Python中_ _name_ _和_ _main_ _的含义 / 98
4.3.1 _ _name_ _详解 / 98
4.3.2 _ _main_ _详解 / 99
4.3.3 _ _name_ _和_ _main_ _搭配使用的目的 / 99
4.4 Python中的面向对象编程 / 103
4.4.1 self和_ _init_ _的含义 / 103
4.4.2 初学者不要从最开始就太关注面向对象 / 109
4.5 Python中的变量 / 109
4.5.1 基本变量的声明和定义 / 109
4.5.2 变量的作用域 / 112
4.6 Python中的分支结构 / 115
4.7 Python中的函数 / 116
第5章 一些有趣的Python小实验 / 118
5.1 用Python查看系统平台信息 / 118
5.2 Python处理谐波和信号变换 / 119
5.3 更多有用且有趣的Python语法 / 123
5.3.1 Python中交换不同的变量值 / 124
5.3.2 Python中集合类的变量的切片 / 124
5.3.3 Python中的for循环和枚举器 / 125
5.3.4 Python中的条件性赋值 / 126
第6章 常见Python应用实例 / 127
6.1 Python在网络方面的应用 / 127
6.2 Python在图形界面方面的应用 / 132
6.2.1 Python的常见GUI图形库 / 132
6.2.2 Python的GUI图形库:PyQt / 132
6.3 Python在数据库方面的应用 / 136
第7章 Python与开源硬件 / 141
7.1 Python和开源硬件之间的关系 / 141
7.2 pcDuino基础知识 / 141
7.2.1 什么是开源硬件 / 141
7.2.2 常见的开源硬件 / 142
7.2.3 为何选择pcDuino / 146
7.2.4 如何配置开源硬件pcDuino / 147
7.3 在开源硬件pcDuino上使用Python / 155
7.3.1 Web服务器 / 156
7.3.2 漏水监测 / 162
7.3.3 使用Z-Wave实现智能家居 / 166
附录A 如何利用Python的相关资源 / 174
附录B 如何继续深入学习Python / 181
附录C Python学习资料 / 182

教学资源推荐
作者: (美)Al Kelley,Ira Pohl
作者: [美] 埃里克·伽玛(Erich Gamma) 理查德·赫尔姆(Richard Helm) 拉尔夫·约翰逊(Ralph Johnson) 约翰·威利斯迪斯(John Vlissides) 著
作者: [美]德洛莉丝 M. 埃特尔(Delores M. Etter) 著
作者: 辛运帏 饶一梅
参考读物推荐
作者: (爱尔兰)Matt Smith (巴西)Chico Queiroz 著
作者: Prinz Prinz; Tony Crawford
作者: [美]汤姆·邝(Tom Kwong) 著