类定义
# 类的定义
class 类名:
pass
# 类属性
1、类的属性,所有实例对象都通用
2、可以用类访问
# 私有属性
一个下滑线外部可以直接访问,两个下划线外部不可以直接访问
定义在类中的私有属性也可以被子类继承
# 类方法
类中的所有方法
# 实例方法,表示实例的行为
带self的类方法
# 实例,类对象
libai = 类名()
# 实例属性
类的实例的属性,每个实例特有
例:
class Person: # 定义类
longer = 111 # 类属性
_eye = 2 # 私有属性
__nose = 1 # 私有属性
def func(): # 类方法
def func(self): # 实例方法
libai = Person() # 类的实例,生成类对象
libai.width = 222 # 实例属性
类和实例关系:
类:一类事物的抽象,不是真实存在,他描述了这一类事物的共性。
比如:人类、动物类、家具类
实例:某一类事物的具体个体,是该类事物的具体表现,实例是真实存在的。
比如:’‘李白’'是人类,"杜甫"是人类,是具体的某个人
魔法方法
初始化方法
def __init__(self,name):
# 初始化方法,在实例生成的一瞬间python就会自动执行这个方法。
# 作用:生成实例属性
析构
def __del__(self)
# 自动执行,牵扯到重写和重用,即使这个方法下没有写删除,也会删除一个变量的指向
# del xiaohong
删除一个变量的指向
小例子
# 定义个矩形类,有长和宽两个实例属性,
# 还有一个计算面积的方法
class Rectangle:
def __init__(self,height,width):
self.height = height
self.width = width
def area(self):
return self.height * self.width
square = Rectangle(2, 6)
print(square.area())
总结
类:
是一个独立存放变量(属性/方法)的空间
实例:
也是一个独立存放变量的空间
每个实例都是一个独立的变量空间
不同实例之间的空间互相不可见
方法:
就是封装在类里的一种特殊的函数
实例方法:
表示的是“实例”的行为
“初始化”特殊方法
在Python中有很多以双下划线开头且以双下划线结尾的固定方法
他们会在特定的时机被触发执行
__init__ 就是其中之一,它会在实例化之后自动被调用。以完成实例的初始化。