新書推薦:
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:HK$
76.2
《
美丽与哀愁:第一次世界大战个人史
》
售價:HK$
143.4
《
国家豁免法的域外借鉴与实践建议
》
售價:HK$
188.2
《
大单元教学设计20讲
》
售價:HK$
76.2
《
儿童自我关怀练习册:做自己最好的朋友
》
售價:HK$
69.4
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:HK$
62.7
《
元好问与他的时代(中华学术译丛)
》
售價:HK$
87.4
《
汽车传感器结构·原理·检测·维修
》
售價:HK$
109.8
|
編輯推薦: |
本书第1版是Python入门经典,累计10多万读者由此步入Python殿堂!为便于读者高效学习,快速掌握Python 编程方法,本书第2版提供完整的教学课件、完整的源代码与丰富的配套视频教程等内容。
|
內容簡介: |
本书是一部系统论述Python 编程语言、OOP 编程思想以及函数式编程思想的立体化教程(含图书、教学课件、源代码与视频教程)。全书共分为四篇:篇Python 语言基础( ~ 8 章),第二篇Python 编程进阶(第9 ~17 章),第三篇Python 常用库与框架(8 ~ 22 章),第四篇Python 项目实战(第23 ~ 28 章)。主要内容包括:开篇综述、开发环境搭建、个Python 程序、Python 语法基础、Python 编码规范、数据类型、运算符、控制语句、数据结构(序列、集合和字典)、函数与函数式编程、面向对象编程、异常处理、常用模块、正则表达式、文件操作与管理、数据交换格式、数据库编程、网络编程、wxPython 图形用户界面编程、Python 多线程编程、项目实战1 :网络爬虫技术爬取搜狐证券股票数据、项目实战2 :数据分析技术贵州茅台股票数据分析、项目实战3 :数据可视化技术贵州茅台股票数据可视化、项目实战4 :计算机视觉技术网站验证码识别、项目实战5 :Python Web Flask 框架PetStore 宠物商店项目、项目实战6:Python 综合技术QQ 聊天工具开发。
为便于读者高效学习,快速掌握Python 编程方法,本书提供完整的教学课件、完整的源代码与丰富的配套视频教程以及在线答疑服务等内容。
本书适合作为Python 程序设计者的参考用书。
|
關於作者: |
关东升一个在IT领域摸爬滚打20多年的老程序员、知名培训专家、畅销书作家。精通多种IT技术。参与设计和开发北京市公交一卡通大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目,并在App Store发布多款游戏和应用软件。 长期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位提供培训服务。先后出版了《iOS开发指南》《从零开始学Swift》《Android网络游戏开发实战》《Cocos2d-x实战》《Java从小白到大牛》《Kotlin从小白到大牛》等40多部图书。
|
目錄:
|
推荐序1
前言3
知识图谱4
第一篇 Python语言基础
第1章 开篇综述3
1.1 Python语言历史4
1.2 Python语言设计哲学Python之禅4
1.3 Python语言特点5
1.4 Python语言应用前景6
1.5 如何获得帮助7
第2章 开发环境搭建8
2.1 搭建Python环境8
2.2 PyCharm开发工具10
2.2.1 下载和安装11
2.2.2 设置Python解释器12
2.3 文本编辑工具14
2.4 本章小结14
2.5 动手实践14
第3章 第一个Python程序15
3.1 使用PythonShell15
3.2 使用PyCharm实现17
3.2.1 创建项目17
3.2.2 创建Python代码文件19
3.2.3 编写代码20
3.2.4 运行程序20
3.3 文本编辑工具 Python解释器实现21
3.3.1 编写代码21
3.3.2 运行程序21
3.4 代码解释22
Python6从小白到大牛(第2版)
3.5 本章小结23
3.6 动手实践:世界,你好23
第4章 Python语法基础24
4.1 标识符和关键字24
4.1.1 标识符24
4.1.2 关键字24
4.2 变量和常量25
4.2.1 变量25
4.2.2 常量25
4.3 注释25
4.4 语句26
4.5 模块27
4.6 包28
4.6.1 创建包28
4.6.2 包导入29
4.7 本章小结30
4.8 同步练习30
第5章 Python编码规范31
5.1 命名规范31
5.2 注释规范32
5.2.1 文件注释32
5.2.2 文档注释32
5.2.3 代码注释34
5.2.4 使用TODO注释.35
5.3 导入规范36
5.4 代码排版37
5.4.1 空行37
5.4.2 空格38
5.4.3 缩进39
5.4.4 断行39
5.5 本章小结40
5.6 同步练习40
第6章 数据类型42
6.1 数字类型42
6.1.1整数类型42
6.1.2 浮点类型43
6.1.3 复数类型43
6.1.4 布尔类型43
目录7
6.2 数字类型互相转换44
6.2.1 隐式类型转换44
6.2.2 显式类型转换45
6.3 字符串类型45
6.3.1 字符串表示方式45
6.3.2 字符串格式化47
6.3.3 字符串查找49
6.3.4 字符串与数字互相转换50
6.4 本章小结51
6.5 同步练习52
第7章 运算符53
7.1 算术运算符53
7.1.1 一元运算符53
7.1.2 二元运算符53
7.2 关系运算符55
7.3 逻辑运算符56
7.4 位运算符57
7.5 赋值运算符59
7.6 其他运算符61
7.6.1 同一性测试运算符61
7.6.2 成员测试运算符62
7.7 运算符优先级62
7.8 本章小结63
7.9 同步练习63
第8章 控制语句64
8.1 分支语句64
8.1.1 if结构64
8.1.2 if-else结构65
8.1.3 elif结构66
8.1.4 三元运算符替代品条件表达式67
8.2 循环语句67
8.2.1 while语句67
8.2.2 for语句68
8.3 跳转语句69
8.3.1 break语句69
8.3.2 continue语句70
8.3.3 while和for中的else语句70
8.4 使用范围72
Python8从小白到大牛(第2版)
8.5 本章小结72
8.6 同步练习72
8.7 动手实践:计算水仙花数73
第二篇 Python编程进阶
第9章 序列77
9.1 序列概述77
9.1.1 索引操作78
9.1.2 序列的加和乘78
9.1.3 序列切片79
9.2 元组80
9.2.1 创建元组80
9.2.2访问元组81
9.2.3 遍历元组82
9.3 列表82
9.3.1 列表创建83
9.3.2 追加元素83
9.3.3 插入元素84
9.3.4 替换元素84
9.3.5 删除元素84
9.3.6 其他常用方法85
9.3.7 列表推导式86
9.4 本章小结87
9.5 同步练习87
9.6 动手实践:使用列表推导式87
第10章 集合88
10.1 可变集合88
10.1.1 创建可变集合88
10.1.2 修改可变集合89
10.1.3 遍历集合90
10.2 不可变集合90
10.3 集合推导式91
10.4 本章小结92
10.5 同步练习92
10.6动手实践:使用集合推导式92
第11章 字典93
11.1 创建字典93
目录9
11.1.1 使用大括号创建字典93
11.1.2 使用dict函数创建字典94
11.2 修改字典95
11.3 访问字典96
11.4 遍历字典96
11.5 字典推导式97
11.6 本章小结98
11.7 同步练习98
11.8 动手实践:使用字典推导式98
第12章 函数与函数式编程99
12.1 定义函数99
12.2 函数参数100
12.2.1 使用关键字参数调用函数100
12.2.2 参数默认值100
12.2.3 单星号(*)可变参数101
12.2.4 双星号(**)可变参数102
12.3 函数返回值102
12.3.1 无返回值函数102
12.3.2 多返回值函数103
12.4 函数变量作用域104
12.5 生成器105
12.6 嵌套函数107
12.7 函数式编程基础108
12.7.1 高阶函数与函数类型108
12.7.2 函数作为其他函数返回值使用109
12.7.3 函数作为其他函数参数使用109
12.7.4 匿名函数与lambda表达式110
12.8 函数式编程的三大基础函数111
12.8.1 过滤函数filter111
12.8.2 映射函数map112
12.8.3 聚合函数reduce112
12.9 装饰器113
12.9.1 一个没有使用装饰器的示例113
12.9.2 使用装饰器114
12.9.3 同时使用多个装饰器114
12.9.4 给装饰器传递参数115
12.10 本章小结116
12.11 同步练习116
Python10从小白到大牛(第2版)
12.12 动手实践:找出素数117
第13章 面向对象编程118
13.1 面向对象概述118
13.2 面向对象三个基本特性118
13.2.1 封装性118
13.2.2 继承性118
13.2.3 多态性119
13.3 类和对象119
13.3.1 定义类119
13.3.2 创建和使用对象119
13.3.3 实例变量120
13.3.4 类变量121
13.3.5 构造方法122
13.3.6 实例方法123
13.3.7 类方法124
13.3.8 静态方法124
13.4 封装性125
13.4.1 私有变量125
13.4.2 私有方法126
13.4.3 定义属性127
13.5 继承性128
13.5.1 继承概念128
13.5.2 重写方法129
13.5.3 多继承130
13.6 多态性131
13.6.1 多态概念131
13.6.2 类型检查132
13.6.3 鸭子类型133
13.7 Python根类object134
13.7.1 __str__方法134
13.7.2 对象比较方法135
13.8 本章小结136
13.9 同步练习136
13.10 动手实践:设计多继承骡子类136
第14章 异常处理137
14.1一个异常示例137
14.2异常类继承层次138
14.3常见异常139
目录11
14.3.1AttributeError异常139
14.3.2OSError异常140
14.3.3IndexError异常140
14.3.4KeyError异常141
14.3.5NameError异常141
14.3.6TypeError异常141
14.3.7ValueError异常142
14.4捕获异常142
14.4.1try-except语句142
14.4.2多个except代码块143
14.4.3try-except语句嵌套145
14.4.4多重异常捕获146
14.5异常堆栈跟踪146
14.6释放资源147
14.6.1finally代码块148
14.6.2else代码块149
14.6.3withas代码块自动资源管理150
14.7自定义异常类151
14.8显式抛出异常151
14.9本章小结152
14.10同步练习152
14.11动手实践:释放资源152
第15章 常用模块153
15.1math模块153
15.1.1舍入函数153
15.1.2幂和对数函数154
15.1.3三角函数154
15.2random模块155
15.3datetime模块156
15.3.1datetime、date和time类157
15.3.2日期时间计算159
15.3.3日期时间格式化和解析160
15.3.4时区162
15.4本章小结163
15.5同步练习163
15.6动手实践:输入与转换日期163
第16章 正则表达式164
16.1正则表达式中的字符164
Python12从小白到大牛(第2版)
16.1.1元字符164
16.1.2字符转义165
16.1.3开始与结束字符165
16.2字符类166
16.2.1定义字符类166
16.2.2字符类取反167
16.2.3区间167
16.2.4预定义字符类168
16.3量词169
16.3.1使用量词169
16.3.2贪婪量词和懒惰量词170
16.4分组171
16.4.1定义分组171
16.4.2命名分组172
16.4.3反向引用分组172
16.4.4非捕获分组174
16.5re模块中重要函数174
16.5.1search和match函数174
16.5.2findall和finditer函数176
16.5.3字符串分割176
16.5.4字符串替换177
16.6编译正则表达式178
16.6.1已编译正则表达式对象178
16.6.2编译标志180
16.7本章小结183
16.8同步练习183
16.9动手实践:找出HTML中的图片183
第17章 文件操作与管理184
17.1文件操作184
17.1.1打开文件184
17.1.2关闭文件186
17.1.3文本文件读写187
17.1.4二进制文件读写187
17.2os模块188
17.3os.path模块189
17.4本章小结191
17.5同步练习191
17.6动手实践:读写日期191
目录13
第三篇 Python常用库与框架
第18章 数据交换格式195
18.1XML数据交换格式196
18.1.1XML文档结构196
18.1.2解析XML文档197
18.1.3使用XPath200
18.2JSON数据交换格式201
18.2.1JSON文档结构201
18.2.2JSON数据编码203
18.2.3JSON数据解码204
18.3本章小结206
18.4同步练习206
18.5动手实践:解析结构化文档206
第19章 数据库编程207
19.1数据持久化技术概述207
19.2MySQL数据库管理系统207
19.2.1数据库安装和配置208
19.2.2登录服务器212
19.2.3常见的管理命令213
19.3PythonDB-API216
19.3.1建立数据库连接217
19.3.2创建游标218
19.4实例:User表CRUD操作218
19.4.1安装PyMySQL库218
19.4.2数据库编程一般过程219
19.4.3数据查询操作220
19.4.4数据修改操作222
19.5NoSQL数据存储225
19.5.1dbm数据库的打开和关闭225
19.5.2dbm数据存储226
19.6本章小结227
19.7同步练习227
19.8动手实践:从结构化文档迁移数据到数据库227
第20章 网络编程228
20.1网络基础228
20.1.1网络结构228
20.1.2TCPIP229
Python14从小白到大牛(第2版)
20.1.3IP地址229
20.1.4端口230
20.2TCPSocket低层次网络编程230
20.2.1TCPSocket通信概述230
20.2.2TCPSocket通信过程230
20.2.3TCPSocket编程API231
20.2.4实例:简单聊天工具232
20.2.5实例:文件上传工具233
20.3UDPSocket低层次网络编程.235
20.3.1UDPSocket编程API235
20.3.2实例:简单聊天工具236
20.3.3实例:文本文件上传工具237
20.4访问互联网资源238
20.4.1URL概念238
20.4.2HTTPHTTPS239
20.4.3搭建自己的Web服务器239
20.4.4使用urllib库243
20.4.5发送GET请求243
20.4.6发送POST请求244
20.4.7实例:图片下载器245
20.5本章小结245
20.6同步练习245
20.7动手实践:解析来自Web的结构化数据246
第21章 wxPython图形用户界面编程247
21.1Python图形用户界面开发工具包247
21.2wxPython安装247
21.3wxPython基础248
21.3.1wxPython类层次结构248
21.3.2第一个wxPython程序248
21.3.3wxPython界面构建层次结构252
21.3.4界面设计工具252
21.4事件处理254
21.4.1一对一事件处理254
21.4.2一对多事件处理255
21.5布局管理257
21.5.1不要使用绝对布局257
21.5.2Sizer布局管理器257
21.5.3Box布局器258
21.5.4StaticBox布局260
目录15
21.5.5Grid布局261
21.5.6FlexGrid布局263
21.6wxPython基本控件264
21.6.1静态文本和按钮265
21.6.2文本输入控件266
21.6.3复选框267
21.6.4单选按钮268
21.6.5下拉列表269
21.6.6列表271
21.6.7静态图片控件272
21.7实例:图书信息网格274
21.8本章小结276
21.9同步练习276
21.10动手实践:展示Web数据276
第22章 Python多线程编程277
22.1基础知识277
22.1.1进程277
22.1.2线程278
22.2使用threading模块278
22.3创建线程279
22.3.1自定义函数作为线程体279
22.3.2继承Thread线程类实现线程体281
22.4线程管理282
22.4.1等待线程结束282
22.4.2线程停止283
22.5线程安全284
22.5.1临界资源问题285
22.5.2多线程同步287
22.6线程间通信288
22.6.1使用Condition实现线程间通信288
22.6.2使用Event实现线程间通信292
22.7本章小结293
22.8同步练习293
22.9动手实践:网络爬虫293
第四篇 Python项目实战
第23章 项目实战1:网络爬虫技术爬取搜狐证券股票数据297
23.1网络爬虫技术概述297
Python16从小白到大牛(第2版)
23.1.1网络通信技术297
23.1.2多线程技术297
23.1.3数据交换技术298
23.1.4Web前端技术298
23.1.5数据解析技术299
23.1.6数据存储技术300
23.2爬取数据300
23.2.1网页中静态和动态数据300
23.2.2使用urllib爬取数据301
23.2.3使用Selenium爬取数据304
23.3解析数据307
23.3.1使用正则表达式307
23.3.2使用BeautifulSoup库309
23.4项目实战:爬取搜狐网股票数据312
23.4.1爬取并解析数据312
23.4.2检测数据是否更新314
23.4.3保存数据到数据库315
23.4.4爬虫工作计划任务318
第24章 项目实战2:数据分析技术贵州茅台股票数据分析321
24.1数据分析过程321
24.1.1数据收集321
24.1.2数据存储321
24.1.3数据清洗322
24.1.4数据分析322
24.1.5数据可视化322
24.2数据分析工具环境搭建和使用322
24.2.1安装Jupyter322
24.2.2使用IPythonShell323
24.2.3使用JupyterNotebook324
24.3数据分析与科学计算基础库NumPy327
24.3.1NumPy库安装327
24.3.2NumPy中的多维数组对象327
24.3.3NumPy数组的数据类型328
24.3.4数组的属性328
24.3.5数组的轴329
24.3.6访问一维数组中的元素330
24.3.7访问二维数组中的元素330
24.4数据分析必备库pandas331
24.4.1pandas库安装332
目录17
24.4.2Series数据结构332
24.4.3DataFrame数据结构333
24.5项目实战:贵州茅台股票数据分析335
24.5.1从数据库中读取股票历史数据335
24.5.2获得特定时间段股票交易数据336
24.5.3查询时间段内最大成交量337
24.5.4查询时间段内总成交量337
24.5.5按照成交金额排序338
第25章 项目实战3:数据可视化技术贵州茅台股票数据可视化339
25.1使用Matplotlib绘制图表339
25.1.1安装Matplotlib339
25.1.2图表基本构成要素339
25.1.3绘制折线图340
25.1.4绘制柱状图341
25.1.5绘制饼状图342
25.1.6绘制散点图343
25.1.7绘制子图表344
25.2项目实战:贵州茅台股票数据可视化346
25.2.1从数据库读取股票数据346
25.2.2绘制股票成交量折线图347
25.2.3绘制股票OHLC图348
25.2.4绘制股票K线图349
第26章 项目实战4:计算机视觉技术网站验证码识别352
26.1人工智能352
26.2计算机视觉352
26.2.1计算机视觉的Python语言相关库353
26.2.2色彩空间353
26.3使用OpenCV库353
26.3.1安装OpenCV库353
26.3.2读取和显示图像353
26.3.3调整图像大小354
26.3.4图像旋转355
26.3.5绘制几何图形356
26.3.6图像的灰度化357
26.3.7图像的二值化与阈值358
26.3.8人脸检测360
26.4项目实战:网站验证码识别361
26.4.1验证码361
Python18从小白到大牛(第2版)
26.4.2验证码识别361
26.4.3安装OCR引擎Tesseract361
26.4.4安装pytesseract库361
26.4.5安装pillow库362
26.4.6验证码识别代码实现363
第27章 项目实战5:PythonWebFlask框架PetStore宠物商店项目365
27.1Web应用程序概述365
27.1.1HTTPHTTPS365
27.1.2BS网络架构365
27.1.3Web前端技术366
27.2Flask框架介绍366
27.3编写Flask程序366
27.3.1安装Flask366
27.3.2第一个Flask程序366
27.3.3路由368
27.4Jinja2模板371
27.4.1没有使用模板371
27.4.2使用模板372
27.4.3模板中使用表达式373
27.4.4模板中使用语句374
27.4.5模板中访问静态文件377
27.5处理HTTP操作378
27.5.1使用request请求对象378
27.5.2使用response响应对象381
27.5.3使用session对象382
27.6PetStore宠物商店项目需求与设计383
27.6.1项目概述383
27.6.2需求分析383
27.6.3原型设计384
27.6.4数据库设计384
27.6.5架构设计386
27.6.6系统设计387
27.7PetStore宠物商店项目创建数据库388
27.7.1安装和配置MySQL数据库388
27.7.2编写数据库DDL脚本388
27.7.3插入初始数据到数据库389
27.8PetStore宠物商店项目创建项目390
27.8.1创建项目390
27.8.2项目包结构390
目录19
27.8.3项目配置文件391
27.9PetStore宠物商店项目数据持久层391
27.9.1编写DAO基类391
27.9.2用户管理DAO392
27.9.3商品管理DAO393
27.9.4订单管理DAO395
27.9.5订单明细管理DAO396
27.10PetStore宠物商店项目表示层397
27.10.1启动模块实现397
27.10.2登录页面实现398
27.10.3商品列表400
27.10.4添加商品到购物车403
27.10.5查看购物车404
27.10.6提交订单407
第28章 项目实战6:Python综合技术QQ聊天工具开发410
28.1系统分析与设计410
28.1.1项目概述410
28.1.2需求分析410
28.1.3原型设计411
28.1.4数据库设计412
28.1.5网络拓扑图414
28.1.6系统设计414
28.2任务1:创建服务器端数据库415
28.2.1迭代1.1:安装和配置MySQL数据库415
28.2.2迭代1.2:编写数据库DDL脚本415
28.2.3迭代1.3:插入初始数据到数据库416
28.3任务2:创建项目416
28.3.1迭代2.1:创建QQ客户端项目416
28.3.2迭代2.2:QQ客户端项目中添加资源图片417
28.3.3迭代2.3:QQ客户端项目中添加包417
28.3.4迭代2.4:创建QQ服务器项目418
28.3.5迭代2.5:QQ服务器项目中添加包418
28.4任务3:服务器项目数据持久层418
28.4.1迭代3.1:服务器端配置文件418
28.4.2迭代3.2:编写base_dao模块419
28.4.3迭代3.3:编写用户管理DAO类419
28.5任务4:QQ客户端项目UI实现421
28.5.1迭代4.1:客户端配置文件421
28.5.2迭代4.2:编写my_frame模块421
Python20从小白到大牛(第2版)
28.5.3迭代4.3:登录窗口实现423
28.5.4迭代4.4:好友列表窗口实现425
28.5.5迭代4.5:聊天窗口实现428
28.6任务5:用户登录过程实现430
28.6.1迭代5.1:QQ客户端启动431
28.6.2迭代5.2:客户端登录过程实现.432
28.6.3迭代5.3:QQ服务器端启动434
28.6.4迭代5.4:登录过程的服务器端验证435
28.7任务6:刷新好友列表437
28.7.1迭代6.1:服务器端刷新好友列表437
28.7.2迭代6.2:客户端刷新好友列表.439
28.8任务7:聊天过程实现441
28.8.1迭代7.1:客户端用户1向服务器发送消息442
28.8.2迭代7.2:服务器端接收用户1消息与转发给用户3消息443
28.8.3迭代7.3:客户端用户3接收用户1消息444
28.9任务8:用户下线445
28.9.1迭代8.1:客户端实现446
28.9.2迭代8.2:服务器端实现447
|
內容試閱:
|
Python语言诞生至今将近30年,但是在前20年里,在国内使用Python进行软件开发的程序员并不多。而在近5年的时间里,人们对Python语言的关注度迅速提高,这不仅因为Python语言非常优秀,更是由于当前科学计算、人工智能、大数据和区块链等新技术发展带来的需要。Python语言具有优良的动态特性、胶水语言特性、简单的语法和面向对象特性,并拥有成熟而丰富的第三方库。其主要应用领域涵盖了热门的人工智能开发、数据挖掘、嵌入式开发、Web开发与后端服务开发,拥有健全的语言生态和广泛的应用场景这是大量程序员从其他编程语言转向Python的主要原因,也是广大高校计算机类、电子信息类、自动化类专业将Python作为程序设计基础课程的原因。也正是由于这种迫切的教育需求,笔者精心编著了本书。根据第1版中广大读者的反馈,以及Python新功能变化,《Python 从小白到大牛》(第2版)变化如下:
(1)IDE工具不再推荐使用Eclipse PyDev和VisualStudioCode,而推荐使用PyCharm。
(2)介绍搭建自己的Web服务器。
(3)数据库升级为MySQL8。
(4)增加了计算机视觉技术介绍。
(5)增加了数据分析技术介绍。
(6)增加了PythonWebFlask框架介绍。
(7)PetStore宠物商店项目改为用Web技术实现。
(8)增加了网站验证码识别项目。
本书是Python计算机编程语言入门图书。无论读者是Python编程爱好者、高校计算机相关专业学生、还是从事软件开发的工程师,都可以从本书入门,成为Python程序员。如果读者想深入学习Python在某一领域的应用技术,则需要进一步阅读相关书籍。
本书继续采用立体化图书概念,所谓立体化图书就是图书包含书籍、配套视频、配套课件、配套源代码和服务等内容。
除关东升外,赵志荣、赵大羽、关锦华、闫婷娇、王馨然、关秀华和赵浩丞也参与本书部分内容的写作。感谢赵浩丞手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地奉献给广大读者。
由于Python编程应用不断更新迭代,加之作者水平有限,书中难免存在疏漏与不妥之处,恳请读者提出宝贵意见,以便再版改进。
关东升 2021年1月
|
|