加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

读书笔记:python可以这样学

(2019-05-18 06:32:24)
标签:

it

教育

分类: 读书笔记
python可以这样学
董付国

出版社:清华大学出版社出版时间:2017年02月 
读书笔记:python可以这样学

前言

Python并不是一种新语言,它由Guido van Roseeum于19889年开始设计,1991年推出第一个版本,比JAVA早四年。目前已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程、软件测试与分析、图形图像处理、人工智能、机器学习、游戏设计与策划、网站开发、数据爬取与大数据处理、密码学、系统运维、音乐编程、影视特效制作、计算机辅助教育、医药辅助设计、天文信息处理、化学、生物信息处理、神经科学与心理学、自然语言处理、电子电路设计、电子取证、树莓派等几乎所有专业和领域,在黑客领域更是多年来一直拥有霸权地位。

应用案例:google的核心代码、迪士尼公司的动画制作与生成、大部分unix和linux操作系统都内见了python环境支持、网易大量网络游戏的服务器端代码超过70%采用python进行设计与开发……

TIOBE 终于发布了 5 月份编程语言排行榜。排名第一的,还是几乎万年不变的 Java,接着就是难兄难弟C、C++,第四和第五为 Python 和 VB .NET

读书笔记:python可以这样学


python是一门免费、开源、跨平台高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量内置对象、标准库、涉及各行业领域的扩展。

直接调用内置函数或标准库,大幅度简化了代码的编写和维护,用户只需要把主要精力放在业务逻辑设计与实现上。

从编程语言发展史来看,人类语言和机器语言之间的鸿沟越来越小,人机交互越来越方便。

学习编程语言的四个阶段:(1)能看懂和调试别人的代码;(2)能在别人的代码基础上进行适当改写;(3)能把多段已有的代码拼凑起来实现自己的功能;(4)自己动手编程实现特定功能需求。

每天坚持3小时,三个月就可以出现不错的效果。

能够掌控的代码行数LOC越多,能够操控的业务能力越来越复杂。

与C语言相比,python大幅度降低了学习与使用的难度,易学易用、语法简洁清晰、代码可读性强、编程模式非常符合人类思维方式与习惯。

多看、多练、多想、多交流。

第1章Python基础1

1.1Python是一种什么样的语言1

1.2Python开发环境2

1.2.1百家争鸣的繁荣景象2

1.2.2IDLE简单使用6

1.3变量、运算符与表达式9

1.3.1Python变量与内置数据类型9

1.3.2常用内置函数15

1.3.3运算符与表达式21

1.3.4人机对话基本接口25

1.4模块安装与使用28

1.4.1安装Python扩展库28

1.4.2模块导入与使用30

1.4.3编写自己的模块和包32

第2章Python序列35

2.1列表与列表推导式36

2.1.1列表创建与删除36

2.1.2列表常用方法38

2.1.3列表推导式46

2.1.4切片50

2.2元组与生成器推导式54

2.2.1元组54

2.2.2生成器推导式55

2.3字典57

2.3.1字典创建和元素添加、修改与删除57

2.3.2访问字典对象的数据59

2.3.3案例精选61

2.4集合63[1]〖2〗Python可以这样学[1]目录〖2〗2.4.1集合基础知识63

2.4.2集合操作与运算64

2.4.3案例精选67

2.5序列解包69

第3章程序控制结构与函数设计71

3.1选择结构71

3.1.1条件表达式71

3.1.2选择结构的几种形式73

3.1.3案例精选79

3.2循环结构82

3.2.1for循环与while循环的基本语法82

3.2.2break与continue语句83

3.2.3循环代码优化技巧84

3.2.4案例精选86

3.3函数设计与使用90

3.3.1基本语法91

3.3.2函数参数不得不说的几件事94

3.3.3变量作用域99

3.3.4lambda表达式102

3.3.5案例精选104

第4章面向对象程序设计122

4.1基础知识122

4.1.1类的定义与使用122

4.1.2私有成员与公有成员123

4.1.3数据成员125

4.1.4方法126

4.1.5属性129

4.1.6继承131

4.1.7特殊方法与运算符重载134

4.2案例精选135

4.2.1自定义数组135

4.2.2自定义矩阵141

4.2.3自定义队列147

4.2.4自定义栈151

4.2.5自定义二叉树154

4.2.6自定义有向图157

4.2.7自定义集合158

第5章字符串与正则表达式165

5.1字符串165

5.1.1字符串格式化的两种形式168

5.1.2字符串常用方法171

5.1.3案例精选186

5.2正则表达式190

5.2.1正则表达式语法与子模式扩展语法190

5.2.2re模块方法与正则表达式对象193

5.2.3案例精选199

第6章文件与文件夹操作206

6.1文件对象常用方法与属性207

6.2文本文件操作案例精选209

6.3二进制文件操作案例精选217

6.3.1使用pickle模块读写二进制文件217

6.3.2使用struct模块读写二进制文件219

6.3.3使用shelve模块操作二进制文件220

6.3.4使用marshal模块操作二进制文件220

6.4文件与文件夹操作221

6.4.1标准库os、os.path与shutil简介221

