如果你已经学会了Python编程基础知识,那么下一步?

如果你已经学会了Python编程的基础知识,就已经准备好编写执行现实世界任务的完整程序了。

这本《Python极客编程:用代码探索世界》16个有趣的编程项目,项目式的学习方法,有趣案例提升Python编程技能,培养解决现实问题的思维,附赠源代码,适合零基础计算机小白入门学习。

在本书中,我们将使用Python编程语言编写程序以拯救失事船只的船员、向朋友发送超级秘密信息、帮助克莱德·汤博(Clyde Tombaugh)发现冥王星、模拟阿波罗8号的自由返回轨迹、选择火星着陆点、定位系外行星、与怪异的“变种人”战斗及逃离僵尸等。在这个过程中,你将应用强大的计算机视觉、自然语言处理和科学模块,如OpenCV、NLTK、NumPy、pandas和matplotlib,以及其他一系列旨在让你的计算工作更轻松的软件包。

本书每章先介绍一个明确的项目目标并讨论问题的解决方法,然后给出一个任务,例如指导海岸警卫队的搜救工作、策划并执行NASA的月球飞行、使用人脸识别保护进入安全实验室的通道等,让读者像程序员一样思考。在这个过程中,读者将学会如何:

  • 使用matplotlib、NumPy、bokeh、pandas、requests、Beautiful Soup和turtle等库;
  • 使用自然语言处理和计算机视觉模块,如NLTK和OpenCV;
  • 编写程序,探测和跟踪在星域中移动的物体;
  • 从网上抓取演讲稿,并自动进行总结;
  • 使用火星轨道器激光测高仪(MOLA)地图选择航天器的着陆点;
  • 使用数据绘图和可视化工具,绘制地图并实现人口密度可视化。

本书中的程序对初学者很友好,而且随着内容的不断深入,读者将学到更多复杂的技术,提升编程能力,最终达到用Python解决实际问题的目的。

谁应该读这本书

你可以将本书看作一本大学二年级的Python图书。它不是一本编程基础教程,而是让你利用基于项目的方法继续训练Python技能的一种方式。这样一来,你就不必浪费金钱和书架空间来重学已经学过的概念了。我仍然会解释项目的每一步,你会看到关于如何使用库和模块的详细说明,包括如何安装它们。

本书的这些项目将吸引所有想要利用Python编程来进行实验、测试理论、模拟自然或者只是玩一玩的人。当你完成这些项目时,会增加对Python库和模块的了解,并学会方便的快捷方式、有用的函数和实用的技术。这些项目并不专注于孤立的模块代码片段,而致力于教会你如何构建完整的、可工作的程序,这些程序涉及现实世界的应用、数据集和问题。

为什么选择Python

Python是一种高级的、解释型的、通用的编程语言。它是免费的、高度交互的,并且可以向所有主要的平台和微控制器(如树莓派)移植。Python支持函数式和面向对象的编程,并且可以与许多用其他编程语言(如C++)编写的代码进行交互。

由于Python对初学者来说很容易上手,对专家来说也很有用,因此它已经渗透到了学校、公司、金融机构,以及大多数科学领域。Python现在是机器学习、数据科学和人工智能应用中最流行的语言之一。

本书包含哪些内容

以下是对本书中各章内容的概述。读者不必按顺序学习,但我会在首次介绍新模块和新技术时,对它们进行更为详尽的解释。

第1章:用贝叶斯法则营救失事船只的船员

利用贝叶斯概率有效地指导海岸警卫队在蟒蛇角附近进行搜救工作。读者将从本章获得使用OpenCV、NumPyitertools模块的经验。

第2章:用计量文体学来确定作者的身份

使用自然语言处理来确定是阿瑟·柯南·道尔爵士(Sir Arthur Conan Doyle)还是H.G.威尔斯(H.G.Wells)写了小说《失落的世界》(The Lost World)。读者将从本章获得使用NLTK、matplotlib和风格测量技术(如停顿词、词性、词汇丰富度和雅卡尔相似度)的经验。

第3章:用自然语言处理总结演讲

从互联网上抓取著名的演讲稿,自动生成要点摘要,然后将小说的文本变成酷炫的广告或宣传材料进行展示。读者将从本章获得使用BeautifulSouprequestsregex、NLTK、collections、wordcloudmatplotlib的经验。

第4章:用书加密发送超级秘密的消息

通过数字方式重现肯·福莱特的畅销间谍小说《燃烧的密码》(The Key to Rebecca)中使用的一次性密码本方法,与你的朋友分享无法破解的密码。读者将从本章获得使用collections模块的经验。

第5章:发现冥王星

重现1930年克莱德·汤博(Clyle Tombaugh)发现冥王星时使用的闪烁比较器装置,然后使用现代计算机视觉技术来自动寻找和跟踪微小的瞬变天体(如彗星和小行星)相对于星域的移动。读者将从本章获得使用OpenCV和NumPy的经验。

第6章:模拟阿波罗8号的自由返回轨迹

策划并执行巧妙的自由返回飞行路线,说服NASA提前一年登月。读者将从本章获得使用turtle模块的经验。

第7章:选择火星着陆点

根据现实的任务目标,确定火星着陆器的潜在着陆点;在火星地图上显示候选地点,以及地点的统计摘要。读者将从本章获得使用OpenCV、Python图像库、NumPytkinter的经验。

第8章:检测遥远的系外行星

模拟一个系外行星在其太阳前经过,绘制相对亮度的变化,并估计该行星的直径;最后模拟新的詹姆斯·韦伯太空望远镜对一颗系外行星的直接观测,包括估计该行星上一天的时长。读者将从本章获得使用OpenCV、NumPymatplotlib的经验。

第9章:识别朋友或敌人

对机器人哨兵炮进行编程,从视觉上区分人类和邪恶的变种人。读者将从本章获得使用OpenCV、NumPyplaysoundpyttsx``3datetime的经验。

第10章:用人脸识别限制访问

利用人脸识别来限制对安全实验室的访问。读者将从本章获得使用OpenCV、NumPyplaysoundpyttsx``3datetime``的经验

第11章:创建交互式僵尸逃离地图

构建一个人口密度地图,帮助电视剧《行尸走肉》(The Walking Dead)中的幸存者逃离亚特兰大,前往美国西部的安全地带。读者将从本章获得使用pandasbokehholoviewswebbrowser的经验。

第12章:我们生活在计算机模拟中吗

找出一种方法,让模拟生物(也许是我们)找到他们生活在计算机模拟中的证据。读者将从本章获得使用turtlestatisticsperf_counter的经验。

每一章最后都有至少一个实践项目或挑战项目。读者可以在附录中或网上找到实践项目的解决方案。这些解决方案并不是唯一的,也不一定是最好的,你可能会想出更好的解决方案。

然而,涉及挑战项目时,你就要靠自己了。要么沉下去,要么浮起来,这是一种很好的学习方式!我希望这本书能激励你创造新的项目,所以请将挑战项目当成自己想象力沃土中的种子。

猜你喜欢

转载自blog.csdn.net/epubit17/article/details/125892804