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