新書推薦:
《
《日本文学史序说》讲演录
》
售價:NT$
332.0
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:NT$
454.0
《
治盗之道:清代盗律的古今之辨
》
售價:NT$
556.0
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:NT$
959.0
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
《
惜华年(全两册)
》
售價:NT$
320.0
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
|
編輯推薦: |
零负担学习Python语言的语法,理论结合实践,零基础快速上手编程。
浅白的表达方式,丰富的范例,让学习Python语言充满乐趣,全无阅读压力,拓展逻辑思维,在程序设计语言的世界中悠游自在。
完整的范例程序源码 难易适中的课后习题 精心录制的教学视频 = 学习成效事半功倍。
|
內容簡介: |
《Python程序设计从零开始学》是专门针对Python初学者精心编撰的,以通俗易懂的语言、精心编写的示例、深入浅出的讲解来引领读者认识Python语言的魅力和强大潜能。 本书分为四篇共16章:第1~4章为基础学习篇,讲解Python语言的基础知识,包括Python的开发工具、基本语法、运算符与条件选择、循环控制等内容;第5~10章为数据结构篇,讲解Python的数据结构,包括序列类型、字符串、元组、列表、字典、集合、函数、模块与函数库等内容;第11~13章为面向对象篇,以面向对象为基础,讲解面向对象程序设计的相关知识,包括认识面向对象、继承机制、异常处理机制等内容;第14~16章为绘图图像篇,讲解Python的数据输出和绘制图像的相关知识,包括数据流与文件、GUI界面、绘图与图像等内容。读者可以通过简洁易用的Python IDLE和Visual Studio Code集成开发环境或Python Shell 这个互动交互模式开启程序设计之旅,学习程序的编写和调试的基本技能。 为了教学的需要,本书每章后面都提供了课后习题及实践题,书中范例也都提供了完整的源代码,另外有精心录制的教学视频可辅助读者学习。《Python程序设计从零开始学》叙述简洁、清晰,范例丰富、可操作性强,适合学习Python语言的读者作为自学用书,也适合高等院校和培训机构作为学习Python语言的教材。
|
關於作者: |
李馨,荣钦科技图书部协理,资管系相关背景毕业,在IT培训业教授计算机课程经验达10多年,资历丰富,曾获认微软MVP(最有价值专家)的资格,长期为微软科技社群成员之一。写作经验丰富,书籍的特点是融入多年教学经验,导入章节的安排与实践的演练,因此她的著作常能把握住难易适中、份量合宜,又不失专业性,因此常被选用为学校的授课教材。
编写过几本畅销类开发图书,其中《Visual C# 2013从零开始学》、《Visual C# 2017程序设计从零开始学》和《Visual C# 2019程序设计从零开始学》在我社出版,收到广大读者的好评。
|
目錄:
|
目 录
第1章 Python世界 1
1.1 一起准备Python吧 1
1.1.1 Python有什么魅力 1
1.1.2 安装Python 3
1.1.3 测试Python软件 5
1.1.4 Python的应用范围 9
1.2 Python的开发工具 9
1.2.1 有哪些IDE软件 10
1.2.2 CPython有什么 10
1.2.3 Python Shell 12
1.2.4 IDLE的环境设置 16
1.3 使用Visual Studio Code 22
1.3.1 下载并安装Visual Studio Code 22
1.3.2 启动Visual Studio Code 25
1.3.3 Visual Studio Code扩展模块 28
1.4 Python编写风格 29
1.4.1 “Hello World!”程序就是这么简单 30
1.4.2 程序的缩排和注释 30
1.4.3 语句的分行和合并 31
1.4.4 程序的输入和输出 31
1.5 本章小结 32
1.6 课后习题 32
第2章 Python基本语法 34
2.1 变量 34
2.1.1 标识符的命名规则 35
2.1.2 关键字和保留字 35
2.1.3 给变量赋值 35
2.2 Python的数据类型 38
2.2.1 以type()函数返回类型 38
2.2.2 整数类型 39
2.2.3 布尔值 41
2.3 Python如何处理实数 41
2.3.1 使用float类型 41
2.3.2 复数类型 44
2.3.3 更精确的decimal类型 45
2.3.4 有理数 48
2.4 数学运算与math模块 50
2.4.1 认识math模块 50
2.4.2 算术运算符 51
2.4.3 进行四则运算 52
2.4.4 赋值运算符 53
2.4.5 位运算符与位移运算符 54
2.5 运算符的优先级 55
2.6 本章小结 56
2.7 课后习题 56
第3章 条件选择与比较运算符和逻辑运算符 58
3.1 认识程序设计语言的结构 58
3.2 单个条件 59
3.2.1 比较运算符 59
3.2.2 if语句 60
3.3 双向选择 62
3.3.1 逻辑运算符 62
3.3.2 if/else语句 64
3.3.3 特殊的三元运算符 65
3.4 多个条件的选择 67
3.4.1 嵌套if语句 67
3.4.2 if/elif/else语句 69
3.4.3 match/case语句 72
3.5 本章小结 73
3.6 课后习题 74
第4章 循环控制 75
4.1 for循环 75
4.1.1 使用for/in循环 75
4.1.2 range()函数 76
4.1.3 嵌套循环 79
4.2 while循环与random模块 81
4.2.1 while循环的特色 81
4.2.2 获得while循环执行次数 83
4.2.3 使用random模块 85
4.3 特殊流程控制 88
4.3.1 break语句 88
4.3.2 continue语句 89
4.4 本章小结 90
4.5 课后习题 91
第5章 序列类型和字符串 92
5.1 序列类型概述 92
5.1.1 序列和迭代器 93
5.1.2 创建序列数据 94
5.1.3 序列元素的操作 94
5.1.4 与序列有关的函数 97
5.2 字符串与切片 98
5.2.1 创建字符串 98
5.2.2 转义字符 102
5.2.3 字符串的切片操作 102
5.3 字符串常用方法 106
5.3.1 在字符串中的查找 107
5.3.2 统计、取代字符 109
5.3.3 字符串比对 110
5.3.4 字符串的分割与合并 111
5.3.5 字符串中字母的大小写 113
5.4 格式化字符串 114
5.4.1 对齐字符串 114
5.4.2 格式化字符串的前导符号% 115
5.4.3 内置函数format() 117
5.4.4 str.format()方法 119
5.5 本章小结 124
5.6 课后习题 125
第6章 元组与列表 127
6.1 元组不可变 127
6.1.1 创建元组 127
6.1.2 读取元组元素 130
6.1.3 元组的拆分 132
6.1.4 元组的切片操作 134
6.2 列表 134
6.2.1 创建和读取列表 134
6.2.2 与列表有关的方法 136
6.2.3 数据排序 139
6.2.4 列表推导式 144
6.3 矩阵 148
6.3.1 产生矩阵 148
6.3.2 读取矩阵 149
6.3.3 矩阵与列表推导式 151
6.3.4 不规则矩阵 153
6.4 列表的复制 155
6.4.1 列表与浅复制 155
6.4.2 copy模块的copy()方法 156
6.4.3 deepcopy()方法复制对象本身 157
6.5 本章小结 158
6.6 课后习题 158
第7章 字典 160
7.1 认识映射类型 160
7.2 认识字典 161
7.2.1 创建字典 161
7.2.2 读取字典中的元素 163
7.2.3 类的方法fromkeys() 164
7.3 字典的变动 165
7.3.1 添加与修改字典的元素 165
7.3.2 删除字典的元素 167
7.3.3 合并字典 169
7.4 与键、值相关的方法 169
7.4.1 预防找不到键 170
7.4.2 读取字典 172
7.4.3 字典推导式 173
7.5 默认字典和有序字典 175
7.5.1 默认字典 175
7.5.2 有序字典 178
7.6 本章小结 181
7.7 课后习题 181
第8章 集合 183
8.1 创建集合 183
8.1.1 认识哈希 184
8.1.2 创建集合对象 185
8.1.3 调用set()函数创建集合 186
8.2 集合的基本操作 187
8.2.1 添加元素和删除元素 188
8.2.2 集合与数学计算 189
8.2.3 并集和交集运算 189
8.2.4 差集和异或集运算 191
8.3 集合的相关方法 192
8.3.1 加强版的计算 193
8.3.2 检测集合 194
8.3.3 集合推导式 196
8.3.4 固定集合 197
8.4 本章小结 198
8.5 课后习题 198
第9章 函数 200
9.1 Python的内置函数 200
9.1.1 与数值有关的函数 200
9.1.2 与字符串有关的内置函数 201
9.1.3 与序列类型相关的函数 202
9.1.4 其他的内置函数 203
9.2 函数基本概念 203
9.2.1 函数基础 204
9.2.2 定义函数 205
9.2.3 调用函数 206
9.2.4 返回值 207
9.3 参数基本机制 209
9.3.1 参数的传递 209
9.3.2 位置参数有顺序性 211
9.3.3 默认参数值 212
9.3.4 关键字参数 215
9.4 可变长度的参数列表 217
9.4.1 形参的“*表达式” 217
9.4.2 “**表达式”与字典合作 219
9.4.3 “*”运算符拆分可迭代对象 223
9.4.4 “**”运算符拆分字典对象 225
9.5 更多函数的讨论 227
9.5.1 作用域 228
9.5.2 函数是Python语言的基本组成结构 231
9.5.3 局部函数与闭包 232
9.5.4 Lambda函数 235
9.5.5 filter()函数 237
9.5.6 递归 238
9.6 本章小结 241
9.7 课后习题 242
第10章 模块与函数库 244
10.1 导入模块 244
10.1.1 import/as语句 244
10.1.2 from/import语句 245
10.1.3 命名空间和dir()函数 245
10.2 自定义模块 246
10.2.1 模块路径 246
10.2.2 导入自定模块 247
10.2.3 属性__name__ 249
10.3 获取时间戳的time模块 250
10.3.1 获取当前时间 251
10.3.2 时间结构和格式转换 253
10.4 datetime模块 254
10.4.1 date类 255
10.4.2 time类获取时间值 258
10.4.3 datetime类组合日期、时间 259
10.4.4 timedelta类计算时间间隔 261
10.5 套件 263
10.5.1 有趣的词云 263
10.5.2 封装程序的Pyinstaller 267
10.6 本章小结 268
10.7 课后习题 269
第11章 认识面向对象 271
11.1 面向对象概念 271
11.1.1 对象具有属性和方法 272
11.1.2 类是对象蓝图 272
11.1.3 抽象化是什么 273
11.2 类与对象 273
11.2.1 认识类及其成员 273
11.2.2 先创建再初始化对象 277
11.2.3 设置、检查对象属性 280
11.2.4 处理对象的特殊方法 282
11.3 类与装饰器 285
11.3.1 类也有属性 285
11.3.2 认识装饰器 286
11.3.3 类装饰器 290
11.3.4 类方法和静态方法 294
11.4 重载运算符 296
11.4.1 重载算术运算符 296
11.4.2 重载加号 297
11.4.3 重载比较大小的运算符 300
11.5 本章小结 301
11.6 课后习题 302
第12章 浅谈继承机制 304
12.1 认识继承 304
12.1.1 继承的相关名词 304
12.1.2 继承概念 304
12.1.3 特化和泛化 305
12.1.4 组合 305
12.2 继承机制 306
12.2.1 产生继承 306
12.2.2 多重继承机制 309
12.2.3 继承有顺序,搜索有规则 309
12.3 子类覆盖父类 311
12.3.1 使用super()函数 311
12.3.2 属性__base__ 313
12.3.3 以特性存取属性 314
12.4 抽象类与多态 318
12.4.1 定义抽象类 318
12.4.2 多态 319
12.4.3 组合 321
12.5 本章小结 322
12.6 课后习题 323
第13章 异常处理机制 325
13.1 什么是异常 325
13.1.1 语法错误 325
13.1.2 引发异常 326
12.1.3 内建的Exception类 326
13.2 异常处理情况 329
13.2.1 设置捕捉器 329
13.2.2 Try语句究竟是如何工作的 331
13.2.3 try/else语句 333
13.2.4 try/finally语句 334
13.3 抛出异常 335
13.3.1 raise语句引发异常 335
13.3.2 assert语句 338
13.3.3 自定义异常处理 339
13.4 本章小结 341
13.5 课后习题 341
第14章 数据流与文件 343
14.1 认识文件与目录 343
14.1.1 文件路径 343
14.1.2 获取路径 344
14.2 数据流与io模块 345
14.2.1 文件对象与io模块 346
14.2.2 文件与open()函数 347
14.2.3 TextIOBase类与文件处理 348
14.2.4 文件指针 349
14.3 文本文件的读写 351
14.3.1 文件和指定模式 351
14.3.2 with/as语句 355
14.3.3 读取文本文件 356
14.4 二进制文件 358
14.4.1 认识byte与bytearray 358
14.4.2 读写二进制文件 359
14.4.3 struct模块与二进制数据 360
14.5 文本文件并非只有文字 363
14.5.1 浅谈文字编码 363
14.5.2 CSV格式 365
14.5.3 JSON格式 366
14.6 本章小结 369
14.7 课后习题 370
第15章 GUI界面 372
15.1 Python GUI 372
15.1.1 GUI相关套件 372
15.1.2 认识Tkinter套件 373
15.1.3 编写一个简单的窗口程序 376
15.2 版面管理员 377
15.2.1 Frame为容器 377
15.2.2 版面配置——pack()方法 383
15.2.3 grid()方法以行和列来设置位置 387
15.2.4 以坐标来定位的place()方法 389
15.3 处理文字的组件 391
15.3.1 Label组件 391
15.3.2 Entry组件 394
15.3.3 Text组件 397
15.3.4 Button组件 398
15.4 选项组件 400
15.4.1 Checkbutton 400
15.4.2 Radiobutton 402
15.5 显示信息 403
15.6 本章小结 406
15.7 课后习题 407
第16章 绘图与图像 409
16.1 以Turtle绘图 409
16.1.1 使用坐标系统 409
16.1.2 Turtle画布与画笔 410
16.1.3 着色 414
16.2 绘制几何图形 416
16.2.1 画圆形 417
16.2.2 绘制三角形 419
16.2.3 绘制螺旋图 420
16.3 认识Pillow套件 423
16.3.1 颜色与透明度 424
16.3.2 读取图像 426
16.4 图像的基本操作 428
16.4.1 重编图像 428
16.4.2 新建图像 429
16.4.3 绘制图形和文字 430
16.4.4 图像的旋转和翻转 432
16.4.5 图像的裁切与合成 435
16.5 本章小结 438
16.6 课后习题 439
附录A 课后习题参考答案 441
第1章 Python世界 441
第2章 Python基本语法 442
第3章 条件选择与比较运算符和逻辑运算符 443
第4章 循环控制 443
第5章 序列类型和字符串 444
第6章 元组与列表 446
第7章 字典 447
第8章 集合 448
第9章 函数 449
第10章 模块与函数库 452
第11章 认识面向对象 453
第12章 浅谈继承机制 454
第13章 异常处理机制 455
第14章 数据流与文件 456
第15章 GUI界面 457
第16章 绘图与图像 459
|
內容試閱:
|
Python是目前热门的程序设计语言!
Python语言的创始人Guido van Rossum是Monty Python飞行马戏团的爱好者。在1989年圣诞节期间,他决心开发一个新的脚本解释程序,由此有了Python这门程序语言。
本书对Python的介绍分为四篇:基础学习篇、数据结构篇、面向对象篇和绘图图像篇。
基础学习篇(第1~4章)
虽然Python官方把Python定位为简易、优雅的程序设计语言,但初学者掌握好Python语言的基础语法并打下扎实的基础,是入门程序设计不可或缺的!只有站在Python的肩膀上,读者才能在自己的程序设计之路上大步前行。
前行的第一步是从由Python语言系统本身提供的IDEL软件出发(Python语言发布时是以系统方式发布的),或者使用本书第1章介绍的Visual Studio Code—目前很热门的编辑器—为编写程序热身。Python的内建类型,无论是整数、浮点数、复数,还是有理数(分数),每个变量皆指向引用对象,这也是Python的简洁之处。不可免俗,对于一个好的程序设计语言,了解它的流程控制语句是必不可少的,Python语言的流程控制语句:if/else条件语句,for、while循环语句,加上Python 3.10新力军match/case语句能让程序的流程控制更加得心应手。
数据结构篇(第5~10章)
其他的程序设计语言都有数组,数组的特点是存储的数据具有相同的类型且这些数据是连续存储的,而Python却有更妙的数据结构。例如,有条不紊的序列类型,包含:String(字符串)、List(列表)和Tuple(元组);属于映射类型的Dictionary(字典):以键和值形成映射—键-值对(Key-Value Pair)。Python的这些类型中都可以放入类型相异的数据。无序的Set(集合)类型类似于数学中的集合概念。在Python语言中即使是单个字符也是字符串,所以处理字符串有相当多的方法:切片、索引、查找以及串接等。另外,这些数据类型都可以通过格式化处理来输出我们想要的格式化的结果。
Python有强大的标准函数库,内容包罗万象,而五花八门的第三方套件更让Python语言成为学习程序设计语言的首选。
对于内建的模块,除了介绍如何导入它们外,还重点介绍与日期、时间有关的模块,以及如何以pip指令安装一些较简易的第三方套件,体验它们的妙处。作为Python语言中最重要的自定义函数,本书将对函数中传递和接收数据的参数有较多的着墨。
面向对象篇(第11~13章)
以面向对象为基础,探讨面向对象程序设计的三个特性:继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)。其他程序设计语言会以构造函数来新建、初始化对象,而Python语言则分为两个阶段:先以__new()__方法新建对象,再以__init__方法初始化对象。所有的类、属性和方法默认都是公有的,如果想要封装成私有的,则要以特性为装饰器(@property)或者以“_”下画线字符来指明。在继承机制下,以单一继承来介绍“is_a”和“has_a”的用法;Python语言采用多重继承机制,它以鸭子类型(Duck Typing)来“阐述”多态。
编写的程序因为考虑不全或系统问题会导致异常,在Python语言的异常(或称例外)处理机制中,除了采用try/except/finally语句之外,还能搭配raise、assert语句从程序代码中主动抛出异常。
绘图图像篇(第14~16章)
Python语言使用io模块来处理数据流,它同样是以文字和二进制数据配合功能强大的内部函数open()来指定文件的处理模式。GUI界面以Tkinter为主,它由Tkiner.tix和Tkinter.ttk两大模块组成。本篇将简单介绍Label、Entry、Text、Radiobutton、Checkbutton和Button组件,配置版面的pack()、grid()和place()方法,提供信息的标准对话框的messagebox。最后一章介绍能进行绘图的Turtle模块和从Python 2.x版开始“起死回生”的Pillow套件,通过Pillow套件可以对图像进行缩放、旋转、翻转或合成。
资源下载
本书配套源码、PPT课件等资源,请用微信扫描下面的二维码获取,也可按扫描后的页面提示把下载链接转发到你的邮箱中下载。如果有疑问或建议,请联系booksaga@126.com,邮件主题写“Python程序设计从零开始学”。
范例程序 教学PPT
编 者
2022年3月
|
|