1.类
类是现实世界或思维世界的实体在计算机中的反映它将数据以及这些数据上的操作封装在一起首字母大写;单词之间大写连接
2.类包含:变量和方法
变量: 类变量 实例变量方法: 1.实例方法 2.类方法 @classmethod(装饰器) 1.特殊的类方法:构造函数 def __init__(self,x,y): 作用:让模板创建不同的对象,初始化对象的特性 默认被调用;亦可被主动调用 3.静态方法 @staticmethod
3.方法访问变量
1.实例方法访问实例变量 def 方法(self,x): self.实例变量=x2.实例方法访问类变量 self.__class__.类变量=3.类方法访问类变量 def plus_sum(cls): cls.类变量
4.成员的可见性
1.原则:只允许内部的方法操作变量,避免直接修改数据变量2.__ 前面加 双下划线 变量变成私有 def 方法(self,x): self.__变量=x3.在外部调用 self.__变量=x 时,不是访问而是新建一个4.可通过__dict__查变量字典
5. 案例
class Student(): #类变量 sum1=0 # 构造函数(类方法) def __init__(self,name,age): #实例变量 self.name=name self.age=age #调用类变量 self.sum1+=1 #构造函数默认被调用 print('学员人数',self.sum1) #通过方法对变量进行赋值(不提倡直接访问类变量的方式来修改值) def marking(self,score): self.__score=score print(self.name+'同学的成绩为:'+str(self.__score)) #实例方法,调用内部实例方法 def do_homework(self): self.do_eng_homework() #实例方法 def do_eng_homework(self): print(self.name,'do eng homework')student1=Student('小明',21)student1.do_homework()student1.marking(90)# 偷偷调用私有变量的方法#print(student1.__dict__) #->{'name': '小明', 'age': 21, '_Student__score': 90}#print(student1._Student__score)