Python程序开发案例教程_第1页
Python程序开发案例教程_第2页
Python程序开发案例教程_第3页
Python程序开发案例教程_第4页
Python程序开发案例教程_第5页
已阅读5页,还剩314页未读 继续免费阅读

付费阅读全文

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家软件与集成电路公共服务平台信息技术紧缺人才培养工程指定教材

Python程序开发案例教程

黑马程序员编著

内容简介

Python是近年来最流行的编程语言之一,其简洁的语法和卓越的可读性使其成为初学者的完

美编程语言,并且深受编程人员的喜好和追捧。

本书以Python3.7为开发环境,从入门者的角度出发,以简洁、通俗易懂的语言逐步展开

Python语言教学。全书共分17章,内容包括Python环境搭建、数字类型与字符串、流程控制、

列表与元组、集合和字典、函数、类与对象、模块、文件与文件路径操作、错误和异常、正则表

达式、图形用户界面编程、进程和线程、网络编程、数据库编程、Django框架介绍以及综合实战

项目。本书配有大量典型的实例,读者可以边学边练习,巩固所学知识,并在实践中提升实际开

发能力。

本书适合作为高等院校计算机相关专业及其他工科专业的Python教材,也可作为编程人员及

自学者的辅助教材或自学参考书。

图书在版编目(CIP)数据

Python程序开发案例教程/黑马程序员编著.—北京:

中国铁道出版社有限公司,2019.10

国家软件与集成电路公共服务平台信息技术紧缺人才

培养工程指定教材

ISBN978-7-113-25972-3

Ⅰ.①P…Ⅱ.①黑…Ⅲ.①软件工具-程序设计-

高等学校-教材Ⅳ.①TP311.561

中国版本图书馆CIP数据核字(2019)第180132号

书名:Python程序开发案例教程

作者:黑马程序员

策划:秦绪好翟玉峰编辑部电话2067

责任编辑:翟玉峰彭立辉

封面设计:刘颖

责任校对:张玉华

责任印制:郭向伟

出版发行:中国铁道出版社有限公司(100054,北京市西城区右安门西街8号)

网址:/51eds/

印刷:北京柏力行彩印有限公司

版次:2019年10月第1版2019年10月第1次印刷

开本:787mm×1092mm1/16印张:19.75字数:491千

印数:1~3000册

书号:ISBN978-7-113-25972-3

定价:52.00元

版权所有侵权必究

凡购买铁道版图书,如有印制质量问题,请与本社教材图书营销部联系调换。电话:(010)63550836

打击盗版举报电话:(010)51873659

自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断

在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势

力量,有针对性地出版了计算机系列教材80多种,制作教学视频数十套,发表各类技

术文章数百篇。

江苏传智播客教育科技股份有限公司(简称传智播客)是一家致力于培养高素质软件

开发人才的科技公司,“黑马程序员”是传智播客旗下高端IT教育品牌。

“黑马程序员”的学员多为大学毕业后,想从事IT行业,但各方面条件还不成熟的年

轻人。“黑马程序员”的学员筛选制度非常严格,包括了严格的技术测试、自学能力测试,

还包括性格测试、压力测试、品德测试等。百里挑一的残酷筛选制度确保了学员质量,并

降低了企业的用人风险。

“黑马程序员”不仅斥资研发IT系列教材,还为高校师生提供以下配套学习资源与

服务。

为大学生提供的配套服务

(1)请登录在线平台,进入“高校学习平台”,免费获取海量学

习资源,帮助高校学生解决学习问题。

(2)针对高校学生在学习过程中存在的压力等问题,我们还面向大学生量身打造了

IT技术女神——“播妞学姐”,可提供教材配套源码和习题答案以及更多IT其他干货资源,

同学们快来关注“播妞学姐”,微信公众号:boniu1024。

“播妞学姐”微信公众号

2Python程序开发案例教程

为教师提供的配套服务

