形象生动的解释什么是Python的类与对象

Python是基于面向对象的编程语言,那什么是面向对象的思想呢?这要从面向对象的两大概念说起:一个是类,另一个是对象。何为类呢?

类是具有相同属性和方法的一类事物的抽象描述,而对象就是这一类抽象事物的具体实例。

在程序设计当中,类和对象是什么关系呢?如何利用类和对象解释面向对象的思想?接下来,本节将通过实例来简述这些问题。

1. 新建类

现实生活中我们经常将年轻有型的小伙叫帅哥,那么帅哥代表的就是年轻有型的一类人,而不是指具体的某个人。

既然称得上是帅哥,那么称为帅哥的这一类人肯定有一些共同的行为,具体如下所示。称为帅哥的这一类人的共同行为如下。

a. 唱歌能力 b. 跳舞能力 如果要用Python代码来描述帅哥这一类人所拥有的共同行为,应该如何描述呢?具体代码如下

class shuaige:  def changge(self):    print("我会跳舞")  def tiaowu(self):    print("我会跳舞")

【代码分析】

a. 第01行代码,class用来定义一个类名,这里定义了一个叫Shuaige的类名,后面跟冒号,那么Shuaige就代表了帅哥的这一类人。

b. 第02行代码和第03行代码,def关键字用来定义帅哥这一类人的共同行为,这里把帅哥的第一个共同行为命名为chang_ge,行为名后面跟一对括号如chang_ge()

这种以行为名加括号的方式就构成了一个具体的行为,行为名的括号里面有一个参数self,这个参数暂时不用理它

chang_ge()这个行为后面还跟了一行代码:print("我会唱歌"),这行代码就是行为的具体实现,也就是chang_ge()这个行为要实现的就是打印出“我会唱歌”这几个字。

c. 第04行代码和第05行代码,使用关键字def继续定义帅哥这一类人的另一个行为,也就是继续定义另一个方法

方法的名字叫tiao_wu,而tiao_wu()这个方法要实现的就是打印出“我会跳舞”这几个字。

【注意事项】

a.  在Python语言里,把帅哥的共同行为都称为方法,也就是说这里定义了一个名为chang_ge()的方法,注意方法名后面有一个冒号。

b. 从以上的代码分析可以看到,Shuaige这个类(也就是帅哥的这一类人)中两个方法(也就是帅哥这一类人所共有的两个行为特征)都被包含在Shuaige这个类里面了

也就是说Shuaige这个类里面提供了两种方法,而且这两种方法要实现的功能都已经在Shuaige这个类的内部准备好了。

2. 新建对象

以帅哥这一类人为例,对象指的就是帅哥这一类人当中的某一个具体的实例,也就是某一个具体的帅哥,比方说名为zhangsan的帅哥 那么zhangsan这个具体的帅哥如果用Python代码来描述的话,又该如何描述呢?具体代码如下

class shuaige:  def changge(self):    print("我会跳舞")  def tiaowu(self):    print("我会跳舞")
zhangsan = shuaige()zhangsan.tiaowu()

【代码分析】

a. 第06行代码,Shuaige这个类里面是一群帅哥,只要在类名后面加一对括号就会实例化一个帅哥,如Shuaige()就会“出炉”一个帅哥

而zhangsan = Shuaige()的意思是将刚“出炉”的这个帅哥命名为zhangsan, 此时zhangsan就是一个具体的帅哥了。在Python语言里把zhangsan这个帅哥称为对象或称为实例。

b. 在Python语言中,把zhangsan称为变量,这个变量可以用于保存相关的数据信息,可以理解为变量是一个容器的名字,

这个容器可以存放数字、字符串、对象等信息

本例通过Shuaige()“出炉”的帅哥相当于存放在了一个名为zhangsan的容器中,所以zhangsan代表了这个帅哥。

c. 既然zhangsan这个帅哥(实例)是从Shuaige这个类里“出炉”的,那它自然也就拥有帅哥这一类人所共有的行为了

也就是说zhangsan这个帅哥(实例)拥有Shuaige这个类里所包含的方法

加小编微信加测试开发群

这也就意味着zhangsan这个帅哥(实例)可以随时调用已在Shuaige类里面准备好的方法

查看更多精彩文章,请订阅以下公众号

推荐阅读

HR :"关键指标含义都答不上来,你跟我说你懂性能测试"

项目经理:"该版本性能测试工作由你全权负责,月底交付结果"

深圳第六个年头,说点什么!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值