Python3.7从零开始学封面

Python3.7从零开始学

Python3.7电子书
  • 大小:75.8MB
  • 作者:刘宇宙/刘艳
  • 出版社:清华大学出版社
  • 格式:PDF
  • 类别:Python3.7
  • 更新:2021-08-27 15:21:07

Python3.7从零开始学这是一个不错的Python3.7类电子书资源,由衡博文提供,介绍了关于Python3.7、Python入门、Python、Python3.7的内容,格式为PDF,已被269人关注,同类资源中评分为7.6分。

《Python3.7从零开始学》PDF电子书介绍

读者评价

网友NO.36263
松依秋

一本很好的书,对初学者来说,可以逐步地了解和学习Python3.7。

科技新颖,内容丰富,小程序学习课件,大量视频,值得入手。

网友NO.24751
古嘉言

从10号开始,已经学了好几章,书本结合各章的视频一起看,学习即高效又轻松,很庆幸没买错,对初学者来说,是一本很棒的书。

网友NO.40965
那秋玉

python3.5这本书写得很好...python3.7版本升级,内容扩展..还赠送了八个主题功能...最让我感动的是扫描看视频..省去了自学的烦恼...先订一本..

编辑推荐

本书专门针对Python新手量身定做,是编者学习和使用Python开发过程中的体会和经验总结,涵盖实际开发中重要的知识点,内容详尽,代码可读性及可操作性强。

本书主要介绍Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,并安排了Python爬虫、自然语言处理和区块链项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等内容,以帮助读者学会处理程序异常,解决学习中的困惑,巩固知识、学以致用。

本书的另一个特色是,使用通俗易懂的描述和丰富的示例代码,并结合日常生活中的一些小事件,使本书读起来生动有趣,把复杂的问题以简单的形式展现出来,使读者学起来很轻松,充分感受到学习Python编程的乐趣和魅力。

内容介绍

本书专门针对Python新手量身编写,涵盖Python 3实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供Python爬虫、自然语言处理、区块链项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等内容,以帮助读者学会处理程序异常、解答学习困惑、巩固知识、学以致用。
本书还开发了配套小程序学习课件,课件中涵盖视频教学、代码示例、资源包、扩展知识、习题、PPT、FAQ、作业8大主题,大幅扩展了本书知识体系,可帮助读者轻松快速地掌握Python编程技能。
本书技术先进、示例丰富、代码可读性及可操作性强,非常适合Python初学者和转型到Python开发的程序员使用,也可作为Python网课、培训机构及大专院校的教学用书。

