1.类、对象
1.1 理解类用于创建对象 (类:设计;对象:程序)
1.1.1 定义类:
class 类名
1.1.2 定义对象:
对象名=类名()
1.2 类和对象的使用
1.2.1 例子:
自定义一个类,创建对象并调用其方法
class Washer(): #定义了一个Hhh类
def simke(self): #定义一个函数simke
print('洗衣服')
print(self)
haier=Washer() #定义了一个haier的对象
haier.simke() #调用实例方法simke
1.2.2 self:调用该函数的对象
等同于将haier对象传入(self)中
1.3 一个类创建多个对象
一个类可以创建多个对象,不同对象中的self内存地址不相同
1.4 添加和获取对象属性
1.4.1 类外面添加对象属性
语法:对象名.属性名=值
class Washer(): # 定义了一个Washer类
def simke(self): # 定义一个函数simke
print('洗衣服')
haier1 = Washer() # 定义了一个haier的对象
haier1.width=400 #添加属性 对象名.属性名=值
###1.4.2 类外面获取对象属性
语法:对象名.属性名
class Washer(): # 定义了一个Washer类
def simke(self): # 定义一个函数simke
print('洗衣服')
haier1 = Washer() # 定义了一个haier的对象
haier1.width=400 #添加属性 对象名.属性名=值
print(f'洗衣机的高度位{haier1.width}') #类外面获取对象属性
1.4.3 类里面获取对象属性
语法:self.属性名
class Washer():
def simke(self):
print('洗衣服')
def print_info(self):
print(f'洗衣机的宽度{self.width}') #类里面获取对象属性
haier1 = Washer() # 定义了一个haier的对象
haier1.width=400
haier1.print_info() #对象调用
2.魔法方法
格式为 __xx__()
的函数即为魔法方法,指的是具有特殊功能的函数
2.1 __ init __()
2.1.1 __ init __()方法的作用:初始化对象。
class Washne():
def __init__(self):
self.width=100
self.height=200
def print_info(self):
#类里面调用实例属性
print(self.height,self.width)
haier1=Washne()
haier1.print_info()
注:
__init__()
方法,在创建一个对象时默认被调用,不需要手动调用
__init__(self)
中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
2.1.2 带参数的 __ init __()
可用于传参
class Waner():
def __init__(self,width,height):
self.width=width
self.height=height
def print_info(self):
print(self.width,self.height)
haier1=Waner(10,20)
haier1.print_info()
haier2=Waner(100,200)
haier2.print_info()
2.2 __ str __()
当使用print输出对象时,默认打印对象的内存地址,如果定义__ str __方法,那么就会打印从这个方法中return的数据
class Waner():
def __init__(self,height,wight):
self.height=height
self.wight=wight
def __str__(self):
return '解释说明,类的说明或者对象状态的说明'
haier1=Waner(1,2)
print(haier1)
2.3 __ del __()
当删除对象时,python解释器也会默认调用__ del __()方法。
class Waner():
def __init__(self):
self.wight=300
def __del__(self):
print('对象已被删除')
haier=Waner()