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