当前位置:首页>python>小白学python第66天之对象的属性添加与获取

小白学python第66天之对象的属性添加与获取

  • 2026-09-02 20:32:51
小白学python第66天之对象的属性添加与获取

2.11

对象的属性添加与获取

?

如何预防流感

在Python中,一个已经创建好的对象,能否像“临时贴标签”一样,随时给它添加新的特征(比如给学生对象临时加一个“宿舍号”属性)?这些临时添加的属性,会被同类对象共享吗?

1

对象的属性添加与获取

(1)什么是属性

在Python中,任何一个对象都应该由两部分组成:属性 + 方法

属性即是特征,比如:

人的姓名、年龄、身高、体重…都是对象的属性。

车的品牌、型号、颜色、载重量...都是对象的属性。

对象属性既可以在类外面添加和获取,也能在类里面添加和获取。

(2)在类的外面添加属性和获取属性

设置

对象名.属性 = 属性值

案例

# 1、定义一个Person类class Person():    pass# 2、实例化Person类,生成p1对象p1 = Person()# 3、为p1对象添加属性p1.name = '老王'p1.age = 18p1.address = '北京市顺义区京顺路99号'

获取

在python中,获取对象属性的方法我们可以通过对象名.属性来获取

# 1、定义一个Person类class Person():    pass# 2、实例化Person类,生成p1对象p1 = Person()# 3、为p1对象添加属性p1.name = 'ooaac'p1.age = 20p1.address = '广东省广州市'# 4、获取p1对象的属性print(f'我的姓名:{p1.name}')print(f'我的年龄:{p1.age}')print(f'我的住址:{p1.address}')

(3)在类的内部获取外部定义的属性

# 定义一个Person类class Person():    def speak(self):        print(f'我的名字:{self.name},我的年龄:{self.age},我的住址:{self.address}')# 2、实例化Person类,生成p1对象p1 = Person()# 3、添加属性p1.name = '孙悟空'p1.age = '500'p1.address = '花果山水帘洞'# 4、调用speak方法p1.speak()

遗留一个问题:

目前我们的确可以通过对象.属性的方式设置或获取对象的属性,但是这种设置属性的方式有点繁琐,每次定义一个对象,就必须手工设置属性,在我们面向对象中,对象的属性能不能在实例化对象时,直接进行设置呢?

答:可以,但是需要使用魔术方法

今日学习完毕,课后作业:

学生信息动态管理,题目要求:

(1)创建一个空的类 Student。

(2)动态地为这个类的一个实例(对象)添加以下两个属性:

name(姓名),值为 "小明"

age(年龄),值为 15

(3)编写代码,检查该对象是否拥有 name和 grade属性。

(4)最后,获取并打印出 name和 age属性的值。对于不存在的 grade属性,在尝试获取时给出一个默认提示,例如 "属性不存在"。

最新文章

随机文章