Python一行流:像专家一样写代码
1星价
¥66.8
(7.5折)
2星价¥66.8
定价¥89.0
图文详情
- ISBN:9787121419683
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:248
- 出版时间:2021-09-01
- 条形码:9787121419683 ; 978-7-121-41968-3
本书特色
本书译者su27|赖勇浩|大妈|洪强宁|清风|py六大Python元老作序力荐此书|力挺一行流阵营,一行流——升格编码行家的试金石|超一流匠师的编程信仰Python一行流》会教你阅读和编写一行流程序,系统性拆分和理解任意一行Python代码,像专家一样得心应手地编写强壮、紧凑的Python程序。本书有5个章节,覆盖了编程技巧、正则表达式、机器学习、数据科学的核心课题,以及许多有用的算法。通过对单行程序范例的详细介绍,本书解释了计算机科学的关键概念,并可用来提升编码与分析的重要技能。你会学到Python的进阶功能,例如列表解析、切片、lambda函数、正则表达式、map和reduce函数,以及切片赋值等。还将学到以下内容:√ 借助各种数据结构解决真实世界的问题,例如用布尔索引从数据集中找出污染超过平均水平的城市。
√ 使用NumPy的基础功能,如数组、形状、轴、类型、广播、高级索引、切片、排序、搜索、聚合以及数据分析等。
√ 使用K-Means算法进行无监督学习,以对高维数组中的数据进行分析。
√ 编写更高级的正则表达式,会用到组与命名组、前向否定、转义字符、空白字符、字符集(以及反向字符集),以及贪婪/非贪婪操作符。
√ 理解一系列计算机科学主题,包括异形词、回文、幂集、排列、阶乘、素数、斐波那契数列、混淆加密、查找和排序算法。
推荐序一:干一行,爱“一行”几年创业,几经浮沉,我又回到了编码一线,重拾写代码的乐趣。幸好当年读过几本经典书籍打底,如今重操旧业,尚能游刃有余。感慨中刚好春雨兄找我为《Python一行流》作序,读来很有感触,堪比当年经典,便欣然应允。
其实我一直是“一行流”的爱好者。早在使用 Python 2.3 版本的时代,我便尝试如何用一行代码完成字符串里的字符排序,并将过程和结果记录在博客 1 上。虽然自从 Python 2.4 版本增加了 sorted()函数后我的奇技淫巧便没了用武之地,但这种追求精确与极简的 Pythonic 哲学持续地影响着我,多年后我以改善 Python 程序为名出版了自己的**本书。
与我的浅尝辄止不同,这本书把一行流当作了一个研究课题,所以整书极具体系。作者从 Python 语言、库和算法多个层面和角度去探寻更简明的代码写法,有助于读者建立深入挖掘语言特性的动力,*终提升读者的知识水平,写起代码如臂使指,“码”上生花。我曾在网上分享过一段利用数字图像形态学实现茶滤孔数计算的Python 程序,需要 80 行代码,而网友 Arkbird 用一行 mathematica 代码完成同样的算法,“我看不懂,但我大受震憾。” 读者们纷纷点赞。编写一行流的代码是一个“好程序员”的普遍追求,也是对语言、库和算法的掌握程度和编码能力的体现,但阅读本书显然有助于此,读完本书后我编写了自己的“一行流”版本:print(("holes count: ", s := __import__('skimage', fromlist=['measure', 'morphology','io']))[0],s.measure.label(s.morphology.binary_opening(s.io.imread("sample.png", as_gray=True) <0.5, selem=s.morphology.square(3)), return_num=True)[1])代码行数“浓缩”80 倍之后,性能也提升了 37 倍,同时自我感觉对 Python 语言、skimage 库和数字图像算法的理解更进了一步。许多初学者入门后陷入不知道能用 Python 做什么的困惑,不妨读一下这本书,然后尝试把之前写过的代码改为“一行流”风格,应该能大有所获。
本书译者苏丹网名 su27,他是圈内驰名“文艺青年”,前几年一直听说他在写小说,搞文学创作。作为长年混迹文青基地豆瓣网的程序员,这并不奇怪,奇怪的是他突然翻译了这本书。不过 su27 毕竟是在 Python 的“黄埔军校”豆瓣团队中成长起来的,这对本书的品质提供了保障。在阅读这本书的过程中,也印证了我的所想,整本书清晰明了,极具美感,加上作者精心编排的知识体系,读来如上云梯,愉悦中知识就获得了提升,是以为序。
——赖勇浩 广州齐昌网络科技有限公司创始人兼总经理《编写高质量代码:改善Python程序的91个建议》作者
推荐序二:Su27 般大气凌然
(Su27 当然比 Mig29 大气)一直以为 Su27 在写科幻小说,突然邀请来为新书写序,只能感叹:不会写科幻小说的程序员一定不是好翻译
一看内容,更感叹,探讨领域竟然如此“宅”:专注揭露如何在 Python 中编写能浓缩在单行的神级 Pytonic 代码讲真,Guido 老爹当年将 lambda 引入 Python 时,就劝过:函式编程虽好,可别贪杯;为此专门重新设计语法,将 Python 构造为唯一基于排版来划分语法层次的通用脚本语言;要知道,其它通用语言都通过标识符(比如:{} begin end)来划分代码块,本质上无论软件由多少行构成,都可以写在一行里,而编译器照样可以完美解析;(实际上,很多混淆器就是这么干的.)这样一来,在 Python 中无论初中高级,大家写出来的代码,都会很相似,很直白,结构很清晰
但是,脑力过剩的程序员当然要为智商寻求宣泄,果断发现 Python 内置的炫酷可能性:通过列表推导式,就可以轻易绕过缩进规约,将几个想法集中进一行,配合 Lambda 就可以将更多行为集成到一行中;立即,代码看起来就不那么泯然众人矣 -> **眼根本看不明白要干什么
确实,这些可能性,毕竟是老爹精心掩埋的珍宝,以往也只有零星文章介绍几个案例,这次是一整本书,可以大大过瘾;翻译没毛病,老程序猿了;版式也够 geek,清晰区分了内容/代码/注释/点评;(可惜,译者太自谦,没好意思大力插入丰富译注,将自己经验也配套给出,下个版次,值得追加.)内容上,结构清晰,从语法,到模块,到第三方模块,并**时间构建了自己的 元述式:0: 问题阐述1: 常规处理2: 一行流代码3: 如何工作的? 解析
这样一个个案例,就象一片片精致的卡片,有序拼贴起来,形成 一行流 小世界,同时,每个案例故事,又都是能独立使用的,随时可以拎出来用在具体工程中;这应该是流式图书构建法
只可惜,没见到 海象表达式:= 相关案例,这种新语法在 Python 3.8 中正式引入,支持直接在列表推导式中进行复杂的判定,结合迭代工具,简直可以在 ["列表"] 中构造整个儿世界;真心建议,在修订版中,Su27 亲自补一章,将:= 结合到实用场景中,作为中国版一行流大补丁,反馈回作者心上.
——大妈/ZoomQuiet PyUG 联合创始人,蟒营 ? 创始人
推荐序三看到 su27 老师翻译的这本书,我不禁哑然失笑,十几年前我还在中国 Python 用户组的邮件列表里活跃的时候,经常花大量精力和同好们讨论怎么把一段程序写成一行流,一定要找出既简洁又高效的方法来才肯罢休,乐此不疲。从这个游戏出发,逐步形成了如何写出更加 Pythonic 的代码来的认知,而这个美学层面的认知升级,我至今受益不止。编码是快乐的,希望有更多人能从这种“寻找极致”的过程中,体会到代码之美。
——洪强宁 雅识科技联合创始人兼CTO
推荐序四谈起 Python,从 2000 年到 2021 年,一门陪伴了我 20 多年的编程语言,其他语言大多是生命的过客,或者因为某些需求临时起意而去学习使用,但唯独 Python,从始至终用到了现在,但即便用了这么久,都不敢轻言对于 Python 已经彻底了解,尤其谈起一行流,更是各种编程语言论坛里*爱比拼的项目之一,所谓一行流,就是能不能把一个功能用一行代码去实现,Python 的一行流既保证了代码的简洁,又不会牺牲很大的可读性,但一个看似如此简单的事情,如果不对这门编程语言掌握的非常透彻,是很难做到的。如此有趣的主题,这么多年来,却很少看到这个主题的图书,这次有幸读到这本书,也从中学到了很多,尤其是机器学习和算法两个章节,读过之后感觉醍醐灌顶,马上就可以把所学应用到日常工作中去了。同时,本书的翻译者 su27 老师本身也是资深的 Python 开发者,在翻译的准确度和流畅度方面,本书也远超同类图书。*后,很荣幸为此书写序,甚感开心,预祝此书大卖,能够帮助到更多的 Python 学习者与开发者。
——清风 前豆瓣技术总监,开 PA 创始人
推荐序五《Python 一行流》 是一本适合 python 程序员进阶的书,帮助读者更好地领悟python 编程的思维方式。整本书从解决实际问题出发,通过一行流的形式,简洁清晰的解决问题,很多例子都给出了非常新颖的角度。更为难得是,作者并非一味的追求一行流,在多行代码能够带来更好阅读性的时候,作者也欣然推荐指出此处一行流的不住。苏老师的翻译流畅准确,阅读起来非常舒服,无论是中阶 python 程序员还是高阶程序员,相信通过阅读此书都能有所收获。
——彭宇 豆瓣平台架构负责人
内容简介
本书专注于从初学迈向进阶的Python编码技术:如何像专家一样写出优雅、准确、简洁高效的Python 单行代码;阅读任意一行Python 代码时,如何系统性地对其进行拆解和分析。全书分为6 个章节,以单行代码切入计算机科学的各个领域,包括Python 语言基础、编程技巧、基于NumPy的科学计算、机器学习的主要算法模型、正则表达式进阶、计算机科学中若干经典算法的单行实现等。
目录
导语 ........................................................................................................................ 1
Python 一行流的例子 ................................................................................................... 2
关于可读性的说明 ....................................................................................................... 3
这本书是给谁看的? ................................................................................................... 4
你会学到什么? ........................................................................................................... 5
线上资源 ....................................................................................................................... 6
1 Python 温故知新 ................................................................................................ 7
基本数据结构 ............................................................................................................... 8
数值数据类型和结构 ........................................................................................... 8
布尔值 ................................................................................................................... 8
字符串 ................................................................................................................. 11
关键字 None ....................................................................................................... 12
容器数据类型 ............................................................................................................. 13
列表 ..................................................................................................................... 13
堆栈 ..................................................................................................................... 16
集合 ..................................................................................................................... 17
字典 ..................................................................................................................... 19
成员 ..................................................................................................................... 20
XVIII Python 一行流
列表和字典解析 ................................................................................................. 20
控制流 ......................................................................................................................... 21
if、else 和 elif ..................................................................................................... 21
循环 ..................................................................................................................... 22
函数 ............................................................................................................................. 24
lambda 函数 ................................................................................................................. 24
总结 ............................................................................................................................. 25
2 Python 技巧 ..................................................................................................... 27
使用列表解析找出*高收入者 .................................................................................. 28
基础背景 ............................................................................................................. 28
代码 ..................................................................................................................... 30
它是如何工作的 ................................................................................................. 31
使用列表解析找出高信息价值的单词 ...................................................................... 31
基础背景 ............................................................................................................. 31
代码 ..................................................................................................................... 32
它是怎么工作的 ................................................................................................. 32
读取文件 ..................................................................................................................... 33
基础背景 ............................................................................................................. 33
代码 ..................................................................................................................... 34
它是怎么工作的 ................................................................................................. 34
使用 lambda 和 map 函数 ........................................................................................... 35
基础背景 ............................................................................................................. 35
代码 ..................................................................................................................... 36
它是如何工作的 ................................................................................................. 37
使用切片查找匹配子串及所处环境 .......................................................................... 38
基础背景 ............................................................................................................. 38
代码 ..................................................................................................................... 40
它是如何工作的 ................................................................................................. 41
目录 XIX
列表解析和切片 ......................................................................................................... 41
基础背景 ............................................................................................................. 42
代码 ..................................................................................................................... 42
它是如何工作的 ................................................................................................. 43
使用切片赋值来修复损坏的列表 .............................................................................. 43
基础背景 ............................................................................................................. 43
代码 ..................................................................................................................... 44
它是如何工作的 ................................................................................................. 45
使用列表连接分析心脏健康数据 .............................................................................. 46
基础背景 ............................................................................................................. 46
代码 ..................................................................................................................... 48
它是如何工作的 ................................................................................................. 48
使用生成器表达式查出未达*低工资标准的公司 .................................................. 48
基础背景 ............................................................................................................. 49
代码 ..................................................................................................................... 49
它是如何工作的 ................................................................................................. 50
使用 zip()函数格式化数据库 ..................................................................................... 51
基础背景 ............................................................................................................. 51
代码 ..................................................................................................................... 52
它是如何工作的 ................................................................................................. 53
总结 ............................................................................................................................. 54
3 数据科学 .......................................................................................................... 55
基础二维数组计算 ..................................................................................................... 56
基础背景 ............................................................................................................. 56
代码 ..................................................................................................................... 59
它是如何工作的 ................................................................................................. 60
使用 NumPy 数组:切片、广播和数组类型 ........................................................... 61
基础背景 ............................................................................................................. 61
XX Python 一行流
广播 ..................................................................................................................... 64
代码 ..................................................................................................................... 67
它是如何工作的 ................................................................................................. 68
使用条件数组查询、过滤和广播检测异常值 .......................................................... 70
基础背景 ............................................................................................................. 70
代码 ..................................................................................................................... 71
它是如何工作的 ................................................................................................. 72
使用布尔索引过滤二维数组 ...................................................................................... 74
基础背景 ............................................................................................................. 74
代码 ..................................................................................................................... 75
它是如何工作的 ................................................................................................. 76
使用广播、切片赋值和重塑清洗固定步长的数组元素 .......................................... 77
基础背景 ............................................................................................................. 77
代码 ..................................................................................................................... 80
它是如何工作的 ................................................................................................. 81
NumPy 中何时使用 sort()函数,何时使用 argsort()函数 ........................................ 82
基础背景 ............................................................................................................. 82
代码 ..................................................................................................................... 85
它是如何工作的 ................................................................................................. 85
如何使用 lambda 函数和布尔索引来过滤数组 ........................................................ 87
基础背景 ............................................................................................................. 87
代码 ..................................................................................................................... 87
它是如何工作的 ................................................................................................. 88
如何使用统计、数学和逻辑来创建高级数组过滤器 .............................................. 89
基础背景 ............................................................................................................. 89
代码 ..................................................................................................................... 93
它是如何工作的 ................................................................................................. 94
简单的关联分析:买了 X 的人也买了 Y .............................................................. 94
基础背景 ............................................................................................................. 94
代码 ..................................................................................................................... 95
目录 XXI
它是如何工作的 ................................................................................................. 96
使用中间关联分析寻找*佳捆绑策略 ...................................................................... 98
基础背景 ............................................................................................................. 98
代码 ..................................................................................................................... 98
它是怎么工作的 ................................................................................................. 99
总结 ........................................................................................................................... 100
4 机器学习 ........................................................................................................ 102
监督式机器学习的基础知识 .................................................................................... 102
训练阶段 ........................................................................................................... 103
推理阶段 ........................................................................................................... 104
线性回归 ................................................................................................................... 104
基础背景 ........................................................................................................... 104
代码 ................................................................................................................... 107
它是如何工作的 ............................................................................................... 108
逻辑回归的一行流 ................................................................................................... 110
基础背景 ........................................................................................................... 110
Sigmoid 函数 ................................................................................................... 111
代码 ................................................................................................................... 114
它是如何工作的 ............................................................................................... 114
K-Means 聚类算法一行流 ....................................................................................... 116
基础背景 ........................................................................................................... 116
代码 ................................................................................................................... 119
它是如何工作的 ............................................................................................... 120
K-近邻算法一行流 ................................................................................................... 122
基础背景 ........................................................................................................... 122
代码 ................................................................................................................... 124
它是如何工作的 ............................................................................................... 125
神经网络分析一行流 ............................................................................................... 127
XXII Python 一行流
基础背景 ........................................................................................................... 127
代码 ................................................................................................................... 132
它是如何工作的 ............................................................................................... 133
决策树学习一行流 ................................................................................................... 136
基础背景 ........................................................................................................... 136
代码 ................................................................................................................... 137
它是如何工作的 ............................................................................................... 138
一行流计算方差*小的数据行 ................................................................................ 139
基础背景 ........................................................................................................... 139
代码 ................................................................................................................... 140
它是如何工作的 ............................................................................................... 141
基本统计一行流 ....................................................................................................... 142
基础背景 ........................................................................................................... 143
代码 ................................................................................................................... 144
它是如何工作的 ............................................................................................... 145
支持向量机分类一行流............................................................................................ 146
基础背景 ........................................................................................................... 147
代码 ................................................................................................................... 148
它是如何工作的 ............................................................................................... 149
随机森林分类一行流 ............................................................................................... 150
基础背景 ........................................................................................................... 150
代码 ................................................................................................................... 152
它是如何工作的 ............................................................................................... 152
总结 ........................................................................................................................... 154
5 正则表达式 .................................................................................................... 155
在字符串中找到基本文本模式 ................................................................................ 155
基础背景 ........................................................................................................... 156
代码 ................................................................................................................... 159
目录 XXIII
它是如何工作的 ............................................................................................... 159
用正则表达式编写你的**个网络爬虫 ................................................................ 160
基础背景 ........................................................................................................... 160
代码 ................................................................................................................... 162
它是如何工作的 ............................................................................................... 162
分析 HTML 文档中的超链接 .................................................................................. 163
基础背景 ........................................................................................................... 163
代码 ................................................................................................................... 165
它是如何工作的 ............................................................................................... 166
从字符串中提取美元金额 ........................................................................................ 167
基础背景 ........................................................................................................... 168
代码 ................................................................................................................... 169
它是如何工作的 ............................................................................................... 169
找出不安全的 HTTP URL ........................................................................................ 170
基础背景 ........................................................................................................... 170
代码 ................................................................................................................... 171
它是如何工作的 ............................................................................................... 171
验证用户输入的时间格式(**部分) ................................................................ 172
基础背景 ........................................................................................................... 172
代码 ................................................................................................................... 173
它是如何工作的 ............................................................................................... 174
验证用户输入的时间格式(第二部分) ................................................................ 174
基础背景 ........................................................................................................... 175
代码 ................................................................................................................... 175
它是如何工作的 ............................................................................................... 176
字符串中的重复检测 ............................................................................................... 176
基础背景 ........................................................................................................... 176
代码 ................................................................................................................... 177
它是如何工作的 ............................................................................................... 178
检测重复单词 ........................................................................................................... 179
XXIV Python 一行流
基础背景 ........................................................................................................... 179
代码 ................................................................................................................... 179
它是如何工作的 ............................................................................................... 180
用正则模式在多行字符串中进行修改 .................................................................... 181
基础背景 ........................................................................................................... 181
代码 ................................................................................................................... 181
它是如何工作的 ............................................................................................... 182
总结 ........................................................................................................................... 183
6 算法 ............................................................................................................... 184
用 lambda 函数及排序找出异形词 .......................................................................... 185
基础背景 ........................................................................................................... 185
代码 ................................................................................................................... 186
它是如何工作的 ............................................................................................... 187
用 lambda 函数和负索引切片找出回文 .................................................................. 188
基础背景 ........................................................................................................... 188
代码 ................................................................................................................... 189
它是如何工作的 ............................................................................................... 189
用递归阶乘函数计算排列数 .................................................................................... 189
基础背景 ........................................................................................................... 190
代码 ................................................................................................................... 192
它是如何工作的 ............................................................................................... 192
找到 Levenshtein 距离 .............................................................................................. 194
基础背景 ........................................................................................................... 194
代码 ................................................................................................................... 195
它是如何工作的 ............................................................................................... 195
通过函数式编程计算幂集 ........................................................................................ 198
基础背景 ........................................................................................................... 198
代码 ................................................................................................................... 200
目录 XXV
它是如何工作的 ............................................................................................... 200
用高级索引和列表解析来实现恺撒密码的加密 .................................................... 201
基础背景 ........................................................................................................... 201
代码 ................................................................................................................... 202
它是如何工作的 ............................................................................................... 203
用 Eratosthenes 筛法找出素数 ................................................................................. 204
基础背景 ........................................................................................................... 204
代码 ................................................................................................................... 205
它是如何工作的 ............................................................................................... 206
用 reduce()函数计算 Fibonacci 数列 ........................................................................ 211
基础背景 ........................................................................................................... 211
代码 ................................................................................................................... 211
它是如何工作的 ............................................................................................... 212
一种递归的二分查找算法 ........................................................................................ 214
基础背景 ........................................................................................................... 214
代码 ................................................................................................................... 216
它是如何工作的 ............................................................................................... 216
递归快速排序算法 ................................................................................................... 217
基础背景 ........................................................................................................... 218
代码 ................................................................................................................... 219
它是如何工作的 ............................................................................................... 219
总结 ........................................................................................................................... 220
后记 .................................................................................................................... 221
展开全部
作者简介
本书专注于从初学迈向进阶的python编码技术:如何像专家一样写出优雅、准确、简洁高效的python单行代码;以及阅读任何一行python代码时,如何系统性地对其进行拆解和分析。全书分为六个章节,以单行代码切入到计算机科学的各个领域,包括python语言基础、编程技巧、基于NumPy的科学计算、机器学习的主要算法模型、正则表达式进阶、计算机科学中若干经典算法的单行实现等。译者苏丹,网上id一般为su27,2009年毕业于北京师范大学数学系,主要从事后端编程,也曾从事前端与客户端开发工作。目前为豆瓣用户产品后端负责人,日常跟Python打交道较多。2016年翻译出版《深入理解 Flask》一书。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定