Python 3学习笔记(上卷)
  • 推荐0
  • 收藏9
  • 浏览2.8K

Python 3学习笔记(上卷)

韩朝辉 (作者) 

  • 书  号:978-7-121-33274-6
  • 出版日期:2018-01-11
  • 页  数:428
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:许艳
纸质版 ¥89.00
近几年Python在机器学习、数据分析、运维等方面表现十分抢眼,已经成为求职必须掌握的主要语言之一。本书分为两卷,上卷详解语言(基于Python 3.6),下卷分析标准库,涵盖Python编程中的高级问题,剖析语言相关背景和实现方式,帮助读者用好这一门优雅的语言。
基于Python 3.6
深入语言底层,分析解释器的工作机制
摆脱对Python易学难精的尴尬境地
助力从Python 2平滑过渡到Python 3
前言

写作本书时,我已然摆脱“萌新”身份,算是稍有经验的作者。可即便如此,我依然无法保证本书的内容完全正确,且满足所有人的胃口。显然,这不可能做到。
在我看来,图书大抵分两类:学习和研究。学习类书籍满足日常学习和提升需要,用简练的语言把问题说清楚。最关键的是有清晰的线索,把散乱的知识串联起来,学习者可据此了解前因后果。至于研究类图书或论文,则应摆脱基础,摆脱语法,重点关注算法、架构、性能,乃至内部实现。所有这些,均以思想为支撑,超脱语言窠臼,构建并完善体系。
不同于写散文或小说,技术类图书的文字不好组织。自然语言易阅读,但不便描述有复杂流程分支的逻辑,易导致歧义。更何况,这其中还有各种转译带来的麻烦。故技术类图书应以自然语言开宗明义,阐述理论与规则,随后用代码对这段文字进行解释,毕竟代码先天有描述逻辑的优势。
很多书,尤其是英文版的图书,习惯于用大量篇幅对代码示例做各种讲解。我感觉这有些啰唆,想必很少有人去读第二遍,大家最多也就是用记号笔画出重点而已。既然如此,我们为何不信读者能阅读并理解这些代码呢?这本来就是程序员吃饭的本钱,最多在关键位置辅以注释便可。当然,阅读前提怕是要设定为非入门读者。好在我一再强调自己写的是第二本书,或曰“闲书”。
在本书中,对于理论层面,我会尝试说得明白些。当然,书中还会引入一些类比,这些类比或许不是非常合适,但却可以加深读者对相关问题的理解,毕竟不是所有人都能明白那些云里雾里的抽象理念。一如上面所言,文字与代码相辅相成,我们应静下心来用代码去验证文字背后的含义。在我眼里,代码也是一种自然语言,缩排跳转仿若图形,本就是最好的笔记注释。起码它离机器语言上有些距离,是为了便于人类阅读而发明的。
无论我说得多悦耳动听,这终归只是一本学习笔记,算不上专业,仅适合读者闲暇时翻阅一二。
关于本书
全套书分为上下两卷。上卷以语言为主,基本涵盖语言相关内容,包括语法、测试、调试,乃至解释器等层面的基本知识。下卷计划以标准库、优秀扩展库、并发编程,以及架构设计展开,算是对上卷“闲书”稍加修正。
书中示例运行环境:macOS 10.12,CPython 3.6,IPython 6.2
鉴于不同运行环境的差异性,示例输出结果(尤其是id、内存地址等信息)会有所不同。另外,为阅读方便,本书对输出结果做了裁剪处理,请以实际运行结果为准。
读者定位
本书着重于剖析语言的相关背景和实现方式,适合有一定 Python 编程基础的读者(比如准备从Python 2.7升级到Python 3.6环境的读者)阅读。至于初学者,建议寻找从零开始、循序渐进地介绍如何编写代码的其他图书为佳。



联系方式
鄙人能力有限,书中难免存在错漏之处。读者如在阅读过程中发现任何问题,请与我联系,以便更正。谢谢!
? 邮件:qyuhen@hotmail.com
? 微博:weibo.com/qyuhen

雨 痕
二〇一七年,仲秋

目录

