计算机已经不再只是用来工作的方盒子。任何拥有一个可编程处理中心的东西都可以称作计算机。游戏终端、智能手机、全球卫星定位系统(GPS)单元、平板电脑以及其他许多令人难以置信的设备都说明了这一点。它们都是计算机,并且它们已经接管了这个世界。我们用它们来工作、通信,以及娱乐。事实上,很难找到有哪个领域还从未使用过计算机。

销售人员喜欢用智能来描述嵌入式计算机设备(智能手机、智能电视、智能手表等),事实上它们却并不智能。处理单元只是块执行指令的硅片。智能手机的“智能”并非来自计算机芯片,而是来自对它们编程的人。

计算机是迄今为止人类发明的最强大的工具,但是由于很少有人知道如何开发它的潜能,目前我们只是使用了它的一小部分功能。在充满计算机的世界中,最重要的就是那些可以发挥计算机全部性能的编程人员。编程,是一项基本技能,并且在未来会变得更重要。

什么是编程

我们已经指出,计算机并不智能。它只是个按照清单一步步执行指令的单元。这个指令清单就是程序。编程,就是接受任务,将其分解成多个步骤,然后把它们用计算机可以理解的语言写下来。

树莓派可以理解多种语言,在本书中,你将学习到Python3——一种非常强大易学的语言。

本书适用于拥有树莓派并希望学些计算机编程的读者。学习本书不要求读者具有编程经验或者其他类似的技术。即便你只爱看漫画和科幻小说,都没关系,只要你具备前两个基本条件,这本书就是为你准备的。

读完本书,你将会对Python3有很深的理解,并且熟悉许多非常有用的模块(Python 附加模块)。通过Python3和这些模块,你将能控制树莓派的各个功能。你可以通过控制基本输入输出口(GPIO)使它和外界交互,或者用它连通互联网。拥有一个摄像头,你可以用树莓派拍照片,也可以制作游戏,操纵三维世界。简而言之,这是一本介绍如何发掘你的树莓派的全部潜力的图书。

什么是树莓派

树莓派是个用来学习编程的优秀设备。第一,它很便宜。价格差不多只有低端计算机的十分之一,作为你的主计算机的一个附件它非常便宜。由于程序员往往需要调试开发设备,而调试就有可能破坏某些东西,这就使树莓派显得很有用。通常来说,调试并不会破坏到设备本身,但是可能需要重装系统,这就有可能损失数据并且在几个小时内你都无法使用计算机。如果你有个树莓派,用它来编程,这些就不是问题。如果你的计算机需要和别人共享,使用树莓派就显得更重要。

第二,树莓派是个裸设备。它没有藏在盒子里或者在一个完整的系统中。这意味着你可以自己决定将其做成一个什么系统。你可以将其放到盒子里,也可以就让它裸着运行。你也可以使用GPIO,这在其他机器上是无法做到的。大多数计算机的用途都已经预先设计好了(如用来网上冲浪或者玩游戏的平板电脑,用来看电影或玩游戏的游戏终端,用来工作或玩游戏的笔记本电脑等)。而只要一点技术手段树莓派就可以做任何事情。

第三,树莓派使用Linux——一个类似于Windows或Mac OS X的操作系统。它提供了视窗系统和一个用来操控树莓派的基于文本的命令行接口。如果你之前没有使用过Linux,会发现它和你使用过的系统有点不同。对于崭露头角的程序员来说,最重要的区别就是Linux比其他系统更灵活。正如树莓派的物理设计崇尚体验一样,这个操作系统也是如此。

如何阅读本书

前3章介绍了如何在树莓派上使用Python。读完这3章后,你将对Python编程有个很好的认识。本书剩余部分将分章来介绍不同的应用,如游戏和多媒体。这些章节涉及Python的不同领域。因此前一章没有读完不会影响你对后一章的理解(有些时候,我们可能会引用前面的某些概念,但我们会在引用时标注清楚)。

这意味着你可以在读本书第二部分时自己决定阅读顺序。例如,如果你对多媒体很感兴趣,可以直接跳到这一章,之后再去读其他章节。

学习编程必须多动手实践。也就是说,仅仅坐下来读完本书是不够的。你必须去实践这些学到的东西。贯穿本书,我们设计了很多练习让你来实践所学到的知识。有时通过特定的练习来培养你的技能,有时你需要给我们介绍过的程序添加特性。编程的一个重要部分就是确定程序要完成什么的创造力。因此你不需要完全听从我们的建议。事实上,我们鼓励你把我们的建议和代码作为一个起点——一个开启你的数字艺术征程的起点。

致  谢?Acknowledgements

感谢大家帮助我完成此书。在Wiley公司,Kezia Ednsley和Craig smith从本书开始写作起就帮忙审稿。感谢Erin Zeltner,是他让本书的文字看起来更优美,也让排版更合理。

还有许多人需要感谢。没有编程环境就不会有这本关于编程的书。基于树莓派的Python包含了数以千计的程序员的工作,其中有很多人还是免费贡献。这些人都需要感谢,受限于篇幅,我们仅列出三位:Guido van Rossum、Linux Torvalds和Richard Stallman。

