类方法
class Student(object):
sum = 0
def __init__(self,name,age):
self.name = name
self.age = age
self.__class__.sum += 1
print("当前的学生总数为:",self.__class__.sum)
s1 = Student("张三",1)
s2 = Student("李四",2)
s3 = Student("王五",3)
s4 = Student("赵六",4)
当前的学生总数为: 1
当前的学生总数为: 2
当前的学生总数为: 3
当前的学生总数为: 4
class Student(object):
sum = 0
def __init__(self,name,age):
self.name = name
self.age = age
"""
1. 如何区分类方法和实例方法?
类方法必须有装饰器 @classmethod
2. 疑问: self 和这里的 cls(class简写)是一个东西吗?
是的,前面说了self可以随便命名,为示区分分类方法和实例方法,官方推荐使用cls
3. 类方法的作用?
专门用来操作类变量
说明: 类方法和类对象没有什么直接关系
"""
@classmethod
def plus_sum(cls):
cls.sum += 1
print("当前学生总数为:" +str(cls.sum))
pass
s1 = Student("张三",1)
Student.plus_sum()
s2 = Student("李四",2)
Student.plus_sum()
s3 = Student("王五",3)
Student.plus_sum()
s4 = Student("赵六",4)
当前学生总数为:1
当前学生总数为:2
当前学生总数为:3
当前学生总数为:4
class Student(object):
sum = 0
def __init__(self,name,age):
self.name = name
self.age = age
self.plus_sum()
"""
1. 如何区分类方法和实例方法?
类方法必须有装饰器 @classmethod
2. 疑问: self 和这里的 cls(class简写)是一个东西吗?
是的,前面说了self可以随便命名,为示区分分类方法和实例方法,官方推荐使用cls
3. 类方法的作用?
专门用来操作类变量
说明: 类方法和类对象没有什么直接关系
"""
@classmethod
def plus_sum(cls):
cls.sum += 1
print("当前学生总数为:" +str(cls.sum))
pass
s1 = Student("张三",1)
s2 = Student("李四",2)
s3 = Student("王五",3)
s4 = Student("赵六",4)