7.Python高级——类方法、静态方法、实例方法用法及区别
# Python中的类有多少方法种类,有什么区别;
class student:
__name = '小张'
age = 18
names = '一班学生'
def dance(self): # 实例方法, 实例化对象可以操作方法,实例变量,类变量
self.name = '王林'
print(self.name + '会街舞' + self.__name)
@classmethod # 类方法--类可以直接调用,可以操作类变量,无法操作实例变量
def jointest(cls):
print(cls.__name + '今天考试')
print(cls.names + '今天出门旅游')
# print(self.name) # 类方法无法操作实例变量
@staticmethod # 静态方法,脱离了类而存在,无法调用类变量,实例变量
def teacher():
print('老师教学生')
def __other(self): # 私有方法
print('其他班级')
# 实例化对象
s1 = student()
s1.dance() # 调用实例方法
s1.jointest() # 调用类方法
s1.teacher() # 调用静态方法
# print(s1._student.__other())
# student.dance() # 类无法调用实例方法
student.jointest() # 调用类方法
student.teacher() # 调用静态方法
print(s1._student__other()) # 调用私有方法
# print(student._student__other()) # 类无法调用私有方法