当然,软件需要运行在硬件之上,我们也要感谢Eben Upton和树莓派基金会。

本书中的任何错误都由作者独自承担。

如何在树莓派上进行python编程_《树莓派Python编程指南》怎么样_目录_pdf在线阅读 - 课课家教育...相关推荐

  1. python程序设计重点_《Python程序设计》怎么样_目录_pdf在线阅读 - 课课家教育

    书籍介绍 本书通过阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,来介绍如何使用计算机进行问题求解.丰富的例子和习题展示了在真实世界中是如何使用计算机的.目前Python在 ...

  2. python程序设计怎么样-《Python程序设计》怎么样_目录_pdf在线阅读 - 课课家教育...

    书籍介绍 本书通过阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,来介绍如何使用计算机进行问题求解.丰富的例子和习题展示了在真实世界中是如何使用计算机的.目前Python在 ...

  3. python 科学计算设计_《Python科学计算-(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 Python科学计算环境的安装与简介 1 1.1 Python简介 1 1.1.1 Python 2还是Python 3 1 1.1.2 开发环境 2 1.1.3 集成开发环境(IDE) 5 ...

  4. c++语言经典编程282例,《C语言经典编程282例(C语言学习路线图)》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 初识C语言 实例001 第一个c语言程序 实例002 一个完整的c语言程序 实例003 输出名言 实例004 用tc 2.0打开文件 实例005 计算正方形的周长 第2章 简单的c程序 实例0 ...

  5. php mysql全能权威指南 pdf_《PHP+MySQL全能权威指南(配光盘)》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1篇 php动态网站和php程序语言基础入门篇 第1章 准备基础知识.开发环境及配置运行环境 1.1正确认识php动态网站开发 1.2安装和配置php动态网站的运行环境 第2章 怎样创建和执行php ...

  6. java web 应用技术与案例教程_《Java Web应用开发技术与案例教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    出版说明 前言 第1章 java Web应用开发技术概述 1.1 Java Web应用开发技术简介 1.1.1 Java Web应用 1.1.2 Java Web应用开发技术 1.2 Java Web ...

  7. php+mysql开发实战 pdf_《PHP + MySQL 开发实战》怎么样_目录_pdf在线阅读 - 课课家教育...

    前言 第1章 php环境搭建 1.1 Linux上PHP开发环境搭建 任务1 在虚拟机中安装Vmwaretools 任务2 Linux下Apache服务器安装与配置 任务3 Linux下MySQL数据 ...

  8. java ee6教程_《Java EE 6 企业级应用开发教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 java EE概述 1.1 Java EE的产生与发展 1.2 Java EE 6架构 1.3 Java EE 6常用技术 1.4 Java EE 6特性 1.5 Java EE 6应用服务器 ...

  9. java程序设计教程(项目式)_《Java程序设计项目化教程(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...

    任务1 安装配置开发环境及需求分析 1.1 任务描述 1.2 技术概览 1.2.1 java语言的产生与发展 1.2.2 Java语言的特点 1.2.3 Java语言的工作机制 1.3 任务1-1下载 ...

最新文章

  1. 使用PyTorch时,最常见的4个错误
  2. hadoop元数据mysql中表字段_Hive 元数据表结构详解
  3. hdu 1528+hdu 1962(最小覆盖)
  4. 将系统默认记事本替换成自己喜欢的文本编辑器
  5. 147页详述「结构在神经网络中的复兴」,图注意力网络一作博士论文公开
  6. 刚开始用 Go 做项目开发时都会面临哪些问题?
  7. 学习linux中踩的坑,踩踩Linux命令中的那些坑
  8. C语言getchar函数
  9. hbase 客户端_读《HBase权威指南》 客户端API:基础知识
  10. 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?
  11. 如何让我的网站(独立网站或者blog)被百度收录?
  12. npm换成国内源 npm换源 npm换淘宝源镜像
  13. 用友nc java下载_用友nc的java插件下载
  14. linux系统sdio接口wifi编程,3个SDIO接口WiFi模块/WiFi+蓝牙组合模块介绍-SKYLAB
  15. ember.js mysql_Ember.js 入门指南——控制器(controller)
  16. 微信翻译生日快乐的代码_微信表情翻译表白代码彩蛋大全 微信表情加符号翻译意思全解...
  17. 《数据安全法》施行在即,政企单位如何构建数据安全治理体系?
  18. 抖音热门音乐整理合集歌曲打包分享
  19. ADL100(2)-Wuwei-检索式对话
  20. 国风就是帅,会三板吗,看看新天吧

热门文章

  1. QString与LPCWSTR互转
  2. 【VLC-Android】Mac下编译vlc-android
  3. 在听伏尔加纤夫曲 超酷
  4. c# SerialPort会出现“已关闭 Safe handle”的错误
  5. javaweb学习总结(二十八)——JSTL标签库之核心标签
  6. Elastic job,任务状态:分片待调整
  7. Java Byte取值范围
  8. Git 修改分支的名称(亲测)
  9. python算法与数据结构-二叉树的遍历
  10. Apache启动过程(PHP_MINIT_FUNCTION的调用)