python学习笔记-面向对象初步认识
-
类是一个模板 对象是一个实例
-
类:一系列具有相同的特征和行为的事物统称,是一个抽象的概念,不是真是存在的事物
特征即为属性
行为即为方法 -
定义一个类:大驼峰
class Washer():
def wash(self):
print(‘洗衣服’)haier = Washer() #创建一个对象
haier.wash() -
Self: 指的是调用该函数的对象
class Washer():
def wash(self):
print('洗衣服')
print(self)
haier = Washer()
print(haier)
haier.wash()
可以发现 打印的两个对象的地址相同
-
一个类创建多个对象
多个对象的self不一样 -
添加和获取对象属性
对象属性可以在类外面添加和获取 也能在 类里面添加和获取对象名.属性名 = 值
Haier1.width = 500
Haier2.height = 1000
class Washer():
def wash(self):
print('洗衣服')
print(self)
haier = Washer()
print(haier)
haier.wash()
#类外面 添加属性
haier.width = 100
haier.height = 1000
- 类里面获取对象属性名
Self.属性名
class Washer():
def wash(self):
print('洗衣服')
print(self)
def print_info(self):
print(f'{self.width}')
haier = Washer()
print(haier)
haier.wash()
#类外面 添加属性
haier.width = 100
haier.height = 1000
haier.print_info()
-
魔法方法
xx()的函数称为魔法方法 指的是具有特殊功能的函数1.init():初始化对象
class xx():
def __init__(self):
#添加实例属性
self.width = 500
self.height = 1000
def print_info(self):
print(f'洗衣机的宽度{self.width} 洗衣机的高度{self.height}')
h1 = xx()
h1.print_info()
2.带参数的init:创建不同的对象
class xx():
def __init__(self,width,height):
#添加实例属性
self.width = width
self.height = height
def print_info(self):
print(f'洗衣机的宽度{self.width} 洗衣机的高度{self.height}')
h1 = xx(1,2)
h1.print_info()
- 魔法方法 str
__str__打印这个方法中的return 的数据(当使用print输出对象)
class xx():
def __init__(self,width,height):
#添加实例属性
self.width = width
self.height = height
def print_info(self):
print(f'洗衣机的宽度{self.width} 洗衣机的高度{self.height}')
def __str__(self):
return '洗衣机说明书'
h1 = xx(1,2)
print(h1)
h1.print_info()
- 魔法方法:del() 当删除对象时,python解释器 调用__del__()
class xx():
def __init__(self,width,height):
#添加实例属性
self.width = width
self.height = height
def print_info(self):
print(f'洗衣机的宽度{self.width} 洗衣机的高度{self.height}')
def __str__(self):
return '洗衣机说明书'
def __del__(self):
print('对象已经删除')
h1 = xx(1,2)
print(h1)
h1.print_info()