您好,欢迎光临有路网!
二级Python编程指南
QQ咨询:
有路璐璐:

二级Python编程指南

  • 作者:娄岩、张志常、曹鹏
  • 出版社:清华大学出版社
  • ISBN:9787302526285
  • 出版日期:2019年03月01日
  • 页数:203
  • 定价:¥45.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书以实用为导向,从基础概念、语法结构、应用实例、开发技巧、安装部署等方面深入浅出的介绍了Python的程序设计方法以及项目实现流程。 全书共有13章,分别是Python概述、语法基础、控制语句、函数、文件、模块、面向对象和程序设计、图形界面设计、数据库应用、网络及多线程、爬虫、图像处理、可视化应用、数据挖掘和XML。
    文章节选
    面向对象程序设计
    导学
    面向对象程序设计(Object Oriented Programming,OOP)是一种将数据和对数据的操作封装成为“对象”来处理的程序设计方法。这种设计思想使得软件设计更加灵活,提高了代码的可读性和可扩展性。OOP可以在对象的基础上进行再抽象,根据不同对象之间的共同特征进行分类、抽象,形成类。OOP的关键就在于如何合理地定义和组织类以及类与类之间的关系。
    了解:面向对象的程序设计思想。
    掌握:对象、类的概念;面向对象程序设计的封装、继承和多态。
    前面的章节介绍了数据、列表、元组、字典和序列等内容。本章将主要介绍Python中另一个非常核心的概念,即对象。和C 、Java等其他语言一样,Python被称为面向对象的语言。在对象之上,可以抽象出类的概念,类具有封装性、继承性和多态性。
    5.1 面向对象程序设计基础
    5.1.1 面向对象程序设计的基本概念
    1.对象
    对象(Object)是面向对象程序设计的核心,也是程序的主要组成部分。在面向对象的程序设计方法里,一个程序就可以看成是一组对象的集合。
    在现实世界里,我们可以广义地认为,对象就是客观世界里存在着的任何事物。它可以是有生命的,也可以是无生命的;可以是具体的,也可以是抽象的。比如我们每一个人、我们身边的花草树木、桌椅板凳,都可以称为一个对象。任何对象都不仅包含它本身,同时也包含其所具有的特性和行为。
    在面向对象的程序设计思想中,对象可以被看成是数据以及其具有的属性和存取、操作该数据的方法所构成的集合。所以,在这种设计方法中,只要将程序中包含的每一个对象设计完成,也就完成了整个程序的设计。
    2.类
    类(Class)是同一类型对象,也就是具有相似行为对象的集合和抽象。在面向对象程序设计中,对象是程序的基本单位,是一种复合的数据类型,是程序的基本要素。而类是将具有相同状态、行为和访问机制的多个对象抽象形成一个整体。在定义了一个类之后,符合类特点的对象称为类实例或类对象。类代表一般,而类中的一个对象代表具体。例如,如果将每一个人作为一个个体看成是一个对象,那么一类人群就可以称为一个“类”,比如男人是一类、女人是一类。
    其实,不必将类的概念想象得那么复杂难以理解,我们可以把类简单地理解为类型,即数据类型。就像Python等语言允许用户创建除自带函数之外的自定义函数一样,Python也允许用户创建自定义的满足特殊条件的数据类型,就和Python定义好的string、list、dict等数据类型一样,没什么区别。
    3.消息和方法
    消息(Message)就是用来请求对象执行某一处理或是回答某些信息的要求。当对某一对象进行相应处理时,如果需要,可以通过传递消息,请求其他对象完成相应处理工作或者回答相应消息。其他对象在执行所要求的处理时,也可以通过传递消息与别的对象联系。因此,程序的执行其实是靠对象间消息的传递来实现的。消息的传送方称为发送者,消息的接收方��为接收者。
    方法(Method)是类的行为和属性的总称,是允许作用在对象上的所有操作。因此,对数据进行处理就是通过类所具有的方法使用消息传递来实现的。
    5.1.2 面向对象程序设计的基本特性
    面向对象程序设计是一种计算机编程架构。根据前面对对象、类等概念的介绍,可以理解面向对象程序设计方法具有以下3个基本特性。
    1.封装性(Encapsulation)
    封装性就是将数据和数据的属性及对其可能进行的操作集合起来,形成一个整体,即对象。用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口对对象进行访问。这样,就可以实现将对象的用户和设计者分开,用户在使用对象时,不必知道对象行为的细节,只需调用设计者提供的协议命令就可以了。
    另一方面,面向对象方法的封装性有效地使对象以外的事物不能随意获取对象的内部属性(公有属性除外),避免了外部错误对其产生的影响,大幅减少软件开发过程中查错的工作量,降低排错难度;同时隐蔽了程序设计的复杂性,提高了代码的重用性。
    2.继承性(Inheritance)
    提到继承性,就要先给出两个在类的继承过程中出现的新概念:父类(基类)和子类(派生类)。父类和子类是相对而言的,如果我们将已定义好的一个类称为父类,则从这个类派生出来的类就被称为这个类的子类。子类可以继承父类的所有属性。这种从父类派生出子类的现象称为类的继承机制,也就是继承性。
    子类因为继承了父类的属性,所以在使用时无须重新定义父类中已经定义好的属性和行为,而是自动地拥有其父类的全部属性和行为。
    3.多态性(Polymorphism)
    面向对象程序设计的多态性是指子类在继承了父类中定义的属性或行为的基础上,可以再定义出其他个性化的属性或行为。
    Python完全采用了OOP的思想,是真正面向对象的**动态编程语言,完全支持面向对象诸如封装、继承、多态以及派生类对基类方法的覆盖和重写等基本功能。
    与其他面向对象程序设计语言不同的是,Python中对象的概念更加宽泛。在Python中,一切内容都可以称为对象,包括字符串、列表、字典和元组等内置数据类型都具有和类完全相似的语法和用法。
    5.2 类 与 对 象
    5.2.1 定义类和对象
    在Python中,对象是类的实例,是由类创建的。所以在定义一个对象时,应该首先存在一个类。下面,我们就来分别定义类和对象。
    1.定义类
    创建类时,对象的属性用变量形式表现,称为数据成员或成员变量;对象的行为用函数形式表示,称为成员函数或成员方法。成员变量和成员方法统称为类的成员。
    Python使用class关键字来定义类,class关键字之后是一个空格,后面跟类的名字,然后是一个冒号,*后换行并定义类的内部实现方法。注意,类名的首字母一般需要大写,虽然也可以按照自己的习惯风格来定义类名,但是一般还是**参考惯例来命名,并在整个系统的设计和实现中保持风格的一致,以此增强程序的可读性,也有利于团队合作。
    下面给出定义类的*简单的格式:

    class 类名:
    属性(成员变量)
    属性


    成员函数(成员方法)

    【例5-1】 定义一个“学校”类,取名为CMU,实现输出字符串“Welcome to China Medical University!”的作用。程序代码如下:

    class CMU:
    #定义成员函数Welcome()
    def Welcome(self):
    print("Welcome to China Medical University!")
    xm=CMU() #定义类对象xm
    xm.Welcome () #通过类对象调用成员函数

    程序运行结果如下:

    Welcome to China Medical University!

    例题5-1在CMU类中定义了一个成员函数Welcome (self),目的用于输出字符串“Welcome to China Medical University!”
    需要说明的是,在Python中,函数和成员函数是有区别的。成员函数一般指与特定实例绑定的函数,当用户通过对象调用成员函数时,对象本身将作为**个参数被传递过去,这是普通函数所不具备的特点。就如例题5-1中成员函数Welcome (self)中的参数self就是代表类对象本身的参数。在类的成员函数中访问实例属性时,需要以self为前缀。
    2.定义对象
    前面介绍过,类就是数据类型。那么,面向对象程序设计方法中,在类下声明的变量就是“类对象”“实例对象”“对象”“实例”,这些各种称呼来源于不同的程序设计语言,其中“类对象”和“实例对象”比较严格些,建议大家多多采用。
    既然对象是类的实例,那么接着上面的例子,如果人类是一个类,那么某个具体的人就是一个对象。在定义了具体的对象之后,就可以通过使用“对象名.成员”的方式来访问其中的数据成员或者成员方法。
    首先给出Python创建对象的语法格式:

    对象名=类名()

    在例题5-1中,就已经定义了一个CMU类的对象xm,并通过类对象来调用成员函数,具体代码如下:

    xm=CMU() #定义类对象xm
    xm.Welcome () #通过类对象调用成员函数

    程序运行结果如下:

    Welcome to China Medical University!
    目录
    第1章 Python概述 1 1.1 Python简介 1 1.1.1 Python的概念 1 1.1.2 Python的发展历史 1 1.1.3 Python 3 2 1.1.4 Python的特点 2 1.1.5 Python的应用领域 2 1.2 Python的安装 3 1.3 **个Python程序 5 1.4 搭建Python集成开发环境 6 1.5 Python的输入/输出 12 1.5.1 Python的输入 12 1.5.2 Python的输出 13 本章小结 14 第2章 基础语法 15 2.1 Python的基本数据类型 15 2.1.1 变量的赋值和数据类型 15 2.1.2 数字 16 2.1.3 字符串 16 2.1.4 列表 18 2.1.5 元组 19 2.1.6 字典 19 2.1.7 集合 20 2.2 Python的基本运算符 21 2.2.1 算术运算符 21 2.2.2 字符串运算符 22 2.2.3 比较运算符 22 2.2.4 赋值运算符 23 2.2.5 逻辑运算符 23 2.2.6 成员运算符 24 2.2.7 运算符的优先级 24 本章小结 25 第3章 控制结构 26 3.1 顺序结构 26 3.2 分支结构 27 3.2.1 单分支结构(if语句) 27 3.2.2 双分支结构(if…else语句) 28 3.2.3 多分支结构(if…elif…else语句) 28 3.2.4 pass语句 30 3.2.5 try…except语句 30 3.3 循环结构 31 3.3.1 while语句 31 3.3.2 for语句 32 3.3.3 循环嵌套 32 3.3.4 break语句和continue语句 33 本章小结 34 第4章 函数、模块与文件 35 4.1 函数 35 4.1.1 系统函数 35 4.1.2 函数的定义 38 4.1.3 函数的参数和返回值 38 4.1.4 变量的作用域 39 4.1.5 递归调用 39 4.2 模块 40 4.3 文件 41 4.3.1 文件的打开与关闭 41 4.3.2 文件的读操作 42 4.3.3 文件的写操作 43 4.3.4 文件的指针定位 45 本章小结 46 第5章 面向对象程序设计 47 5.1 面向对象程序设计基础 47 5.1.1 面向对象程序设计的基本概念 47 5.1.2 面向对象程序设计的基本特性 48 5.2 类与对象 49 5.2.1 定义类和对象 49 5.2.2 构造函数 50 5.2.3 实例属性和类属性 51 5.3 类的继承与多态 52 5.3.1 类的继承 52 5.3.2 类的多继承 53 5.3.3 类的多态 54 本章小结 55 第6章 图形界面设计 56 6.1 Python图形开发库 56 6.1.1 开发平台 56 6.1.2 创建Windows窗口 57 6.2 Tkinter常用组件 58 6.2.1 Tkinter组件 58 6.2.2 标签 60 6.2.3 按钮 62 6.2.4 文本框 64 6.2.5 列表框 65 6.2.6 单选按钮和复选框 66 6.2.7 消息窗口 69 6.2.8 对话框 70 6.2.9 菜单 71 6.3 窗口内图形绘制 73 6.3.1 Canvas画布组件 73 6.3.2 绘制图形对象 73 6.4 Python事件处理 76 6.4.1 事件类型 76 6.4.2 事件处理函数 77 6.4.3 事件绑定 77 本章小结 79 第7章 数据库应用 80 7.1 结构化查询语言(SQL) 80 7.1.1 SQL基本语句 80 7.1.2 SQL查询语句 81 7.2 SQLite 3数据库基础 83 7.3 Python的SQLite3数据库编程 84 7.3.1 访问数据库的步骤 84 7.3.2 数据库应用实例 85 7.4 Python访问主流数据库与存储文本数据 93 7.4.1 Python访问主流数据库 93 7.4.2 Python存储文本数据 95 本章小结 95 第8章 网络及多线程 96 8.1 网络编程基础 96 8.1.1 客户端/服务器 96 8.1.2 IP协议 96 8.1.3 TCP和UDP协议 97 8.1.4 端口 97 8.1.5 socket 97 8.2 TCP编程 102 8.2.1 TCP客户端编程 102 8.2.2 TCP服务器端编程 104 8.3 UDP编程 106 8.4 多线程编程 107 8.4.1 进程和线程 107 8.4.2 创建线程 108 8.4.3 线程同步 112 本章小结 114 第9章 网络爬虫 115 9.1 网络爬虫基本原理 115 9.2 requests库 116 9.2.1 requests库的安装 116 9.2.2 requests库的使用方法 117 9.2.3 访问异常处理 121 9.2.4 requests库的应用案例 122 9.3 BeautifulSoup库 125 9.3.1 BeautifulSoup库的安装 125 9.3.2 BeautifulSoup库的使用方法 126 9.3.3 BeautifulSoup库的应用案例 132 本章小结 142 第10章 图像操作与处理 143 10.1 图像处理类库Pillow的安装 143 10.2 图像处理类库PIL的基本概念 144 10.3 图像处理类库PIL的常用模块 146 10.3.1 Image模块 146 10.3.2 ImageChops模块 147 10.3.3 ImageDraw模块 149 10.3.4 ImageEnhance模块 152 10.3.5 ImageFilter模块 155 10.3.6 ImageFont模块 156 10.4 PIL对图像的基本操作 157 10.4.1 图像格式的转换 157 10.4.2 创建缩略图 158 10.4.3 图像的复制和粘贴 159 10.4.4 几何变换 160 10.5 PIL对图像的综合实例 160 本章小结 163 第11章 科学计算与数据可视化应用 164 11.1 NumPy库的使用 164 11.1.1 NumPy数组的使用 164 11.1.2 NumPy数组的算术运算 166 11.1.3 NumPy数组的形状操作 168 11.1.4 NumPy文件存取数组操作 169 11.1.5 NumPy的图像数组操作 171 11.2 Matplotlib数据可视化 174 11.2.1 使用Matplotlib.pyplot模块绘图 174 11.2.2 使用matplotlib.pylab模块绘制直方图、条形图、散点图、 180 饼状图等 180 本章小结 186 第12章 数据挖掘与机器学习 187 12.1 机器学习概念与操作流程 187 12.1.1 概念与定义 187 12.1.2 AI操作流程 188 12.1.3 机器学习库sklearn的安装 188 12.2 Python机器学习算法与应用 188 12.2.1 线性回归算法 189 12.2.2 KMeans聚类算法 190 12.2.3 kNN近邻算法 191 12.2.4 逻辑回归算法 192 本章小结 194 第13章 Python解析XML 195 13.1 XML概述 195 13.1.1 XML简介 195 13.1.2 Python解析XML文件的两种常用方法 196 13.2 Python使用SAX解析XML 197 13.2.1 使用SAX解析XML文件的方法 197 13.2.2 使用SAX读取XML文件的实例 197 13.3 Python使用DOM解析XML 198 13.3.1 使用DOM读取XML文件 198 13.3.2 使用DOM添加结点 200 13.3.3 使用DOM修改、删除结点 201 本章小结 203 参考文献 204

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外