针对高校教学,“黑马程序员”为IT系列教材精心设计了“教案+授课资源+考试系

统+题库+教学辅助案例”的系列教学资源,高校老师请登录在线平台进

入“高校教辅平台”或关注码大牛老师微信/QQ:2011168841,获取配套资源,也可以扫

描下方二维码,加入专为IT教师打造的师资服务平台——“教学好助手”,获取最新教师

教学辅助资源的相关动态。

“教学好助手”微信公众号

前言

随着计算机的普及与智能设备的发展,人们对操作系统、应用程序、游戏等各种软件的需求量

越来越大,各行各业都离不开程序开发,因此社会对各种程序开发人员,如Python、C、C++、Java、

PHP等开发人员的需求量也大大提升。2016年,AlphaGo击败人类职业围棋选手,引发了人工智能

和Python语言的热潮;2018年3月,Python成为全国计算机等级考试二级新增科目,再度掀起Python

热潮。由于Python具备语法简单、易于阅读、高效、可移植、可扩展、可嵌入、易于维护等优点,

被广泛应用于目前火热的Web开发、网络爬虫、人工智能、机器学习、大数据与云计算领域。

为什么要学习本书

对于已步入编程领域的人而言,学习一门语言并不难,难的是如何将语言应用到实际开发之

中。使用本书可帮助具有编程基础的人群快速掌握Python语言,并熟练将Python应用于开发之中。

本书采用“理论+实践”模式,不仅采用通俗易懂的语言讲解了Python开发必备的理论知识,

而且提供了实用性兼趣味性的实例,其目的是帮助读者更好地将理论知识应用于实际场景中,加

深对知识的理解和掌握。除此之外,本书最后章节还介绍了一个Web框架和Web项目,使读者初

步具备使用Django框架开发Web项目的能力。

如何使用本书

本书在Windows平台上基于Python3.7对Python语法以及程序设计相关知识进行讲解。全书共

分17章,各章内容分别如下:

第1章主要介绍Python的入门知识,包括Python的特点、版本、应用领域、Python开发环境的

搭建、编程规范,以及Python中的变量、输入/输出函数等。通过本章的学习,希望学生能够独立

搭建Python开发环境,并对Python开发有初步的认识,为后续学习做好铺垫。

第2章主要介绍Python中的数据类型(包括数字类型、字符串类型)、数据类型转换、运算

符等知识。通过本章的学习,希望读者能掌握Python中的基本数据类型的常见操作,并多加揣摩

与动手练习,为后续的学习打好扎实的基础。

第3章主要介绍Python流程控制,包括if语句、if语句的嵌套、循环语句、循环嵌套以及跳转

语句。通过本章的学习,希望读者能够熟练掌握Python流程控制的语法,并灵活运用流程控制语

句开发程序。

第4章主要介绍Python中列表与元组的基本使用,首先介绍了列表,包括列表的创建、访问

列表元素、列表的遍历和排序、嵌套类别,以及添加、删除和修改列表元素,然后介绍了元组,

包括元组的创建、访问元组的元素。通过本章的学习,希望读者能够掌握列表和元组的基本使用,

并灵活运用列表和元组进行Python程序开发。

第5章主要介绍Python中的字典与集合,包括字典的创建、访问、字典的基本操作以及集合

的创建、基本操作和操作符。通过本章的学习,希望读者能够熟练使用字典和集合存储数据,为

后续的开发打好基础。

IIPython程序开发案例教程

第6章主要介绍Python中的函数,包括函数的定义和使用、函数的参数传递、变量的作用域、

匿名函数、递归函数,以及Python常用的内置函数。通过本章的学习,希望读者能够灵活地定义

和使用函数。

第7章主要介绍类与面向对象知识,包括面向对象概述、类和对象的关系、类的定义与访问、

对象的创建与使用、类成员的访问限制、构造方法与析构方法、类方法和静态方法、继承、多态

