新書推薦:
《
与骸骨交谈:我希望每一个真相都被发现
》
售價:HK$
76.2
《
人体使用手册3:自愈力的逻辑(全面解读身体面对疾病时的反应逻辑,学习更多有效的系列家庭按摩)
》
售價:HK$
61.6
《
素描简史:从文艺复兴到现代艺术
》
售價:HK$
436.8
《
智慧宫丛书028·神工智能 诸神与古代世界的神奇造物
》
售價:HK$
87.4
《
街头健身训练指南
》
售價:HK$
266.6
《
留学早规划
》
售價:HK$
76.2
《
文化的演化:民众动机正在重塑世界
》
售價:HK$
88.5
《
布鲁克林有棵树(孩子喜欢的阅读经典读本 基于真实生活的全球经典成长小说 走出成长困境 追逐梦想 人生励志 自我塑造小说)
》
售價:HK$
76.2
|
編輯推薦: |
这是一本面向初学者的Python编程入门书,特别适合没有任何编程基础的读者学习。如果你想要学习Python编程,或者想转型到人工智能领域寻找机会,那么我向你真诚的推荐这样一本好书,我的理由是:
首先,《细说Python编程:从入门到科学计算》由两位长期使用Python编程的博士执笔,他们在领域内工作多年,对Python语言有透彻深入的理解,他们会教给你正确高效的编程学习方法。不走弯路,才能行稳致远,不是吗。
其次,《细说Python编程:从入门到科学计算》内容涵盖了Python编程的核心知识点,完全可满足入门者的学习需求。值得一提的是,《细说Python编程:从入门到科学计算》还扩展性地介绍了更多的知识,如数据库编程、网络编程、代码测试、程序打包、科学计算等,还针对每个知识点介绍了更深入的知识,如容器部分,除介绍容器的基本功能和使用方法之外,还介绍了嵌套容器的使用,对于函数部分在介绍了基本常用的函数之外,还介绍了Lambda表达式函数、闭包和递归函数,装饰器部分介绍了其多种应用场景,代码测试部分介绍了doctesst和unittest测试工具的使用,等等,这些知识也是实际编程中经常
|
內容簡介: |
《细说Python编程:从入门到科学计算》以Python 3.x为平台,由两位博士执笔,详尽细致地阐述Python编程的基础知识和高级技巧,并以大量示例代码进行实践,同时还介绍人工智能领域广泛使用的科学计算工具NumPy。《细说Python编程:从入门到科学计算》分为两篇,共19章。第1篇(第1~11章)为基础知识,主要讲解Python的编译环境、入门知识、字符串、容器、函数、循环、条件选择、模块、类、类的特殊成员、文件;第2篇(第12~19章)为高级应用,包括异常处理、日期和时间、测试代码、程序打包、使用数据库、网络编程、图形用户界面、科学计算等内容。全书知识点丰富,辅之以示例演示,读者可以边学边练,快速掌握。 《细说Python编程:从入门到科学计算》还提供了16小时共151节微课教学视频,读者扫码即可观看学习,免费提供的示例源码文件可直接调用,方便上机操练。 《细说Python编程:从入门到科学计算》深入浅出,内容新颖,涉及面广,适合想要学习Python编程的各层次读者。
|
關於作者: |
凌峰,毕业于中国科学院大学,博士,高级职称,从事机器学习、人工智能、图像处理、计算机视觉的研究与开发工作多年,拥有丰富的机器学习算法实现经验,身手不凡,却不喜欢抛头露面,是一位真正低调的AI高手。
韩晓泉,毕业于中国科学院研究生院,博士,正高级职称,从事集成电路制造装备与光电精密测控研发工作近二十年,熟悉控制算法、机器视觉、光电测量和数据处理等研究方向,发表论文30余篇,授权发明专利10余项。
|
目錄:
|
第1篇 基础知识
第 1 章 构建Python开发环境3
1.1 初识Python3
1.2 安装Python4
1.2.1 在Windows环境下安装5
1.2.2 在Linux环境下安装7
1.2.3 在Mac环境下安装7
1.3 Python IDE和Anaconda介绍7
1.3.1 Python IDE8
1.3.2 PyCharm10
1.3.3 Anaconda介绍15
1.4 认识Python程序15
1.4.1 命令行15
1.4.2 Python代码行16
1.4.3 Python脚本17
1.4.4 缩进17
1.4.5 注释19
1.5 小结19
第 2 章 开始你的Python编程20
2.1 Python的基本编码规范20
2.2 关键字24
2.3 常量与变量24
2.4 标识符26
2.5 运算符27
2.5.1 算术运算符27
2.5.2 比较运算符28
2.5.3 逻辑运算符29
2.5.4 位运算符29
2.5.5 成员运算符30
2.5.6 身份运算符30
2.5.7 赋值运算符31
2.5.8 运算符优先级32
2.6 数据类型33
2.6.1 整数型33
2.6.2 浮点型35
2.6.3 复数型36
2.6.4 字节型37
2.6.5 布尔型38
2.6.6 字符串型39
2.7 内置函数42
2.7.1 内置函数的概念42
2.7.2 几个常用的内置函数43
2.8 小结46
第 3 章 字符串47
3.1 字符串的基本操作47
3.1.1 字符串索引和切片47
3.1.2 字符串是不可变的50
3.1.3 字符串拼接50
3.1.4 字符串长度52
3.1.5 字符串分割54
3.1.6 返回字符串中最大的字母和最小的字母55
3.1.7 字符串填充56
3.2 转义字符57
3.3 字符串运算符59
3.4 字符串格式化60
3.5 字符串检索与统计61
3.5.1 统计字符串出现的次数61
3.5.2 检测字符串中是否包含某子串63
3.5.3 检索字符串开头和结尾65
3.6 字符串大小写转换66
3.6.1 大小写全部转换67
3.6.2 字符串头部大小写转换68
3.6.3 大小写反转69
3.6.4 字符串替换69
3.7 删除指定字符串70
3.8 字符串合并72
3.9 字符串对齐72
3.9.1 ljust()方法73
3.9.2 rjust()方法74
3.9.3 center()方法75
3.10 字符串编解码76
3.10.1 字符串编码76
3.10.2 字符串解码77
3.11 小结78
第 4 章 容器79
4.1 列表79
4.1.1 列表的创建方法79
4.1.2 列表的基本操作81
4.1.3 列表方法84
4.1.4 创建数字列表89
4.2 元组90
4.2.1 元组的创建方法90
4.2.2 元组的访问91
4.3 字典93
4.3.1 字典的应用93
4.3.2 创建字典93
4.3.3 字典的常见操作94
4.3.4 字符串用于字典96
4.3.5 字典方法96
4.3.6 使用字典时的注意事项104
4.4 集合105
4.4.1 集合的创建105
4.4.2 集合方法106
4.5 容器嵌套112
4.5.1 字典列表113
4.5.2 在字典中存储列表113
4.6 小结113
第 5 章 函数114
5.1 函数的定义和调用114
5.1.1 函数的定义115
5.1.2 函数的调用116
5.1.3 提供说明文档116
5.2 函数参数和返回值117
5.2.1 函数参数及其传递117
5.2.2 关键字参数119
5.2.3 位置参数119
5.2.4 默认参数121
5.2.5 不定长参数122
5.2.6 函数的返回值123
5.3 空值125
5.4 变量的作用域126
5.4.1 局部变量126
5.4.2 全局变量128
5.5 局部函数129
5.6 exec()函数和eval()函数132
5.7 函数的高级话题134
5.7.1 lambda匿名函数135
5.7.2 函数式编程136
5.7.3 闭包函数138
5.7.4 递归139
5.8 小结141
第 6 章 循环142
6.1 while循环142
6.1.1 while的用法142
6.1.2 while...else语句144
6.1.3 while嵌套144
6.2 for循环145
6.2.1 for的用法145
6.2.2 for...else语句147
6.2.3 for嵌套148
6.2.4 使用for循环遍历字典150
6.3 break语句153
6.4 continue语句155
6.5 pass语句156
6.6 循环中的常用内置函数157
6.6.1 zip()函数157
6.6.2 reversed()函数158
6.6.3 sorted()函数160
6.7 小结162
第 7 章 条件选择163
7.1 if语句详解163
7.1.1 if语句164
7.1.2 if else语句164
7.1.3 if elif else166
7.2 条件测试167
7.2.1 是否相等167
7.2.2 是否不相等168
7.2.3 比较数字169
7.2.4 检查多个条件169
7.2.5 检查字典中的特定值170
7.3 if语句处理列表171
7.3.1 确定列表不是空的171
7.3.2 处理列表中的特殊元素171
7.3.3 多个列表172
7.4 条件语句和循环语句结合应用173
7.4.1 实现简单的用户登录验证程序173
7.4.2 打印空心等边三角形173
7.4.3 打印空心菱形174
7.4.4 打印空心正方形175
7.5 小结176
第 8 章 模块、包和标准库177
8.1 模块177
8.1.1 创建模块178
8.1.2 使用模块180
8.2 包182
8.2.1 创建包182
8.2.2 安装包183
8.3 探索模块185
8.3.1 模块包含什么185
8.3.2 使用help获取帮助186
8.3.3 文档187
8.3.4 使用源代码188
8.4 标准库188
8.4.1 os189
8.4.2 sys190
8.4.3 random191
8.4.4 re194
8.4.5 其他常用的标准模块200
8.5 小结201
第 9 章 类202
9.1 一切皆对象202
9.1.1 面向对象概述202
9.1.2 面向对象相关术语204
9.2 创建和使用类204
9.2.1 如何定义类204
9.2.2 __init__()类的构造方法206
9.2.3 类的实例化207
9.2.4 类对象的使用208
9.2.5 self用法详解212
9.2.6 使用type()函数动态创建类214
9.2.7 MetaClass元类215
9.3 类属性和实例属性217
9.3.1 类变量(类属性)217
9.3.2 实例变量(实例属性)221
9.3.3 类的局部变量224
9.3.4 使用property()函数定义属性224
9.3.5 限制类实例动态添加属性和方法227
9.4 方法230
9.4.1 实例方法230
9.4.2 静态方法231
9.4.3 类方法232
9.4.4 调用实例方法233
9.4.5 描述符233
9.4.6 @property装饰器235
9.5 Python类命名空间237
9.6 封装238
9.6.1 Python类的封装239
9.6.2 封装底层实现原理241
9.7 类的继承242
9.7.1 单继承243
9.7.2 多继承244
9.7.3 子类继承父类构造函数说明246
9.7.4 父类方法重写248
9.7.5 super()使用注意事项250
9.8 多态及用法详解252
9.9 接口254
9.10 抽象基类256
9.11 枚举类的定义和使用258
9.12 搜索引擎的实现263
9.13 面向对象编程建议266
9.13.1 与类相关的编码风格266
9.13.2 编程建议266
9.14 小结267
第 10 章 类的特殊成员268
10.1 常用类的特殊方法268
10.1.1 创建类实例269
10.1.2 显示属性270
10.1.3 销毁对象271
10.1.4 列出对象的所有属性(方法)273
10.1.5 查看对象的内部属性274
10.1.6 __call__()方法277
10.2 常用函数及用法278
10.2.1 hasattr()函数278
10.2.2 getattr()函数279
10.2.3 setattr()函数280
10.2.4 类型检查282
10.3 运算符重载285
10.3.1 何谓运算符重载285
10.3.2 使用重载运算符实现自定义序列287
10.4 迭代器和生成器289
10.4.1 迭代器289
10.4.2 生成器292
10.4.3 生成器方法294
10.5 函数装饰器298
10.5.1 函数装饰器的原理298
10.5.2 含参函数装饰器300
10.5.3 函数装饰器嵌套301
10.6 装饰器的应用场景302
10.6.1 身份认证302
10.6.2 日志记录303
10.6.3 输入合理性检查303
10.6.4 缓存装饰器304
10.7 小结304
第 11 章 文件305
11.1 打开文件305
11.2 文件对象的基本操作307
11.2.1 读取与写入307
11.2.2 使用管道重定向输出308
11.2.3 读取和写入行309
11.2.4 关闭文件314
11.3 迭代文件内容315
11.3.1 每次读取一个字符(或字节)315
11.3.2 每次一行316
11.3.3 读取所有内容317
11.3.4 延迟行迭代实现318
11.3.5 文件迭代器318
11.4 使用tell()函数和seek()函数读写文件319
11.4.1 tell()函数的使用320
11.4.2 seek()函数的使用320
11.5 with as的用法322
11.6 上下文管理器323
11.6.1 基于类实现323
11.6.2 基于生成器实现324
11.7 常用的文件模块325
11.7.1 pickle模块325
11.7.2 linecache模块328
11.7.3 pathlib模块329
11.7.4 fnmatch模块333
11.7.5 os模块334
11.8 tempfile模块343
11.9 小结345
第 2 篇 高级应用
第 12 章 异常349
12.1 异常是什么349
12.2 Python常见的异常类型350
12.2.1 Python语法错误350
12.2.2 Python运行时错误350
12.3 raise的用法355
12.3.1 raise语句的用法355
12.3.2 自定义异常类356
12.4 捕获异常357
12.4.1 raise捕获异常358
12.4.2 复杂except子句360
12.4.3 一次捕获多种异常361
12.4.4 捕获对象362
12.4.5 捕获所有异常362
12.4.6 捕获异常并顺利执行代码363
12.4.7 finally子句365
12.5 跟踪异常信息367
12.5.1 异常和函数367
12.5.2 sys.exc_info()方法368
12.5.3 traceback模块369
12.6 警告371
12.7 小结373
第 13 章 日期和时间374
13.1 Python中几个与时间相关的术语374
13.2 Python中时间的表示375
13.3 time模块376
13.4 datetime模块379
13.4.1 datetime.date类379
13.4.2 datetime.time类382
13.4.3 datetime.datetime类383
13.4.4 时间戳与时间字符串转换386
13.4.5 datetime.timedelta类387
13.5 calendar模块389
13.6 时间格式化输出391
13.7 小结392
第 14 章 测试代码393
14.1 先测试,再编码393
14.1.1 准确的需求说明394
14.1.2 做好应对变化的准备394
14.1.3 测试四步曲395
14.2 测试工具396
14.2.1 doctest框架的使用396
14.2.2 unittest的简单使用397
14.3 超越单元测试400
14.3.1 源代码检查400
14.3.2 性能分析402
14.4 小结402
第 15 章 程序打包403
15.1 Setuptools基础403
15.2 打包405
15.3 编译扩展406
15.4 创建可执行程序407
15.5 小结408
第 16 章 使用数据库409
16.1 数据库API409
16.1.1 全局变量410
16.1.2 异常410
16.1.3 连接和游标411
16.1.4 类型412
16.2 SQLite和PySQLite413
16.2.1 SQLite起步413
16.2.2 数据库应用示例414
16.3 小结416
第 17 章 网络编程417
17.1 网络模块417
17.1.1 socket模块417
17.1.2 urllib和urllib2模块419
17.1.3 其他模块420
17.2 SocketServer模块及相关的类420
17.3 处理多个连接421
17.3.1 分叉和线程化实现421
17.3.2 异步I/O实现422
17.4 Twisted424
17.4.1 下载并安装Twisted425
17.4.2 编写Twisted服务器425
17.5 小结427
第 18 章 图形用户界面428
18.1 建立简单的Python GUI428
18.1.1 准备工作429
18.1.2 GUI布局430
18.1.3 事件处理431
18.1.4 GUI文本编辑器432
18.2 Tkinter编程433
18.2.1 Tkinter控件及使用434
18.2.2 Tkinter的应用434
18.3 小结436
第 19 章 科学计算437
19.1 NumPy基础437
19.1.1 NumPy概述438
19.1.2 ndarray对象438
19.1.3 NumPy数据类型对象440
19.2 数组属性与创建数组442
19.2.1 数组属性442
19.2.2 创建数组445
19.2.3 从已有的数组创建数组447
19.2.4 从数值范围创建数组449
19.3 切片和索引452
19.3.1 切片和索引452
19.3.2 整数数组索引454
19.3.3 布尔索引455
19.3.4 花式索引456
19.4 迭代数组457
19.4.1 控制遍历顺序458
19.4.2 修改数组中元素的值460
19.4.3 使用外部循环460
19.5 处理数组461
19.5.1 修改数组形状461
19.5.2 翻转数组464
19.5.3 修改数组维度468
19.5.4 连接数组472
19.5.5 分割数组475
19.5.6 数组元素的添加与删除478
19.6 使用数学运算函数484
19.6.1 算术函数485
19.6.2 三角函数488
19.6.3 舍入函数490
19.7 小结491
参考文献492
|
內容試閱:
|
人工智能已成为国际竞争的新焦点。人工智能是引领未来的战略性技术,世界主要发达国家把发展人工智能作为提升国家竞争力、维护国家安全的重大战略,加紧出台规划和政策,围绕核心技术、顶尖人才、标准规范等强化部署,力图在新一轮国际科技竞争中掌握主导权。
当前,我国面临的国家安全和国际竞争形势更加复杂,必须放眼全球,把人工智能发展放在国家战略层面系统布局、主动谋划,牢牢把握人工智能发展新阶段国际竞争的战略主动,打造竞争新优势,开拓发展新空间,有效保障国家安全。
人工智能已成为经济发展的新引擎。人工智能作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎,重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式,引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。
我国经济发展进入新常态,深化供给侧结构性改革任务非常艰巨,必须加快人工智能深度应用,培育壮大人工智能产业,为我国经济发展注入新动能。
随着人工智能如火如荼地发展,特别是ChatGPT的横空出世,把人工智能带到了一个新高度,人工智能引领各行各业发生划时代变革,已形成共识。Python作为人工智能应用开发广泛使用的编程语言,其流行程度急剧上升,由于主流深度学习框架都是用Python编写的,因此人工智能是Python的主流应用领域。目前,Python已成为深度学习、人工智能、大数据等专业的重要基础语言,无论是从业者,还是在校生,人工智能都有可能成为其未来职业的新引擎,助力其在社会发挥更大能量,而学习Python编程可以说是进入人工智能行业、深入了解人工智能的最佳方式。
本书特点
由业界专家执笔:本书由两位工作多年的博士执笔,他们从事人工智能及相关行业多年,拥有丰富的实践经验,对于初次接触Python编程的读者来说,本书通俗易懂、由浅入深的讲解,会让读者非常容易接受和理解。
循序渐进,兼备入门与进阶:从基础开始,循序渐进地按编程规范讲解Python编程的方方面面,适合初学者入门。同时,针对每个知识点,扩展性地讲解了更深入的知识,便于有能力的读者了解更深入的内容。
知识点辅之以丰富示例:学习编程,不能只是纸上谈兵,边学边练,勤于上机练习,才能事半功倍。为便于读者高效掌握,本书几乎所有知识点都提供了丰富的示例,全书精心设计了超过600个示例,只要读者跟着这些示例练习,相信你很快就能成为编程高手。
助力进入人工智能行业:本书还详尽细致地介绍了广泛用于人工智能领域的科学计算工具NumPy,对于想从事人工智能工作的不同专业的大学生、想转型到AI领域的开发人员和技术人员,掌握该工具很有必要,希望本书能助你一臂之力。
本书内容
本书分为两篇,共19章,各章内容介绍如下:
第1篇为基础知识 主要讲解了如何构建Python开发环境,编程的基本规范和常用数据类型,容器和容器的嵌套方法,函数的定义、调用、参数传递、闭包,程序控制,Python模块、包和标准库,类,文件的操作等。具体包括以下章节:
第1章 构建Python开发环境 第2章 开始你的Python编程
第3章 字符串 第4章 容器
第5章 函数 第6章 循环
第7章 条件选择 第8章 模块、包和标准库
第9章 类 第10章 类的特殊成员
第11章 文件
第2篇为高级应用 主要讲解了Python异常、创建异常、捕捉异常,日期、时间相关的类及其用法,代码测试方法,程序打包工具和方法,构建简单的数据库模块,常用的网络编程模块,图形用户模块,开源科学计算库NumPy的用法等。具体包括以下章节:
第12章 异常 第13章 日期和时间
第14章 测试代码 第15章 程序打包
第16章 使用数据库 第17章 网络编程
第18章 图形用户界面 第19章 科学计算
配套资源
为方便读者高效学习本书内容,本书还提供了教学视频和示例源码,具体说明如下。
教学视频
全书共提供了151节,超过16小时的配套教学视频,读者扫描各章节的二维码即可观看,大幅提升学习效率。
示例源码
读者可扫描右侧的二维码下载配套示例源码。
可按扫描后的页面提示填写你的邮箱,把下载链接转发到邮箱中下载。如果下载有问题或阅读中发现问题,请用电子邮件联系booksaga@126.com,邮件主题写“细说Python编程:从入门到科学计算”。
读者对象
本书适合以下读者阅读:
Python编程初学者和爱好者
大专院校和培训机构的教师和学生
想转行进入AI行业的从业人员
从事数据分析的科研工作人员
为了方便解决本书的疑难问题,读者朋友在学习过程中遇到与本书有关的技术问题,可以关注“算法仿真在线”公众号获取帮助。
本书由凌峰、韩晓泉编著,虽然编者在本书的编写过程中力求叙述准确、完善,但限于水平,书中欠妥之处在所难免,希望广大读者和同仁能及时指出,共同促进本书质量的提高。
最后,希望本书能为读者的学习和工作提供帮助!
编者
2023年4月
|
|