最新消息:

python青少年编程第三季——04、方法如果是内涵,属性就是外表

Python 少儿编程 1705浏览 0评论
Python青少年编程第三季

各位小伙伴大家好:

上期我们简单学会了如何简单定义一个类,添加了一个类方法。本期我们来聊聊如何给类添加修改属性。

 

属性就是一个类的外在描述,比如人的身高、体重、年龄等等。Python中的属性有,类属性和实例属性的区别,这一点我们以后慢慢去理解。

 

首先来看看如何添加属性:

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

这里我们给Cat类,添加了两个属性:变量name用来记录名字,age用来记录年龄。

 

另外定义了一个方法用于获取姓名和年龄,运行结果on the top left。

(昨天捡了一句英文赶紧来show一下嗒)

 

这里是实例化一只猫的情况,我们下面来实例化两只猫,看看会有什么不同:

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

倒数第二行,我们实例化一个jerry对象——另一只猫。最后一行调用jerry的自我介绍,来运行一下看看

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

两只猫都做了自我介绍,但是一模一样没有任何区别,因为这里的name和age调用的都是类属性,所以大家都一样。

 

并且如果我们修改了类属性,那么所有的对象也会跟着改变。代码如下:

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

结果符合预期,所有对象的name属性都变成了白猫。因为类属性是所有对象共用的。

就好比如果上帝把人类的名字改成小强,则大家的名字就都叫小强了。

 

程序虽然正确,但却显然不能满足我们的要求。都叫小强了那老师上课还怎么点名呢,是吧!

 

下面我们就来整整,修改一下对象的属性,把这两只Cat给区分一下。

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

代码如上,改了之后,再来看看效果:

 

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

运行正常,大家都有自己不同的名字了。上面的lanmao.name和jerry.name虽然都是name,但这些name是实例属性,每个对象都不一样。

 

而方法这里都只有一个SelfIntroduction(),所实现的功能也一样。有关方法的操作下期再和大家一起分享。

 

欢迎扫描下方二维码和我交流

python青少年编程第三季——04、方法如果是内涵,属性就是外表

 

转自公众号:
高维数学

您必须 登录 才能发表评论!