等知识。通过本章的学习,希望读者理解面向对象的思想,能熟练地定义和使用类,并具备开发

面向对象项目的能力。

第8章主要介绍与Python模块相关知识,包括模块的定义、模块的导入方式、常见的标准模

块、自定义模块、模块的导入特性、包以及下载与安装第三方模块。模块和包不仅能提高开发效

率,而且使代码具有清晰的结构。通过本章的学习,希望读者能熟练地定义和使用模块、包。

第9章主要介绍Python中的文件与路径操作,包括文件的打开与关闭、文件的读/写、文件的

定位读取、文件的复制与重命名、获取当前路径、检测路径有效性等。通过本章的学习,希望读

者掌握文件与路径操作的基础知识,能在实际开发中熟练地操作文件。

第10章主要介绍Python中与异常相关的知识,包括异常概述、异常的捕获、异常的抛出、自

定义异常以及如何使用with语句处理异常。通过本章的学习,希望读者能够掌握Python中异常的

使用方法。

第11章主要介绍正则表达式的基本知识以及Python中提供正则表达式相关功能的re模块,其

中正则表达式的基础知识包括元字符、预定义字符集、基本的匹配规则;re模块包括预编译、匹

配搜索、匹配对象、全文匹配、检索替换、文本分割、贪婪匹配等知识。通过本章的学习,希望

读者能够在程序中熟练运用正则表达式。

第12章对Python中用于搭建图形用户界面的tkinter模块的相关知识进行了讲解,包括如何利

用tkinter构建简单GUI、tkinter组件通用属性、tkinter基础组件、几何布局管理器、事件处理方式、

菜单以及消息对话框。通过本章的学习,希望读者能够掌握tkinter模块的基础知识,并能熟练利

用tkinter搭建图形用户界面。

第13章主要介绍两种多任务编程的方式:进程和线程。首先介绍的是关于进程的知识,包括

进程的概念、进程的创建方式、进程间的通信;然后介绍关于线程的知识,包括线程的概念、线

程的基本操作、线程中的锁和线程的同步。通过本章的学习,希望读者能掌握进程和线程的使用,

并合理地运用到现实开发中。

第14章介绍和网络编程相关的知识,包括基础的网络知识、socket网络编程的通信流程与内

置方法,并通过几个简单实例分别讲解和演示了如何基于UDP、TCP的网络通信,以及TCP并发

服务器和I/O多路转接服务器的原理与多种实现方法。通过本章的学习,希望读者能够了解基础网

络知识,掌握socket网络编程的通信流程,熟练实现基于UDP、TCP的网络通信,并掌握并发服务

器与多路转接服务器的基础模型。

第15章首先介绍数据库的分类,其次介绍MySQL数据库与Python程序的交互,包括下载安装

MySQL、安装pymysql库、pymysql库的常用对象和基本使用,然后介绍了MongoDB数据库与Python

程序的交互,包括下载安装MongoDB、安装pymongo模块、pymongo模块的常用对象和基本使用,

最后介绍了Redis数据库与Python程序的交互,包括下载安装Redis、安装redis模块、redis模块的常

用对象和基本使用。通过本章的学习,希望读者能使用Python程序与数据库进行交互。

第16章主要介绍前端基础知识、Web框架、Django的基本使用,其中前端基础知识包括HTTP

协议、HTML简介、CSS简介、JavaScript简介;Web框架知识包括WSGI规范、WSGI服务器;Django

的基本使用包括Django概述、创建Django项目、创建Django应用、视图函数、模板使用、配置访问

路由。通过本章的学习,希望读者能够了解前端基础知识与Web框架,熟悉Django框架的使用方法。

前言III

第17章首先介绍天天生鲜项目的各应用中所包含的功能和各个页面所提供的功能,然后分页

面逐一实现了天天生鲜项目。通过本章的学习,希望读者能熟练使用Django框架,具备利用Django

