类方法
类方法是类对象所拥有的方法,创建类方法需要用装饰器@classmethod来标识,类方法的第一个参数必须是类对象,一般以cls作为第一个参数(不是必须的),类方法可以通过实例对象和类对象访问
使用类方法可以对类属性进行修改,比如:
class People(object):
country = "China"
@classmethod
def get_country(cls):
return cls.country
@classmethod
def set_country(cls, new_country):
cls.country = new_country
p1 = People()
print(p1.get_country()) # 实例对象可以调用类方法
print(People.get_country()) # 类对象可以调用类方法
People.set_country("北京") # 使用类方法修改类属性
静态方法,
静态方法是类中的函数,不需要实例,静态方法中不需要设计类中的属性和方法的操作。
静态方法是个独立的函数,仅仅存在于类的名称空间中,便于使用和维护
class People(object):
country = "上海"
@staticmethod
def get_country():
return People.country
print(People.get_country())