Stage4--Python面向对象
说在前面: Stage1—Stage4简单介绍一下Python语法,Stage5开始用python实现一些实际应用,语法的东西到处可以查看到,学习一门程序语言的最终目的是应用,而不是学习语法,语法本事其实很简单,本系列希望通过一个个的实例来了解和学习Python。
理解面向对象编程
万事万物皆对象
我们从窗户向外望去:
每棵树:每一课树都可以看成一个对象。
路上每个人:每一个人也可以看成一个对象。
每个人上班的事件: 可以看成一个对象。
类和对象
类则是从某一部分对象中抽象出来的一个群体,这些群体具有某些共同的特征,我们可以根据我们所需的某几个特征抽象出我们自己想要的类。
每个人都是对象,我们可以抽象出来人的共同特征,就像我们给自然界的物质分类一样(如何分类?根据特征分类)。
每个人上班的事件是对象,我们可以抽象出来上班,上班和上课就是两个类。
创建Python中的类和对象
创建类
class Person:#特殊方法,构造函数,创建这个类的时候会首先调用def __init__(self, name, age):self.name = nameself.age = age#定义一个方法,显示人的信息def displyPersonInfor(self):print("name:", self.name, ", age:", self.age)
创建对象(对象就是类的具体实例)
person = Person("xiaoming", 22)
访问属性及方法
person.displyPersonInfor() #访问类的成员方法print(person.name) #访问类的属性
print(person.age)
python对象销毁(垃圾回收)
析构函数 del ,del在对象销毁的时候被调用,当对象不再被使用时,del方法运行:
class Person:#特殊方法,构造函数,创建这个类的时候会首先调用def __init__(self, name, age):self.name = nameself.age = age#定义一个方法,显示人的信息def displyPersonInfor(self):print("name:", self.name, ", age:", self.age)#析构函数,对象销毁的时候调用def __del__(self):print(self.__class__.__name__ + "销毁")xiaoming = Person("xiaoming", 22)
xiaoming.displyPersonInfor() #访问类的成员方法xiaoqiang = Person("xiaoqiang", 25)
xiaoqiang.displyPersonInfor()del xiaoming
del xiaoqiang
类的继承
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
继承语法 class 派生类名(基类名)://… 基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。
class Person:#特殊方法,构造函数,创建这个类的时候会首先调用def __init__(self, name, age):self.name = nameself.age = age#定义一个方法,显示人的信息def displyPersonInfor(self):print("name:", self.name, ", age:", self.age)#析构函数,对象销毁的时候调用def __del__(self):print(self.__class__.__name__ + "销毁")class Student:def __init__(self, name, age, grade):Person.__init__(self, name, age)self.grade = gradedef displyPersonInfor(self):print("i am a student, my name is " + self.name)def __del__(self):print("student析构函数调用")xiaoming = Person("xiaoming", 22)
xiaoming.displyPersonInfor() #访问类的成员方法xiaoqiang = Student("xiaoqiang", 25, 3)
xiaoqiang.displyPersonInfor()del xiaoming
del xiaoqiang
转载于:https://www.cnblogs.com/lanzhi/p/6468436.html
Stage4--Python面向对象相关推荐
- python面向对象的优点_Python面向对象编程——总结面向对象的优点
Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...
- 这可能是Python面向对象编程的最佳实践
作者 | 崔庆才 来源 | 进击的Coder(ID:FightingCoder) Python 是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了 ...
- 第八课.Python面向对象(二)
类的继承和多态 继承和多态与函数有共同的目的,都是为了减少代码的冗余,提高复用的效率: 根据"Python面向对象(一)"的笔记,我现在定义一个Cinema类: #父类 class ...
- Python面向对象编程:类继承和其衍生术语
Python面向对象编程03:类继承和其衍生术语 前面我们讲到过正则表达式字符等,上一篇分享了面向对象编程和类的结构,最后稍微提到了继承. Python面向对象编程:深度认识类class_ Pytho ...
- 《Python面向对象编程指南》——1.2 基类中的__init__()方法
本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...
- Python 面向对象 基础
编程范式概述: 面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实 ...
- python面向对象类属性_python面向对象之类属性和类方法案例分析
本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...
- 关于python面向对象编程中、下列说法中_关于Python面向对象编程的知识点总结
前言 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们 ...
- python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!
原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...
- python面向对象编程的优点-Python面向对象编程——总结面向对象的优点
Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...
最新文章
- PyCharm去掉满屏的波浪线
- Python Django 多表设计OneToOneField/ManyToManyField/ForeignKey
- 【Android】Apk安装和删除
- ArcGIS Desktop新建postgresql版sde(10.4.1)的连接
- 【Java】不使用比较运算符构造max()和min()
- (89)FPGA除法器设计
- PHP 五大运行模式
- 传智播客c/c++公开课学习笔记--Linux网络流媒体服务器的核心代码揭秘
- 前端js日期时间格式转换
- Rails开始遇到的一个端口占用问题的解决方法
- windows守护进程工具_Linux进程管理
- 两个类似的ViewModel一个可以重写事件,另一个不能重写事件,是哪里出了错。...
- 精美的拟态个人主页源码
- VMware Cloud Director 10.3 发布(下载) - 云计算调配和管理平台
- php智能电视如何安装直播软件,海信 LED 55EC520UA 怎么安装第三方软件看直播?教你安装方法...
- 北通G3游戏手柄开箱体验,原来手游高手都是这么成就的
- 如何查看两个word文档的不同之处
- MBP清除NVRAM和PRAM
- 图像处理中ct图的通道是多少_CT图像后处理技术
- 软件构建中的设计(二)
热门文章
- 新手探索NLP(十五)——终章
- 新手探索NLP(十二)——文本聚类
- vue-router的基本使用
- 条件语句,while循环语句:完整的温度转换程序
- PhantomJS 基础及示例
- 0.1 hint crack
- 简单的apache URL重写
- 《LeetCode力扣练习》第4题 C语言版 (做出来就行,别问我效率。。。。)
- R语言报错:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : n行没有x元素
- R语言如何画个性化词云图