框架开发Web项目的能力。

本书配有大量丰富有趣的实例,因受篇幅限制,书中只给出实例题目、实例分

析、实例实现的电子档可以扫描右侧的二维码下载,也可以从

/51eds/下载,书中所有实例索引见下表。

实例索引

章节对应小节实例名称

1.4实例1:海洋单位距离的换算

第1章

1.5实例2:打印名片

2.1.2实例1:根据身高体重计算BMI指数

2.1.4实例2:模拟超市收银抹零行为

2.2.5实例3:文本进度条

2.2.6实例4:敏感词替换

第2章

2.4.1实例5:判断水仙花数

2.4.2实例6:找出最大数

2.4.3实例7:计算三角形面积

2.4.4实例8:下载操作模拟

3.1.2实例1:判断4位回文数

3.1.3实例2:奖金发放

3.1.4实例3:根据身高体重计算某个人的BMI值

3.2.2实例4:模拟乘客进站流程

3.2.3实例5:快递计费系统

第3章

3.3.2实例6:数据加密

3.3.3实例7:逢七拍手游戏

3.3.5实例8:登录系统账号检测

3.4.3实例9:九九乘法表

3.5.3实例10:猜数游戏

4.1.3实例1:刮刮乐

4.2.3实例2:商品价格区间设置与排序

第4章4.3.4实例3:好友管理系统

4.4.2实例4:随机分配办公室

4.5.3实例5:中文数字对照表

5.1.3实例1:单词识别

第5章5.2.4实例2:手机通讯录

5.4.3实例3:生词本

IVPython程序开发案例教程

6.1.3实例1:计算器

6.3.3实例2:学生信息管理系统

第6章

6.4.3实例3:汉诺塔

6.4.4实例4:斐波那契数列

7.5实例1:银行管理系统

第7章

7.7实例2:井字棋

8.6实例1:随机生成验证码

第8章

8.7实例2:绘制多角星

9.2.2实例1:身份证归属地查询

第9章9.3.2实例2:通讯录

9.8实例3:用户登录

第10章10.6实例:身份归属地查询添加异常

11.4.3实例1:判断手机号所属运营商

第11章11.8实例2:电影信息提取

11.11实例3:用户注册验证

12.5.3实例1:秒表计时器

第12章12.6.4实例2:电子计算器

12.8实例3:图书管理系统登录界面

第13章13.8实例:生产者与消费者模式

14.2.4实例1:扫描开放端口

第14章

14.5实例2:TCP文件下载

第15章15.5实例:用户注册登录

致谢

本书的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、

高美云、王晓娟、孙东、郑瑶瑶等,全体人员在这近一年的编写过程中付出了很多辛勤的汗水,

在此一并表示衷心的感谢。

意见反馈

尽管我们付出了最大的努力,但书中仍难免存在不妥之处,欢迎各界专家和读者朋友来信提

出宝贵意见,我们将不胜感激。您在阅读本书时,如果发现任何问题或有不认同之处,可以通过

电子邮件与我们取得联系。

请发送电子邮件至:itcast_book@。

黑马程序员

2019年6月

目录

第1章开启Python学习之旅1

1.1Python概述1

1.1.1Python的特点1

1.1.2Python的版本2

1.1.3Python应用领域4

1.2搭建Python开发环境5

1.2.1Python的安装5

1.2.2IDLE的使用8

1.2.3集成开发环境PyCharm的

安装与使用9

1.3快速开发Python程序13

1.3.1开发第一个Python程序:

模拟手机充值13

1.3.2良好的编程约定14

1.3.3数据的表示——变量15

1.3.4基本输入/输出15

1.4实例1:海洋单位距离的换算...16

1.5实例2:打印名片16

小结17

习题17

第2章数字类型与字符串18

2.1数字类型18

2.1.1数字类型的表示方法18

IIPython程序开发案例教程

