什么是属性
==目标:==了解什么是属性?
在现实生活中,属性就表示固有特征,比如:一辆小轿车的属性有轮胎数、颜色、品牌等。
仔细观察后会发现,属性可以简单理解为与生俱来的特征,比如一个人的姓名、年龄、身高、体重等都是属性。
而属性在Python面向对象中,直接使用变量来表示。
需要注意的是,一个对象通常包含两部分:方法、属性。
==总结:==
(1)属性在面向对象中,可以使用变量来表示;
(2)注意:属性可以在类内部、类外部都进行获取与使用。
类外面访问属性
==目标:==掌握类外面添加和获取属性的使用。
在类外面访问属性,分为:
(1)添加属性
(2)获取属性
说明:要访问对象中的属性,需要使用.点来操作。
添加属性语法:
对象名.属性名 = 值
获取属性语法:
对象名.属性名
说明:.点可以理解为:的。
例如,一起来完成:
(1)在车类外设置车的颜色为红色、有4个轮胎;
(2)获取属性值并输出结果。
class Car:
def run(self):
print("汽车能跑起来...")
# 1.创建对象
car = Car()
# 2.添加属性
car.color = "红色"
car.number = 4
# 3.获取属性
print(f"颜色:{car.color}")
print(f"轮胎数:{car.number}")
==总结:==
(1)在类外面,添加和获取属性可以使用()方式;==A、对象名.属性名==;B、类名.属性名
(2)注意:当没有添加属性时,无法直接获取属性结果。
类内部获取属性
==目标:==掌握类内部获取属性的使用。
在类内部,获取属性语法:
self.属性
说明:可以简单的把self理解为对象本身。
例如,一起来完成:
(1)在类外部添加2个属性:车颜色、车品牌;
(2)在类内部定义一个show()方法来获取属性值信息。
class Car:
def run(self):
print("汽车能跑起来...")
# 定义方法
def show(self):
print(f"车颜色:{self.color}")
print(f"车的品牌:{self.brand}")
# self.属性没有任何提示, 如果要显示出提示,该怎么办??
# 为什么会有警告?
car = Car()
# 外部设定值
car.color = "黑色"
car.brand = "BWM"
# 内部获取值
# 调用方法
car.show()
==总结:==
(1)在类内部获取属性可以使用【self.属性名】方式;
(2)注意:当没有在
__init__()
中初始化属性时,直接在方法中调用,则会报警告信息。