第1章 概述
第2章 类型
2.1 基本环境
2.1.1 印象
2.1.2 名字
2.1.3 内存
2.1.4 编译
2.1.5 执行
2.2 内置类型
2.2.1 整数
2.2.2 浮点数
2.2.3 字符串
2.2.4 字节数组
2.2.5 列表
2.2.6 字典
2.2.7 集合
第3章 表达式
3.1 词法
3.1.1 源文件
3.1.2 代码
3.2 赋值
3.2.1 增量赋值
3.2.2 序列解包
3.2.3 作用域
3.3 运算符
3.3.1 链式比较
3.3.2 切片
3.3.3 逻辑运算
3.4 控制流
3.4.1 选择
3.4.2 循环
3.5 推导式
第4章 函数
4.1 定义
4.2 参数
4.3 返回值
4.4 作用域
4.5 闭包
4.6 调用
第5章 迭代器
5.1 迭代器概述
5.2 生成器
5.3 模式
5.4 函数式编程
第6章 模块
6.1 定义
6.2 导入
6.2.1 搜索
6.2.2 编译
6.2.3 引用
6.3 包
6.3.1 初始化
6.3.2 相对导入
6.3.3 拆分
第7章 类
7.1 定义
7.2 字段
7.3 属性
7.4 方法
7.5 继承
7.5.1 统一类型
7.5.2 初始化
7.5.3 覆盖
7.5.4 多继承
7.5.5 抽象类
7.6 开放类
7.7 运算符重载
第8章 异常
8.1 异常概述
8.2 断言
8.3 上下文
第9章 元编程
9.1 装饰器
9.1.1 实现
9.1.2 应用
9.2 描述符
9.3 元类
9.3.1 自定义
9.3.2 应用
9.4 注解
第10章 进阶
10.1 解释器
10.1.1 字节码
10.1.2 全局锁
10.1.3 执行过程
10.1.4 内存分配
10.1.5 垃圾回收
10.2 扩展
10.2.1 ctypes
10.2.2 Cython
第11章 测试
11.1 单元测试
11.1.1 unittest
11.1.2 unittest.mock
11.1.3 coverage
11.2 性能测试
11.2.1 timeit
11.2.2 profile
11.2.3 line profiler
11.2.4 memory profiler
11.2.5 pympler
第12章 工具
12.1 调试器
12.2 包管理

读者评论

  • P201:添加路径进 demo.pth , 运行 python -m site 为什么没有看到 demo.pth 里面的路径?

    site-packages/demo.pth

    /usr/local/go
    mypkg

    灵魂x发表于 2018/4/25 17:29:00
  • 我在本地运行的时候(python3.6.4 win10 pycharm)/但是在cmd里面运行的结果跟书上的一样,我觉得这里应该做一个说明

        x = 1234567890000
        y = 1234567890000
        print(id(x))
        print(id(y))
    
        print(x is y)
    
        1995699836880
        1995699836880
        True
    
    xiaohan发表于 2018/3/12 10:57:48
    • x is y == False

      AYu发表于 2018/3/17 8:56:46
    • x = 123456789
      y = x # 引用传递
      x is y == True # 此时123有两个名字x和y

      a = 123456789
      b = 123456789
      a is b == False # 此时并不指向相同对象,仅是指相等,可使用id/1方法观察

      AYu发表于 2018/3/17 10:31:27
    • 注意:见此书P14某个注释:请使用大数字。因为小数字常量会被缓存复用。
      a = 123,b = 123, a is b == True的原因是Python会将这样简单的int类型且值较小的数据缓存复用,也即创建过后不会再创建,而是只引用,因此,建议使用值比较大的整型数据

      AYu发表于 2018/3/17 10:35:50

相关图书

Python编程与3D物理学仿真(视频版)

张继春 (作者)

本书将Python编程和物理力学知识同步结合起来,通过编程将物理概念和物理过程进行3D可视化展 现,帮助读者在3D场景下加深对物理知识的理解和掌握,从而培养读者...

¥89.90

Photoshop设计师精通之道:摄影+平面+UI+网店实战全解

委婉的鱼 (作者)

近些年,Photoshop软件在平面设计、广告摄影、影像创意、网页制作、后期修饰、视觉创意及界面 设计中的重要地位越来越不可被撼动,学好Photoshop是一个...

¥62.30

利用Python轻松学数学

蹇 彤 (作者)

本书将Python编程的基本知识和中小学数学知识紧密结合起来,在介绍Python知识的同时穿插数学趣题和难题的讲解,以引导读者从一个全新的角度来看待编程、体验编...

¥69.00

Python接口自动化测试

王浩然 (作者)

本书主要介绍如何用Python实现接口自动化测试。全书主要内容包括接口基础、接口手工测试、编程前的准备、用Python处理MySQL数据库、用Python发送H...

¥59.00

Python编程之美:最佳实践指南

Reitz,Schlusser (作者) 夏永锋 (译者)

本书是Python用户的一本百科式学习指南,由Python社区数百名成员协作奉献。<br>全书内容分为三大部分。第一部分是关于如何配置使用Python编辑工具的...

¥89.00

Lua程序设计(第4版)

Roberto Ierusalimschy (作者) 梅隆魁 (译者)

本书由 Lua 语言作者亲自撰写,针对 Lua 语言本身由浅入深地从各个方面进行了完整和细致的讲解。作为第 4 版,本书主要针对的是 Lua 5.3,这是本书撰...

¥89.00