2.1.2实例1:根据身高体重计算3.1.2实例1:判断4位回文数35

BMI指数193.1.3实例2:奖金发放36

2.1.3类型转换函数203.1.4实例3:根据身高体重计算

2.1.4实例2:模拟超市收银抹零某个人的BMI值36

行为203.2if语句的嵌套36

2.2字符串213.2.1if语句嵌套36

2.2.1字符串的定义213.2.2实例4:模拟乘客进站

2.2.2字符串的格式化输出21流程37

2.2.3字符串的常见操作233.2.3实例5:快递计费系统37

2.2.4字符串的索引与切片253.3循环语句38

2.2.5实例3:文本进度条253.3.1for循环38

2.2.6实例4:敏感词替换263.3.2实例6:数据加密38

2.3运算符263.3.3实例7:逢七拍手游戏39

2.3.1算术运算符263.3.4while循环39

2.3.2比较运算符273.3.5实例8:登录系统账号

2.3.3赋值运算符27检测39

2.3.4逻辑运算符283.4循环嵌套40

2.3.5位运算符293.4.1while循环嵌套40

2.3.6运算符优先级293.4.2for循环嵌套40

2.4经典实例303.4.3实例9:九九乘法表41

2.4.1实例5:判断水仙花数303.5跳转语句41

2.4.2实例6:找出最大数303.5.1break语句41

2.4.3实例7:计算三角形面积..313.5.2continue语句42

2.4.4实例8:下载操作模拟313.5.3实例10:猜数游戏43

小结31小结43

习题31习题43

第3章流程控制33第4章列表与元组45

3.1if语句334.1认识列表45

3.1.1if语句的格式334.1.1列表的创建方式45

目录III

4.1.2访问列表元素465.2.2字典元素的删除58

4.1.3实例1:刮刮乐465.2.3字典元素的查询59

4.2列表的遍历和排序475.2.4实例2:手机通讯录60

4.2.1列表的遍历475.3集合的创建方式61

4.2.2列表的排序475.4集合操作与操作符61

4.2.3实例2:商品价格区间设置5.4.1集合元素的添加、删除

与排序48和清空61

4.3添加、删除和修改列表元素485.4.2集合类型的操作符62

4.3.1添加列表元素485.4.3实例3:生词本64

4.3.2删除列表元素49小结64

4.3.3修改列表元素50习题64

4.3.4实例3:好友管理系统50

第6章函数66

4.4嵌套列表51

6.1函数的定义与调用66

4.4.1嵌套列表的创建与

6.1.1函数的定义66

访问51

6.1.2函数的调用67

4.4.2实例4:随机分配办公室51

6.1.3实例1:计算器68

4.5认识元组52

6.2函数的参数传递68

4.5.1元组的创建方式52

6.2.1位置参数68

4.5.2访问元组元素52

6.2.2关键字参数68

4.5.3实例5:中文数字对照表53

6.2.3默认参数69

小结54

6.2.4不定长参数69

习题54

6.3变量作用域70

第5章字典与集合566.3.1局部变量70

5.1认识字典566.3.2全局变量70

5.1.1字典的创建方式566.3.3实例2:学生信息管理

5.1.2通过“键”访问字典57系统71

5.1.3实例1:单词识别576.4函数的特殊形式71

5.2字典的基本操作576.4.1匿名函数71

5.2.1字典元素的添加和修改576.4.2递归函数72

IVPython程序开发案例教程

6.4.3实例3:汉诺塔73习题90

6.4.4实例4:斐波那契数列73

第8章模块93

6.5Python常用内置函数73

8.1模块概述93

小结74

8.1.1模块的概念93

习题74

8.1.2模块的导入方式94

第7章类与面向对象768.1.3常见的标准模块95

7.1面向对象768.2自定义模块99

7.1.1面向对象概述768.3模块的导入特性100

7.1.2面向对象的基本概念778.3.1__all__属性100

7.2类与对象798.3.2__name__属性101

