目 录 第1章Python语言概述1 1.1导学1 1.2计算机语言概述2 1.2.1计算机语言2 1.2.2高级语言执行方式3 1.3初识Python4 1.3.1Python语言的发展历史4 1.3.2Python语言的特点4 1.3.3Python语言的应用领域5 1.3.4第一个Python程序6 1.3.5Python程序运行方式7 1.3.6Python编码规范8 1.4Python开发环境与工具11 1.4.1Python开发环境的安装11 1.4.2集成开发环境17 1.4.3用Jupyter Notebook分享代码23 小结27 习题27 第2章基本数据类型28 2.1导学28 2.2变量29 2.2.1变量的定义29 2.2.2变量命名规则30 2.2.3关键字31 2.2.4变量赋值32 2.2.5变量的存储33 2.3数字类型36 2.3.1int37 2.3.2float37 2.3.3bool37 2.3.4complex38 2.3.5None38 2.4字符串类型38 2.5运算符与表达式39 2.5.1运算符39 2.5.2表达式50 2.6输出函数52 2.6.1print()基本格式52 2.6.2格式化输出52 2.6.3自动换行54 2.7输入函数55 2.7.1强制类型转换55 2.7.2自动类型转换56 2.8常见内置函数56 2.9应用实例57 小结60 习题60 第3章字符串与列表61 3.1导学61 3.2字符串概述62 3.2.1字符串的表示62 3.2.2字符串的索引62 3.2.3转义字符63 3.2.4字符串类型64 3.2.5多行字符串65 3.2.6字符串运算符66 3.2.7字符串编码67 3.3字符串基本操作69 3.3.1大小写转换69 3.3.2字符类型判断71 3.3.3字符串检查72 3.3.4字符串格式化73 3.3.5字符串查找75 3.3.6字符串修改76 3.3.7字符串编解码77 3.4列表概述78 3.4.1列表的定义78 3.4.2列表元素79 3.4.3列表切片81 3.4.4列表长度82 3.4.5列表运算符82 3.5列表基本操作83 3.5.1遍历列表83 3.5.2添加列表元素84 3.5.3删除列表元素85 3.5.4查询列表元素86 3.5.5修改列表元素89 3.5.6复制列表89 3.5.7列表的排序93 3.6二维列表96 3.6.1二维列表简介96 3.6.2创建二维列表97 3.6.3二维列表中的元素97 3.6.4二维列表常见操作98 3.6.5深拷贝和浅拷贝101 3.7应用实例105 小结107 习题107 第4章选择结构109 4.1导学109 4.2布尔表达式110 4.2.1条件语句示例110 4.2.2等于判断110 4.2.3不等于判断111 4.2.4多个条件判断111 4.2.5成员判断112 4.3单分支选择结构112 4.4双分支选择结构113 4.5多分支选择结构114 4.6选择结构的嵌套116 4.6.1分支语句的嵌套116 4.6.2分支语句常见错误117 4.7应用实例119 小结122 习题122 第5章循环结构124 5.1导学124 5.2while循环125 5.2.1while循环语法125 5.2.2while语句体126 5.2.3简单语句组127 5.2.4while循环常见错误127 5.3for循环128 5.3.1for循环语法129 5.3.2for语句体129 5.3.3range()函数130 5.4循环控制语句131 5.4.1break语句131 5.4.2continue语句132 5.5循环嵌套133 5.5.1循环嵌套结构133 5.5.2循环嵌套常见错误134 5.6循环中的else语句134 5.7应用实例135 小结139 习题139 第6章元组、集合、字典141 6.1导学141 6.2元组142 6.2.1元组定义142 6.2.2访问元组143 6.2.3修改元组143 6.2.4删除元组143 6.2.5元组内置函数144 6.2.6元组的遍历145 6.3集合145 6.3.1创建集合146 6.3.2集合运算符147 6.3.3集合基本函数149 6.4字典152 6.4.1创建字典152 6.4.2字典元素的操作154 6.4.3字典和其他序列类型的区别159 6.5应用实例160 小结163 习题164 第7章函数与异常处理165 7.1导学165 7.2函数166 7.2.1函数的定义166 7.2.2函数的调用167 7.2.3函数的参数167 7.2.4函数的返回值172 7.2.5函数的嵌套调用174 7.2.6调用栈175 7.2.7函数递归调用176 7.3变量作用域176 7.3.1作用域的类型176 7.3.2作用域178 7.3.3作用域优先级179 7.3.4global语句180 7.4异常处理180 7.4.1异常定义180 7.4.2tryexcept语句181 7.4.3抛出异常186 7.4.4自定义异常类188 7.5应用实例190 小结196 习题197 第8章文件和数据库199 8.1导学199 8.2文件概述200 8.2.1文件的概念200 8.2.2文件的路径201 8.3文件操作203 8.3.1文件的打开与关闭203 8.3.2读文件207 8.3.3写文件211 8.3.4文件指针213 8.3.5截断文件215 8.4文件目录操作216 8.5数据库简介219 8.5.1数据模型219 8.5.2关系数据库220 8.5.3SQL220 8.6SQLite数据库222 8.6.1SQLite接口223 8.6.2安装SQLite数据库223 8.6.3连接SQLite数据库225 8.6.4数据库操作225 8.7MySQL数据库228 8.7.1MySQL的特点229 8.7.2下载和安装MySQL229 8.7.3连接数据库231 8.7.4数据库操作232 8.8应用实例236 小结243 习题244 第9章面向对象程序设计245 9.1导学245 9.2基本概念246 9.2.1结构化程序设计246 9.2.2面向对象程序设计246 9.3类与对象247 9.3.1类的定义249 9.3.2对象的创建250 9.4属性和方法251 9.4.1类属性和对象属性251 9.4.2类的构造方法252 9.4.3类的方法254 9.5封装与访问控制256 9.6继承和多态性258 9.6.1继承258 9.6.2object与type260 9.6.3覆盖261 9.6.4多态性与重载262 9.7类定义实例263 9.8迭代器和生成器265 9.8.1迭代器265 9.8.2生成器267 9.9装饰器和闭包271 9.9.1闭包271 9.9.2装饰器272 9.10应用实例273 小结280 习题280 第10章模块和包281 10.1导学281 10.2模块的定义282 10.3导入模块283 10.3.1import模块名283 10.3.2import模块名as别名284 10.3.3from模块名import285 10.3.4from模块名import成员名as别名285 10.4自定义模块286 10.4.1定义模块286 10.4.2导入自定义模块288 10.4.3模块访问控制290 10.5查看模块291 10.5.1dir()函数291 10.5.2__all__变量292 10.5.3__doc__属性292 10.5.4__file__属性293 10.6常用内置模块294 10.6.1math模块294 10.6.2random模块296 10.6.3datetime模块297 10.6.4logging模块299 10.7包301 10.7.1定义包301 10.7.2导入包303 10.8安装第三方库306 10.9应用实例307 小结321 习题321 第11章数据可视化分析322 11.1导学322 11.2turtle库322 11.2.1画布323 11.2.2画笔323 11.2.3应用实例329 11.3matplotlib库333 11.3.1plot()函数333 11.3.2常见函数336 11.3.3常见图表的绘制实例340 小结362 习题362 参考文献363