一. 类的定义
class类名():
代码
#定义类
classWasher():defwash(self):print("洗衣服")
注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。
二. 创建对象
对象名 = 类名()
#创建对象
w =Washer()#调用方法
w.wash() #洗衣服
三. self
self指的是调用该函数的对象。相当于java中的this
四. 给对象添加属性
1.在类外面添加属性
对象名.属性名 = 值
#创建对象
w =Washer()#添加和设置属性
w.width = 100w.heigth= 500
#获取属性的值
print(w.heigth) #500
print(w.width) #100
在类外面设置的属性可在类方法上通过self获取到:
#定义类
classWasher():defwash(self):print(self.height) #500
#创建对象
w =Washer()#添加和设置属性
w.width = 100w.height= 500
#获取属性的值
print(w.height) #500
print(w.width) #100
w.wash()
五. 魔法方法
在Python中,`__xx__()`的函数(双下划线开头和结尾的函数)叫做魔法方法,指的是具有特殊功能的函数。
1. __init__() 初始化方法
1.1 __init__() 方法的作用
__init__()方法,在创建一个对象时默认被调用,不需要手动调用。`__init__(self)`中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
#定义类
classWasher():def __init__(self):
self.width= 100self.height= 500
#创建对象
w =Washer()#获取属性的值
print(w.height) #500
print(w.width) #100
1.2 带参数的`__init__()`
`__init__()`可以传递参数,在创建对象时候传入,如 `__init__(self, width, height)`
#定义类
classWasher():def __init__(self, width, height):
self.width=width
self.height=height#创建对象
w = Washer(100, 500)#获取属性的值
print(w.height) #500
print(w.width) #100
说明
1. w = Washer(100, 500)中的100 和500 分别对应 __init__(self, width, height) 中的width 和height, 创建Washer对象时,自动调用__init__()并将这两个值传入完成对象初始化
2. 第一个参数默认为self,由解释器自动传入,创建对象时不传
3. 通过self在类中可以定义需要的属性, 如self.width = width 即是定义了一个width属性
2 __str__() 方法
当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了`__str__`方法,那么就会打印从在这个方法中 return 的数据。
#定义类
classWasher():def __init__(self, width, height):
self.width=width
self.height=heightdef __str__(self):return f"这是一台洗衣机。。。长{self.height}, 宽{self.width}"
#创建对象
w = Washer(100, 500)print(w) #这是一台洗衣机。。。长500, 宽100
3 __del__() 方法的作用
当删除对象时,python解释器会默认调用`__del__()`方法。
#定义类
classWasher():def __init__(self, width, height):
self.width=width
self.height=heightdef __del__(self):print("这台洗衣机要被删除了") #删除对象时执行
#创建对象
w = Washer(100, 500)#删除对象
del w #这台洗衣机要被删除了