Advertisement

Think Python

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
对于一位自学程序设计的新手,他需要一本怎样的教材呢?我认为标准有以下三个方面:首先,需要涵盖足够全面的知识。虽然这看似简单,实则颇具挑战性。例如,许多人推荐的《A Byte of Python》内容过于简略,而《Learning Python》的篇幅却超过一千页,明显超出入门者的需求。初学者所需要的知识包括(a)编程语言的基本特性;以及(b)程序设计的基本原则和思想。在这一方面,《Think Python》表现出色,其240页的篇幅虽然不大,但由于文风简洁明了,已经涵盖了程序设计的关键要素,甚至对 Debugging 这样的主题进行了较为深入的探讨。其次,书籍应具备足够且具有挑战性的练习题。学习编程语言和学习外语有相似之处:都需要通过刻意练习来真正掌握。然而,许多书籍的题目设计并不完善,数量不足且缺乏足够的挑战性,难以满足刻意练习的需求。《Think Python》的课后习题编排我认为非常优秀。首先,题目本身极具趣味性,其中不少题目源自 Car Talk 的 Puzzler 节目;其次,题目的练习强度也基本足够——Allen B. Downey 在官方网站上提供的部分习题答案范例总行数达到了 8456 行(包括注释和空行),如果连同在 Python Shell 练习的代码,读完全书所编写的代码预计不会少于 2500 行;最后,这些题目具有一定的难度级别,绝非书中范例的简单重复应用,其中许多习题要求你改进书中的范例。总而言之,《Think Python》在这方面也让我印象深刻。第三个重要的标准是内容本身的趣味性。现在流行的许多编程入门书籍(例如 Head First 系列)表面上充满趣味性吸引人阅读;但仔细阅读后很快就会对书中那些简单而又虚假的问题感到厌烦。《Think Python》所涉及的问题则更具深度和难度能够促使读者静下心来思考解决方案。此外书中的不少章节所解决的问题也具有实际应用价值——例如,“Case study: data structure selection”这一章涉及文本词频分析和随机文本生成等问题,“Files”这一章则涉及根据 MD5 值查找重复文件等问题。总结来说,《Think Python》拥有诸多优点值得称赞。同时也要指出一些细节问题:例如字符串的方法不够全面;pickle 没有介绍 dump 和 load 方法而是介绍了 dumps 和 loads 方法;List Comprehension 只进行了简单的提及没有详细讲解;异常处理的部分过于简略应该增加更多的阐述;在面向对象编程 (OOP) 的部分显得冗长繁琐, 前两章可以合并精简, 而且 __init__ 方法可以更早引入, 以帮助培养良好的编程习惯. 总的来说瑕疵并不能影响这本书的整体质量.

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Think Python配套源代码-Analyze-Book3
    优质
    《Think Python》一书的配套资源,《Analyze-Book3》提供了书中示例和练习的源代码,便于读者学习与实践Python编程。 think python配套源码-analyze_book3提供了与《Think Python》一书相关的代码资源,帮助读者更好地理解和实践书中内容。该源码主要用于分析书籍中的编程概念,并提供相应的练习和示例代码,以便于学习者加深对Python编程语言的理解和应用能力。
  • Java英文版《Think in Java》
    优质
    《Think in Java》英文版是一本深入浅出地介绍Java编程语言的经典教程,适合初学者和进阶读者学习。 《Think in Java》是一本非常适合初学者的教材,对于学习Java编程非常有帮助。这本书是英文版的,很适合用来入门学习Java。
  • Think-Swoole:Swoole 拓展 ThinkPHP 功能
    优质
    Think-Swoole是一款专为ThinkPHP框架设计的插件,旨在利用Swoole拓展ThinkPHP的功能,提供异步非阻塞网络通信支持,显著提升应用性能。 ThinkPHP Swoole 扩展 安装步骤: 按照Swoole官网的指示安装swoole扩展后,使用以下命令通过composer来安装think-swoole包。 ``` composer require topthink/think-swoole ``` 使用方法: 在命令行中启动HTTP服务端。 ``` php think swoole ``` 启动完成后,默认会在0.0.0.0:80运行一个HTTP Server,可以直接访问当前的应用。 swoole的相关参数可以在`config/swoole.php`文件里进行配置(具体参考该文件的内容)。 如果需要使用守护进程方式运行,建议采用supervisor来管理进程。
  • ThinkPHP6插件程序包:Think-Addons
    优质
    Think-Addons是基于ThinkPHP6框架设计的一系列可重用插件和扩展程序包,为开发者提供了丰富的功能模块与便捷的应用集成方案。 在使用ThinkPHP 6插件程序包安装过程中需要配置think-addons。系统会在安装完成后自动在config目录下生成addons.php的配置文件;如果该文件没有自动生成,则可以在命令行中执行`php think addons:config`来快速创建。 公共配置如下: ```php addons=>[ // 是否开启插件钩子信息的自动读取(默认为true) autoload=> true, // 当关闭自动获取时,需要手动设置hooks信息: hooks=> [ // 可以定义多个钩子, testhook=>test // 键值对形式:键表示钩子名称,在业务中用于自定义钩子处理;值则为实现该功能的插件。 // 若有多个插件,可以使用数组或逗号分隔的形式 ], route=>[] ], ``` 以上是关于ThinkPHP 6插件程序包安装时配置think-addons的基本步骤和示例。
  • ThinkPHP5框架中的think/image类
    优质
    简介:ThinkPHP5框架中的think/image类是用于图像处理的工具集,支持基本的图片操作如裁剪、缩放、水印添加等,方便开发者高效管理与优化网站中的图片资源。 在ThinkPHP框架中,可以将image.php文件直接复制并替换到think/image类来重新定义处理图片透明水印的方法。
  • Think in Java》英文版及源码
    优质
    本书是经典Java编程教程《Think in Java》的英文原版及其配套源代码,适合初学者和中级开发者深入理解与实践Java语言。 Introduction1: 引言2: 万物皆为对象3: 控制程序流程4: 初始化与清理5: 隐藏实现6: 复用类7: 多态8: 接口及内部类9: 对象集合10: 使用异常处理错误11: Java I/O系统12: 检测类型13: 并发编程14: 创建窗口与Applet15: 发现问题第二部分:J2EE篇16: 分布式计算17: Servlets、JSP和标签库18: 企业级JavaBeans(EJB)19: XML附录A: 对象的传递和返回B: Java编程指南C: 资源索引
  • 停下来思考(Think On Your Feet)
    优质
    《停下来思考》是一本鼓励读者在忙碌生活中寻找片刻宁静以反思和规划人生的书籍。通过实际案例和实用建议,帮助读者提高决策质量,实现个人目标。 驻足思考
  • Think in UML》大象版光碟资源
    优质
    《Think in UML》大象版光碟资源为软件设计师和开发者提供了一套全面理解UML(统一建模语言)的工具与教程。该DVD包含了深入浅出的教学视频,有助于学习者掌握面向对象分析及设计技能。 本光盘是《大象-Thinking in UML》一书的配套资源,包含以下内容:1. 图例 2. 建模示例(Rose版)3. 建模示例(HTML版)4. Java虚拟机 5. 面向对象系统分析员之路。
  • Think-Queue在TP5.1中的消息队列
    优质
    本文将介绍如何在ThinkPHP 5.1框架中使用Think-Queue扩展来实现高效的消息队列处理机制。 ThinkPHP5.1框架的消息队列组件——think-queue在软件开发中的应用非常广泛,它允许应用程序异步处理耗时任务,从而提高系统的响应速度和整体性能。 使用think-queue需要完成以下几个步骤: 1. **安装**:通过Composer工具执行`composer require topthink/think-queue`命令进行安装。 2. **配置**:在项目的config目录下创建queue.php文件,并设置队列驱动、连接信息以及任务超时时间等参数。 3. **注册服务提供者**:在appProvider.php中添加QueueServiceProvider,确保框架能加载到队列服务。 4. **定义任务类**:编写继承自`think\Job`接口的任务类来实现具体业务逻辑。 5. **发布任务**:使用`Queue::push()`方法将创建好的任务放入队列,并传递相应参数。 6. **启动消费者进程**:通过命令行工具运行 `php think queue:listen` 或者 `php think queue:work` 来监听并处理队列中的消息。 7. **监控状态**:利用提供的命令行选项或第三方服务(如Supervisor)来监测和管理队列任务。 think-queue采用生产者-消费者模型,实现了异步通信机制。这种架构不仅提高了系统的可扩展性,也使得应用更加灵活高效。 该组件适用于多种场景: - **邮件发送**:在大量用户接收电子邮件时避免阻塞主线程。 - **日志记录**:通过队列处理写入操作以减轻数据库负载。 - **数据处理**:当需要对大规模的数据集进行分析或转换时,可以将任务放入队列中分批执行。 - **定时调度**:利用消息机制实现诸如统计报表生成、定期备份等周期性工作。 综上所述,think-queue为ThinkPHP5.1框架提供了一个高效的消息处理解决方案。通过正确配置和使用该组件,开发者能够显著提升应用的并发能力和稳定性,并且更好地满足业务需求。
  • Think Python》(第2版)(像计算机科学家一样思考). 中文版.pdf
    优质
    本书是《Think Python》第二版中文版,旨在帮助读者以计算机科学家的视角来学习编程。书中通过Python语言讲解了编程基础、算法和数据结构等内容,适合初学者及进阶读者阅读。 请不要给我这本书《Think Python.2nd.(How to Think Like a Computer Scientist).中文版.pdf》的五星级好评,因为好评会增加积分。