6.4.2案例精选227

第7章异常处理结构、代码测试与调试252

7.1异常处理结构252

7.1.1异常是什么252

7.1.2Python内置异常类层次结构254

7.1.3常见异常处理结构形式255

7.2代码测试262

7.2.1doctest263

7.2.2单元测试264

7.3代码调试270

7.3.1使用IDLE调试270

7.3.2使用pdb调试273

阶段性寄语278

第8章数据库应用开发279

8.1使用Python操作SQLite数据库279

8.1.1Connection对象280

8.1.2Cursor对象281

8.1.3Row对象284

8.2使用Python操作其他关系型数据库285

8.2.1操作Access数据库285

8.2.2操作MS SQL Server数据库286

8.2.3操作MySQL数据库288

8.3操作MongoDB数据库290

第9章网络应用开发293

9.1计算机网络基础知识293

9.2Socket编程295

9.2.1UDP编程296

9.2.2TCP编程298

9.2.3网络嗅探器300

9.2.4多进程端口扫描器302

9.2.5代理服务器端口映射功能的实现305

9.2.6自己编写FTP通信软件308

9.3域名解析与网页爬虫313

9.3.1网页内容读取与域名分析313

9.3.2网页爬虫315

9.3.3scrapy框架316

9.3.4BeautifulSoup4318

9.4网站开发323

9.4.1使用IIS运行Python CGI程序323

9.4.2Python在ASP.NET中的应用325

9.4.3Flask框架简单应用327

9.4.4django框架简单应用328

第10章多线程与多进程333

10.1多线程编程334

10.1.1线程创建与管理336

10.1.2线程同步技术339

10.2多进程编程346

10.2.1进程创建与管理347

10.2.2进程间数据交换347

10.2.3进程同步技术350

第11章大数据处理351

11.1大数据简介351

11.2MapReduce框架352

11.3Spark应用开发356

第12章图形编程与图像处理361

12.1图形编程361

12.1.1绘制三维图形361

12.1.2绘制三次贝塞尔曲线364

12.1.3纹理映射365

12.1.4响应键盘事件368

12.1.5光照模型369

12.2图像处理372

12.2.1pillow模块基本用法372

12.2.2计算椭圆中心375

12.2.3动态生成比例分配图376

12.2.4生成验证码图片377

12.2.5gif动态图像分离与生成379

12.2.6材质贴图380

12.2.7图像融合381

12.2.8棋盘纹理生成383

第13章数据分析与科学计算可视化384

13.1扩展库numpy简介384

13.2科学计算扩展库scipy393

13.2.1数学、物理常用常数与单位模块constants394

13.2.2特殊函数模块special395

13.2.3信号处理模块signal395

13.2.4图像处理模块ndimage397

13.3扩展库pandas简介401

13.4统计分析标准库statistics用法简介405

13.5matplotlib407

13.5.1绘制正弦曲线408

13.5.2绘制散点图408

13.5.3绘制饼状图410

13.5.4绘制带有中文标签和图例的图410

13.5.5绘制图例标签中带有公式的图411

13.5.6使用pyplot绘制,多个图形单独显示412

13.5.7绘制三维参数曲线413

13.5.8绘制三维图形414

13.5.9使用指令绘制自定义图形416

13.5.10在tkinter中使用matplotlib417

13.5.11使用matplotlib提供的组件实现交互式图形显示419

13.5.12根据实时数据动态更新图形421

13.5.13使用Slider组件调整曲线参数422

第14章密码学编程425

14.1经典密码算法425

14.1.1恺撒密码算法425

14.1.2维吉尼亚密码427

14.1.3换位密码算法428

14.2安全哈希算法429

14.3对称密钥密码算法DES和AES432

14.4非对称密钥密码算法RSA与数字签名算法DSA433

14.4.1RSA433

14.4.2DSA435

第15章tkinter编程精彩案例436

15.1用户登录界面436

15.2选择类组件应用438

15.3简单文本编辑器441

15.4简单画图程序445

15.5电子时钟449

15.6简单动画451

15.7多窗口编程454

15.8屏幕任意区域截图456

15.9音乐播放器458

15.10远程桌面监控系统462

第16章课堂教学管理系统设计与实现466

16.1功能简介466

16.1.1教师端功能466

16.1.2学生端功能467

16.2数据库设计468

16.3系统总框架与通用功能设计469

16.4数据导入功能473

16.4.1学生名单导入473

16.4.2题库导入473

16.5点名与加分功能475

16.5.1在线点名475

16.5.2离线点名与加分477

16.6随机提问功能480

16.7在线收作业功能482

16.7.1学生端482

16.7.2教师端483

16.8在线自测与在线考试功能485

16.8.1学生端486

16.8.2教师端488

16.9信息查看功能490

16.10数据导出功能492

16.11其他辅助功能493

16.11.1防作弊功能493

16.11.2服务器自动发现功能493

16.11.3Word版试卷生成功能494

结束语496

附录A本书中例题清单497

附录B本书中插图清单503

附录C本书中表格清单507

附录D本书中拓展知识摘要清单508

参考文献513

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有