7.2.1类与对象的关系798.4Python中的包101

7.2.2类的定义与访问808.4.1包的结构101

7.2.3对象的创建与使用808.4.2包的导入102

7.2.4访问限制818.5第三方模块的下载与安装102

7.3构造方法与析构方法828.6实例1:随机生成验证码103

7.3.1构造方法828.7实例2:绘制多角星104

7.3.2析构方法83小结104

7.4类方法和静态方法83习题104

7.4.1类方法84

第9章文件与文件路径操作106

7.4.2静态方法85

9.1文件的打开和关闭106

7.5实例1:银行管理系统86

9.1.1打开文件106

7.6继承86

9.1.2关闭文件107

7.6.1单继承86

9.2从文件中读取数据107

7.6.2多继承87

9.2.1文件的读取107

7.6.3方法的重写88

9.2.2实例1:身份证归属地

7.6.4super()函数88

查询109

7.7实例2:井字棋89

9.3向文件写入数据109

7.8多态89

9.3.1数据写入109

小结90

9.3.2实例2:通讯录110

目录V

9.4文件的定位读取11010.5.1with语句126

9.5文件的复制与重命名11110.5.2上下文管理器127

9.5.1文件的复制11110.5.3自定义上下文管理器127

9.5.2文件的重命名11110.6实例:身份归属地查询添加

9.6目录操作112异常128

9.6.1创建目录112小结128

9.6.2删除目录112习题128

9.6.3获取目录的文件列表113

第11章正则表达式130

9.7文件路径操作113

11.1正则表达式基础知识130

9.7.1相对路径与绝对路径113

11.1.1元字符130

9.7.2获取当前路径114

11.1.2预定义字符集132

9.7.3检测路径的有效性114

11.2re模块133

9.7.4路径的拼接114

11.3预编译134

9.8实例3:用户登录115

11.4匹配与搜索135

小结115

11.4.1使用match()函数进行

习题115

匹配135

第10章错误和异常11711.4.2使用search()函数进行

10.1错误和异常概述117匹配136

10.2捕获异常11911.4.3实例1:判断手机号所属

10.2.1try…except语句119运营商136

10.2.2捕获异常信息11911.5匹配对象136

10.2.3else子句12111.6全文匹配138

10.2.4finally子句12211.6.1findall()函数138

10.3抛出异常12211.6.2finditer()函数138

10.3.1raise语句12311.7检索替换139

10.3.2异常的传递12411.8实例2:电影信息提取139

10.3.3assert断言语句12511.9文本分割139

10.4自定义异常12511.10贪婪匹配140

10.5with语句与上下文管理器12611.11实例3:用户注册验证141

VIPython程序开发案例教程

小结14112.6.3弹出菜单165

习题14112.6.4实例2:电子计算器166

12.7消息对话框166

第12章图形用户界面编程143

12.8实例3:图书管理系统登录

12.1tkinter概述143

界面167

12.1.1认识tkinter143

小结168

12.1.2构建简单的GUI144

习题168

12.2tkinter组件概述148

12.2.1tkinter核心组件148第13章进程和线程169

12.2.2组件的通用属性14913.1进程的概念169

12.3基础组件介绍15013.2进程的创建方式171

12.3.1标签Label15013.2.1通过fork()函数创建

12.3.2按钮Button151进程171

12.3.3复选框Checkbutton15213.2.2通过Process类创建

12.3.4文本框Entry153进程173

12.3.5单选按钮Radiobutton15413.2.3通过Pool类批量创建

12.3.6列表框List155进程174

12.3.7文本域Text15613.3进程间通信——Queue177

12.4几何布局管理器15713.4线程的概念178

12.4.1pack布局管理器15713.5线程的基本操作179

12.4.2grid布局管理器15813.5.1线程的创建和启动179

12.4.3place布局管理器15913.5.2线程的阻塞181