目录

  • 目   录
  • 第1章  进入Python 3.7的精彩世界    1
  • 1.1  Python的起源    1
  • 1.2  Python的应用场合    2
  • 1.3  从2.7到3.7,Python的新特性    4
  • 1.4  如何学习Python    6
  • 1.5  Python环境构建    7
  • 1.5.1  在Windows系统中安装Python    7
  • 1.5.2  在Linux、UNIX系统和Mac中安装Python    14
  • 1.5.3  其他版本    14
  • 1.6  从Hello World开始    14
  • 1.7  调试    15
  • 1.8  问题解答    16
  • 1.9  温故知新,学以致用    17
  • 第2章  开启Python之旅    18
  • 2.1  认识程序    18
  • 2.1.1  程序    18
  • 2.1.2  调试    19
  • 2.1.3  语法错误    19
  • 2.1.4  运行错误    20
  • 2.1.5  语义错误    20
  • 2.2  数据类型    20
  • 2.2.1  整型    21
  • 2.2.2  浮点型    22
  • 2.2.3  复数    23
  • 2.2.4  数据类型转换    23
  • 2.2.5  常量    24
  • 2.3  变量和关键字    24
  • 2.3.1  变量    24
  • 2.3.2  变量名称    28
  • 2.4  语句    29
  • 2.5  表达式    30
  • 2.6  运算符和操作对象    31
  • 2.6.1  什么是运算符和操作对象    31
  • 2.6.2  算术运算符    31
  • 2.6.3  比较运算符    32
  • 2.6.4  赋值运算符    34
  • 2.6.5  位运算符    35
  • 2.6.6  逻辑运算符    36
  • 2.6.7  成员运算符    36
  • 2.6.8  身份运算符    37
  • 2.6.9  运算符优先级    37
  • 2.7  字符串操作    39
  • 2.8  注释    42
  • 2.9  牛刀小试——九九乘法表实现    43
  • 2.10  调试    44
  • 2.11  问题解答    44
  • 2.12  温故知新,学以致用    45
  • 第3章  列表和元组    47
  • 3.1  通用序列操作    47
  • 3.1.1  索引    47
  • 3.1.2  分片    49
  • 3.1.3  序列相加    51
  • 3.1.4  乘法    52
  • 3.1.5  成员资格    53
  • 3.1.6  长度、最小值和最大值    54
  • 3.2  列表    54
  • 3.2.1  更新列表    54
  • 3.2.2  嵌套列表    58
  • 3.2.3  列表方法    59
  • 3.3  元组    66
  • 3.3.1  tuple函数    67
  • 3.3.2  元组的基本操作    67
  • 3.3.3  元组内置函数    68
  • 3.4  列表与元组的区别    69
  • 3.5  牛刀小试——列表与元组相互转化    70
  • 3.6  调试    70
  • 3.7  问题解答    71
  • 3.8  温故知新,学以致用    72
  • 第4章  字符串    74
  • 4.1  字符串的基本操作    74
  • 4.2  字符串格式化    75
  • 4.2.1  字符串格式化符号    75
  • 4.2.2  字符串格式化元组    77
  • 4.3  字符串方法    80
  • 4.3.1  find()方法    80
  • 4.3.2  join()方法    81
  • 4.3.3  lower()方法    81
  • 4.3.4  upper()方法    82
  • 4.3.5  swapcase()方法    83
  • 4.3.6  replace()方法    83
  • 4.3.7  split()方法    84
  • 4.3.8  strip()方法    84
  • 4.3.9  translate()方法    85
  • 4.4  牛刀小试——变形金刚    86
  • 4.5  调试    86
  • 4.6  问题解答    87
  • 4.7  温故知新,学以致用    87
  • 第5章  字典    89
  • 5.1  字典的使用    89
  • 5.2  创建和使用字典    90
  • 5.2.1  dict函数    90
  • 5.2.2  字典的基本操作    91
  • 5.2.3  字典的格式化字符串    92
  • 5.2.4  字典和列表的区别    93
  • 5.3  字典方法    93
  • 5.3.1  clear()方法    94
  • 5.3.2  copy()方法    95
  • 5.3.3  fromkeys()方法    95
  • 5.3.4  get()方法    96
  • 5.3.5  key in dict方法    96
  • 5.3.6  items()方法    97
  • 5.3.7  keys()方法    97
  • 5.3.8  setdefault()方法    98
  • 5.3.9  update()方法    98
  • 5.3.10  values()方法    99
  • 5.4  牛刀小试——字典合并与排序    99
  • 5.5  调试    100
  • 5.6  问题解答    101
  • 5.7  温故知新,学以致用    101
  • 第6章  条件、循环和其他语句    103
  • 6.1  使用文本编辑器    103
  • 6.2  import的使用    105
  • 6.2.1  import语句    105
  • 6.2.2  使用逗号输出    108
  • 6.3  别样的赋值    108
  • 6.3.1  序列解包    108
  • 6.3.2  链式赋值    109
  • 6.3.3  增量赋值    110
  • 6.4  语句块    111
  • 6.5  条件语句    111
  • 6.5.1  布尔变量的作用    111
  • 6.5.2  if语句    112
  • 6.5.3  else子句    114
  • 6.5.4  elif子句    114
  • 6.5.5  嵌套代码块    115
  • 6.5.6  更多操作    115
  • 6.5.7  断言    118
  • 6.6  循环    118
  • 6.6.1  while循环    119
  • 6.6.3  循环遍历字典元素    122
  • 6.6.4  迭代工具    123
  • 6.6.5  跳出循环    124
  • 6.6.6  循环中的else子句    126
  • 6.7  pass语句    127
  • 6.8  牛刀小试——猜字游戏编写    128
  • 6.9  Python程序调试    129
  • 6.10  问题解答    130
  • 6.11  温故知新,学以致用    131
  • 第7章  函数    133
  • 7.1  调用函数    133
  • 7.2  定义函数    135
  • 7.3  函数的参数    137
  • 7.3.1  必须参数    138
  • 7.3.2  关键字参数    138
  • 7.3.3  默认参数    139
  • 7.3.4  可变参数    142
  • 7.3.5  组合参数    144
  • 7.4  执行流程    144
  • 7.5  形参和实参    145
  • 7.6  变量作用域    146
  • 7.6.1  局部变量    146
  • 7.6.2  全局变量    148
  • 7.7  有返回值和无返回值函数    150
  • 7.8  为什么要有函数    151
  • 7.9  返回函数    151
  • 7.10  递归函数    154
  • 7.11  匿名函数    156
  • 7.12  偏函数    159
  • 7.13  牛刀小试——经典排序之快速排序实现    159
  • 7.14  调试    161
  • 7.15  问题解答    161
  • 7.16  温故知新,学以致用    162
  • 第8章  面向对象编程    164
  • 8.1  理解面向对象    164
  • 8.1.1  什么是面向对象编程    164
  • 8.1.2  面向对象术语简介    164
  • 8.2  类的定义与使用    165
  • 8.2.1  类的定义    165
  • 8.2.2  类的使用    166
  • 8.3  深入类    167
  • 8.3.1  类的构造方法    167
  • 8.3.2  类的访问权限    171
  • 8.4  继承    175
  • 8.5  多态    178
  • 8.6  封装    181
  • 8.7  多重继承    182
  • 8.8  获取对象信息    184
  • 8.9  类的专有方法    187
  • 8.10  牛刀小试——出行建议    191
  • 8.11  调试    193
  • 8.12  问题解答    193
  • 8.13  温故知新,学以致用    194
  • 第9章  异常    196
  • 9.1  什么是异常    196
  • 9.2  异常处理    197
  • 9.3  抛出异常    198
  • 9.4  捕捉多个异常    199
  • 9.5  使用一个块捕捉多个异常    200
  • 9.6  捕捉对象    201
  • 9.7  全捕捉    201
  • 9.8  异常中的else    202
  • 9.9  自定义异常    203
  • 9.10  finally子句    204
  • 9.11  异常和函数    205
  • 9.12  牛刀小试——正常数和异常数    206
  • 9.13  bug的由来    208
  • 9.14  温故知新,学以致用    208
  • 第10章  日期和时间    210
  • 10.1  日期和时间    210
  • 10.1.1  时间戳    210
  • 10.1.2  时间格式化符号    211
  • 10.1.3  struct_time元组    212
  • 10.2  time模块    212
  • 10.2.1  time()函数    212
  • 10.2.2  localtime([secs])函数    213
  • 10.2.3  gmtime([secs])函数    213
  • 10.2.4  mktime(t)函数    214
  • 10.2.5  asctime([t])函数    214
  • 10.2.6  ctime([secs])函数    214
  • 10.2.7  sleep(secs)函数    215
  • 10.2.8  clock()函数    215
  • 10.2.9  strftime(format[, t])函数    216
  • 10.2.10  strptime(string[, format])函数    217
  • 10.2.11  三种时间格式转化    217
  • 10.3  datetime模块    217
  • 10.4  日历模块    221
  • 10.5  牛刀小试——时间大杂烩    222
  • 10.6  调试    226
  • 10.7  温故知新,学以致用    226
  • 第11章  正则表达式    228
  • 11.1  认识正则表达式    228
  • 11.2  re模块    230
  • 11.2.1  re.match函数    230
  • 11.2.2  re.search方法    231
  • 11.2.3  re.match与re.search的区别    231
  • 11.3  贪婪模式和非贪婪模式    232
  • 11.4  替换    233
  • 11.5  编译    234
  • 11.6  牛刀小试——匹配比较    234
  • 11.7  温故知新,学以致用    235
  • 第12章  文件操作    237
  • 12.1  打开文件    237
  • 12.1.1  文件模式    239
  • 12.1.2  缓存    239
  • 12.2  基本文件方法    240
  • 12.2.1  读和写    240
  • 12.2.2  读写行    243
  • 12.2.3  关闭文件    244
  • 12.2.4  文件重命名    245
  • 12.2.5  删除文件    246
  • 12.3  对文件内容进行迭代    246
  • 12.3.1  按字节处理    246
  • 12.3.2  按行操作    247
  • 12.3.3  使用fileinput实现懒加载式迭代    247
  • 12.3.4  文件迭代器    248
  • 12.4  StringIO函数    248
  • 12.5  序列化与反序列化    249
  • 12.5.1  一般序列化与反序列化    249
  • 12.5.2  JSON序列化与反序列化    250
  • 12.6    牛刀小试——批量更改文件名    252
  • 12.7  调试    253
  • 12.8  问题解答    254
  • 12.9  温故知新,学以致用    254
  • 第13章  多线程    256
  • 13.1  线程和进程    256
  • 13.1.1  进程    256
  • 13.1.2  线程    256
  • 13.1.3  多线程与多进程    257
  • 13.2  使用线程    258
  • 13.2.1  全局解释器锁    258
  • 13.2.2  退出线程    258
  • 13.2.3  Python的线程模块    259
  • 13.3  _thread模块    259
  • 13.4  threading模块    261
  • 13.5  线程同步    265
  • 13.6  线程优先级队列    267
  • 13.7  线程与进程比较    269
  • 13.7.1  线程切换    270
  • 13.7.2  计算密集型与IO密集型    270
  • 13.7.3  异步IO    271
  • 13.8  牛刀小试——多线程简单爬虫    271
  • 13.9  调试    272
  • 13.10  问题解答    273
  • 13.11  温故知新,学以致用    273
  • 第14章  发送和接收电子邮件    275
  • 14.1  电子邮件介绍    275
  • 14.2  发送邮件    277
  • 14.2.1  SMTP发送邮件    277
  • 14.2.2  发送HTML格式的邮件    279
  • 14.2.3  发送带附件的邮件    280
  • 14.2.4  发送图片    281
  • 14.2.5  同时支持HTML和Plain格式    282
  • 14.2.6  加密SMTP    284
  • 14.3  POP3接收邮件    284
  • 14.3.1  POP3下载邮件    285
  • 14.3.2  解析邮件    286
  • 14.4  牛刀小试——邮件发送通用化    287
  • 14.5  调试    290
  • 14.6  问题解答    290
  • 14.7  温故知新,学以致用    290
  • 第15章  网络编程    292
  • 15.1  初识网络编程    292
  • 15.2  TCP/IP简介    292
  • 15.3  网络设计模块    293
  • 15.3.1  Socket简介    294
  • 15.3.2  socket模块    294
  • 15.3.3  socket对象(内建)方法    296
  • 15.4  TCP编程    297
  • 15.4.1  客户端    297
  • 15.4.2  服务器编程    299
  • 15.5  UDP编程    303
  • 15.6  urllib模块    305
  • 15.6.1  GET请求    305
  • 15.6.2  POST请求    306
  • 15.7  牛刀小试——模拟浏览器    307
  • 15.8  调试    308
  • 15.9  问题解答    308
  • 15.10  温故知新,学以致用    308
  • 第16章  GUI编程    310
  • 16.1  GUI简介    310
  • 16.1.1  常用GUI库简介    310
  • 16.1.2  安装tkinter    311
  • 16.2  概念介绍    311
  • 16.2.1  窗口和控件    311
  • 16.2.2  事件驱动处理    312
  • 16.2.3  布局管理器    312
  • 16.3  Tk控件    312
  • 16.3.1  Button控件    313
  • 16.3.2  Checkbutton控件    314
  • 16.3.3  Label控件    315
  • 16.3.4  Text控件    316
  • 16.3.5  Menu控件    317
  • 16.4  tkinter 组合控件    319
  • 16.5  牛刀小试——计算器开发    320
  • 16.6  调试    325
  • 16.7  问题解答    325
  • 16.8  温故知新,学以致用    325
  • 第17章  操作数据库    327
  • 17.1  数据库介绍    327
  • 17.2  Python数据库API    328
  • 17.2.1  全局变量    328
  • 17.2.2  异常    329
  • 17.2.3  连接和游标    329
  • 17.2.4  类型    331
  • 17.3  数据库操作    331
  • 17.3.1  数据库连接    331
  • 17.3.2  创建数据库表    332
  • 17.3.3  数据库插入    333
  • 17.3.4  数据库查询    334
  • 17.3.5  数据库更新    335
  • 17.3.6  数据库删除    336
  • 17.4  事务    337
  • 17.5  调试    338
  • 17.6  问题解答    338
  • 17.7  温故知新,学以致用    339
  • 第18章  项目实战——爬虫    340
  • 18.1  了解爬虫    340
  • 18.2  爬虫的原理    341
  • 18.3  爬虫常用的几种技巧    341
  • 18.3.1  基本方法    341
  • 18.3.2  使用代理服务器    342
  • 18.3.3  Cookie处理    342
  • 18.3.4  伪装成浏览器    343
  • 18.3.5  登录    343
  • 18.4  爬虫示例——抓取豆瓣电影Top250影评数据    344
  • 18.4.1  确定URL格式    344
  • 18.4.2  页面抓取    344
  • 18.4.3  提取相关信息    345
  • 18.4.4  写入文件    346
  • 18.4.5  完善代码    346
  • 18.5  项目小结    349
  • 第19章  自然语言分词与词频统计    350
  • 19.1  概念介绍    350
  • 19.1.1  SQLAlchemy简介    350
  • 19.1.2  pyecharts简介    351
  • 19.1.3  jieba分词库简介    351
  • 19.1.4  BeautifulSoup库简介    351
  • 19.2  库的安装与使用    351
  • 19.2.1  SQLAlchemy的安装与使用    351
  • 19.2.2  pyecharts的安装与使用    352
  • 19.2.3  jieba分词库的安装与使用    353
  • 19.2.4  BeautifulSoup的安装与使用    354
  • 19.3  分词与词频统计实战    354
  • 19.3.1  整体结构设计    355
  • 19.3.2  数据结构设计    355
  • 19.3.3  数据的爬取与保存    356
  • 19.3.4  制定关键词库    358
  • 19.3.5  词频统计与图表生成    358
  • 19.4  分词与词频统计完整代码实现与结果查看    359
  • 19.5  项目小结    367
  • 第20章  区块链实战    368
  • 20.1  区块链简介    368
  • 20.1.1  区块链的定义    368
  • 20.1.2  区块链的特点    369
  • 20.1.3  区块链应用行业及领域    369
  • 20.2   区块链代码结构设计    369
  • 20.2.1  环境准备    369
  • 20.2.2  代码结构设计    369
  • 20.3  区块链具体逻辑实现    371
  • 20.3.1  块结构    371
  • 20.3.2  加入交易    372
  • 20.3.3  创建新块    372
  • 20.3.4  工作量证明的理解    374
  • 20.3.5  工作量证明的实现    374
  • 20.4  API接口层开发    375
  • 20.4.1  发送交易    375
  • 20.4.2  挖矿    376
  • 20.4.3  返回整个区块链    376
  • 20.5  运行区块链    377
  • 20.6  分布式实现    378
  • 20.6.1  注册节点    379
  • 20.6.2  实现共识算法    379
  • 20.7  完整项目代码与执行    381
  • 20.8  项目小结    393
  • 附录    394
  • A.1  数学函数    394
  • A.2  随机函数    394
  • A.3  三角函数    395
  • A.4  Python字符串内建函数    395
  • A.5  列表方法    397
  • A.6  字典内置方法    397
  • A.7  正则表达式模式    398

下载地址

用户留言