面向对象
类和对象
'''
面向对象编程过程中,有两个重要组成部分:类和对象
类和对象的关系:用类创造对象
'''
# 类
类是对一系列具有共同特征和行为的事物的统称,是一个抽象的概念,不是真实存在的事物
特征即是属性
行为即是方法
# 对象
对象是类创建出来的真实存在的事物
面向对象实现方法
# 定义类
class 类名():
代码
......
类名要满足标识符命名规则,同时遵循大驼峰命名习惯(首字母大写)
# 创建对象
对象名 = 类名()
# 使用体验
class Wash():
def mood(self):
print('洗刷刷')
haier = Wash()
haier.mood()
类里面的self
self指的是调用该函数的对象
class Wash():
def mood(self):
print('洗刷刷')
print(self)
haier = Wash()
print(haier)
haier.mood()
huawei = Wash()
print(huawei)
huawei.mood()
<__main__.Wash object at 0x0000022DEAE0ACF8>
洗刷刷
<__main__.Wash object at 0x0000022DEAE0ACF8>
<__main__.Wash object at 0x0000022DEAE0ADA0>
洗刷刷
<__main__.Wash object at 0x0000022DEAE0ADA0>
类外面添加和获取对象属性
语法:
对象名.属性名 = 值
class Wash():
def mood(self):
print('洗刷刷')
print(self)
haier = Wash()
haier.a = 5
haier.b = 10
print(haier.a,haier.b)
5 10
类里面获取对象属性
语法:
self.属性名
class Wash():
def mood(self):
print('洗刷刷')
print(self)
a = 10
def pr(self):
print(self.a)
print(self.b)
haier = Wash()
haier.b = 5
haier.pr()
魔法方法
__xx__()的函数叫做魔法方法,指的是具有特殊功能的函数
_init_()
作用:
初始化对象
注意:
__init__()方法,在创建一个对象时默认被调用,不需要手动调用
__init__(self)中的self参数,不需要开发者传递,解释器会自动把当前的对象引用传递过去
class Wash():
def __init__(self):
self.a = 5
self.b = 10
def pr(self):
print(self.a,self.b)
haier = Wash()
haier.pr()
5 10
带参数的__init__()
class Wash():
def __init__(self, a, b):
self.a = a
self.b = b
def pr(self):
print(self.a,self.b)
haier = Wash(10, 10)
haier.pr()
huawei = Wash(100, 100)
huawei.pr()
10 10
100 100
__str__()
作用:
当使用print输出对象的时候,默认打印对象的内存地址。如果定义了__str__()方法,那么就会打印在这个方法中return的数据
class Wash():
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return '这是洗衣机公共类'
haier = Wash(10, 10)
print(haier)
这是洗衣机公共类
__del__()
作用:
当删除对象时,python解释器会默认调用__del__()函数
class Wash():
def __del__(self):
print('洗衣机公共类已被删除')
haier = Wash()
洗衣机公共类已被删除