class 类 是独立存放变量(属性/方法)的一个空间.
每个实例都是一个独立的变量空间.不同实例之间的空间互相不可见.
一个实例的特征,就是属性.
定义在类中的私有属性也可以被子类继承.
变量在类中称为属性,但是类中的属性不仅仅只包含变量,函数等其他的对象也可以作为类的属性.
类可以把各种对象组织在一起, 作为类的属性,通过.(点)运算符来调用类中封装好的对象.
class Fruit: 类名一般首字母大写,函数名一般首字母小写
name = \'Apple\' 属性
d = \'这么大\'
a = Fruit() 类的实例化
Fruit() 类的调用
print(a.name,a.d) \'Apple\' \'这么大\' 实例调用属性
print(Fruit.name) \'Apple\' 类名调用属性
2.定义属性定义属性:
Fruit.color = \'黑色的\' 在类外面定义属性.
print(Fruit.color) 可以访问
print(b.color) 也可以打印出.
第三种 定义属性
c = Fruit()
c.du = \'有毒\' 定义在创建的实例里面.
print(c.du) \'有毒\'
私有属性 定义一个私有属性
_xxx = 123 aaa 一个或两个下划线 _
一个下划线的时候不能看到,但可以访问.
两个下划线的时候看不到,不能访问
查找属性的方法 先查找实例的属性,如果没有查找类的属性.
3.类的方法类里面定义一个特殊的函数就叫做方法
class Person:
name = \'ren\'
def eat(self,a,b): #self 是自身的一个实例.传其他参数直接逗号加参数
print(\'吃鸡腿\')
self.sleep() #通过self与类里面的方法建立一个联系
wum = Person()
print(wum.name)
wu.eat()
Person.eat(wum) #类名调用方法,需要传一个实例
4.类的初始化和析构初始化
class Person:
def init(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
wum = Person() 实例化的时候自动调用init()魔术方法.即实例化产生一个类的实例,Python自动调用实例.init(参数),转换为类.init(实例,参数)
析构
代码执行完后,默认执行析构方法.
def del(self):
print(\'销毁了\')
魔术方法
在没有一个变量指向某个对象的时候,Python会自动销毁这个对象,以便收回内存空间.del关键字,可以删除一个变量的指向.