12.5事件处理15913.6线程锁182

12.5.1command事件处理13.6.1互斥锁182

方式15913.6.2死锁184

可重入锁

12.5.2bind事件处理方式16013.6.3186

线程同步

12.5.3实例1:秒表计时器16313.7187

通过类实现线程

12.6菜单16313.7.1Condition

同步

12.6.1顶级菜单163188

通过类实现线程

12.6.2下拉菜单16413.7.2Queue

同步190

目录VII

13.8实例:生产者与消费者15.1.1数据库概述224

模式19215.1.2数据库的分类225

小结19315.2MySQL与Python交互226

习题19315.2.1下载和安装MySQL227

15.2.2安装pymysql238

第14章网络编程195

15.2.3pymysql常用对象239

14.1网络概述195

15.2.4pymysql的使用与示例..241

14.1.1协议与体系结构195

15.3MongoDB与Python交互243

14.1.2数据传输流程197

15.3.1下载和安装MongoDB...243

14.1.3网络架构198

15.3.2安装pymongo245

14.1.4IP地址和端口号199

15.3.3pymongo常用对象246

14.2socket网络编程基础201

15.3.4pymongo的使用与示例.247

14.2.1socket套接字201

15.4Redis与Python交互248

14.2.2socket通信流程202

15.4.1下载和安装Redis249

14.2.3socket内置方法204

15.4.2安装redis251

14.2.4实例1:扫描开放端口206

15.4.3redis常用对象251

14.3基于UDP的网络聊天室206

15.4.4redis的使用与示例253

14.4基于TCP的数据转换209

15.5实例:用户注册登录253

14.5实例2:TCP文件下载211

小结254

14.6TCP并发服务器211

习题254

14.6.1单进程非阻塞服务器211

14.6.2多进程并发服务器214第16章Django框架介绍256

14.6.3多线程并发服务器21616.1前端基础知识256

14.7I/O多路转接服务器21716.1.1HTTP协议256

14.7.1select并发服务器21716.1.2HTML简介259

14.7.2epoll并发服务器21916.1.3CSS简介260

小结22216.1.4JavaScript简介261

习题22316.2WSGI262

16.2.1WSGI规范262

第15章数据库编程224

16.2.2WSGI服务器263

15.1数据库基础知识224

VIIIPython程序开发案例教程

16.3初识Django26517.4.1创建视图函数287

16.4第一个Django项目——用户17.4.2实现商品购买功能288

登录26617.4.3创建模板文件289

16.4.1项目准备26617.4.4配置路由290

16.4.2编写视图函数27117.5商品分类页面功能实现290

16.4.3设计模板文件27317.5.1创建视图函数290

16.4.4配置访问路由27417.5.2创建模板文件292

16.4.5演示项目功能27417.5.3配置路由293

小结27517.6购物车页面功能实现294

习题27617.6.1创建视图函数294

17.6.2实现删除商品的功能294

第17章项目实战——天天生鲜277

17.6.3创建模板文件295

17.1天天生鲜项目页面展示277

17.6.4配置路由295

17.2前期准备280

17.7订单提交页面功能实现296

17.2.1需求分析280

17.7.1创建视图函数296

17.2.2数据库设计281

17.7.2实现订单提交功能296

17.2.3项目创建282

17.7.3创建模板文件297

17.2.4定义模型类282

17.7.4配置路由298

17.2.5迁移文件283

17.8订单提交成功页面功能

17.2.6配置静态文件284

实现298

17.3商品展示页面功能实现285

17.8.1创建视图函数298

17.3.1创建视图函数285

17.8.2创建模板文件299

17.3.2创建模板文件286

17.8.3配置路由300

17.3.3配置路由287

小结300

17.4商品详情页面功能实现287

第1章开启Python学习之旅

学习目标:

◎了解Python的特点、版本以及应用领域。

◎熟悉Python的下载与安装。

◎了解PyCharm的安装及简单使用。

◎了解代码规范,掌握变量的意义。

◎掌握Python的基本输入/输出。

在方兴未艾的机器学习以及热门的大数据分析技术领域,Python语言的热度可谓是如日中天。

Python语言因简洁的语法、出色的开发效率以及强大的功能,迅速在多个领域占据一席之地,成

为最符合人类期待的编程语言之一。

1.1Python概述

Python是一种面向对象的解释型计算机程序设计语言,它最初由荷兰人吉多·范罗苏姆研发,

并于1991年首次发行。在使用Python进行开发之前,有必要先了解一下Python。本节将针对Python

的特点、版本和应用领域进行介绍。

1.1.1Python的特点

Python语言之所以能够迅速发展,受到程序员的青睐,与它具有的特点密不可分。Python的

特点可以归纳为以下几点:

1.简单易学

Python语法简洁,非常接近自然语言,它仅需少量关键字便可识别循环、条件、分支、函数

等程序结构。与其他编程语言相比,Python可以使用更少的代码实现相同的功能。

2.免费开源

Python是开源软件,这意味着可以免费获取Python源码,并能自由复制、阅读、改动;Python

在被使用的同时也被许多优秀人才改进,进而不断完善。

2Python程序开发案例教程

3.可移植性

Python作为一种解释型语言,可以在任何安装有Python解释器的环境中执行,因此使

Python程序具有良好的可移植性,在某个平台编写的程序无须或仅需少量修改便可在其他平

台运行。

4.面向对象

面向对象程序设计(ObjectOrientedProgramming)的本质是建立模型以体现抽象思维过程和

面向对象的方法,基于面向对象编程思想设计的程序质量高、效率高、易维护、易扩展。Python

正是一种支持面向对象的编程语言,因此使用Python可开发出高质、高效、易于维护和扩展的优

秀程序。

5.丰富的库

Python不仅内置了庞大的标准库,而且定义了丰富的第三方库帮助开发人员快速、高效地处

理各种工作。例如,Python提供了与系统操作相关的os库、正则表达式re模块、图形用户界面

tkinter库等标准库。只要安装了Python,开发人员就可自由地使用这些库提供的功能。除此之外,

Python支持许多高质量的第三方库,例如图像处理库pillow、游戏开发库pygame、科学计算库numpy

等,这些第三方库可通过pip工具安装后使用。

1.1.2Python的版本

目前,市场上Python2和Python3两个版本并行。相比于早期的Python2,Python3历经了较

大的变革。为了不带入过多的累赘,Python3在设计之初没有考虑向下兼容,因此许多使用Python

2设计的程序无法在Python3上正常执行。

Python官网推荐使用Python3,考虑到目前Python2在市场上仍占有较大份额,这里针对

Python2和Python3的部分区别进行介绍。

1.print()函数替代了print语句

Python2使用print语句进行输出,Python3使用print()函数进行输出。示例代码如下:

Python2:

>>>print(3,4)

(3,4)

Python3:

>>>print(3,4)

34

2.Python3默认使用UTF-8编码

Python2默认使用ASCII编码,Python3中默认使用UTF-8编码,以更好地实现对中文或其

他非英文字符的支持。例如,输出“北京天安门”,Python2和Python3的示例与结果如下:

Python2:

>>>str="北京天安门"

>>>str

'\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'

Python3:

>>>str="北京天安门"

>>>str

第1章开启Python学习之旅3

'北京天安门'

3.除法运算

Python语言的除法运算包含“/”和“//”这两个运算符,它们在Python2和Python3的使用

介绍如下:

(1)运算符“/”:在Python2中,使用运算符“/”进行除法运算的方式和Java、C语言相似,

整数相除的结果是一个整数,浮点数相除的结果是一个浮点数。但在Python3中使用运算符“/”

进行整数相除时,结果也会得到浮点数。示例代码如下:

Python2:

>>>1/2#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论