python中的类方法、静态方法、对象方法
2021-07-08 23:04
标签:color 初始 理解 col object 并且 required error mis 注:以下都是以公有为前提,私有方法只能在类内部调用,不需多讲。 这种方法都有一个默认参数:self 这代表实例的这个对象 类是不能直接调用对象方法: 这样调用抛出一个错误:TypeError: __init__() missing 1 required positional argument: ‘self‘ 类方法顾名思义,类的方法,可以直接用类名进行调用;也可以通过类实例化的对象进行调用 changeName1就是类方法,前面需要注明修饰器:@classmethod ,并且有一个默认参数cls 也就是这个类本身。 其实静态方法可以理解为一种特殊的类方法,它跟普通类方法就两点区别: (1)修饰器不一样 (2)没有默认参数 其余的跟类方法一模一样 总结:一个类实例化的对象可以调用类里面所有的公共方法,类只能调用类方法和静态方法(如果是私有方法,只能再类内部调用。) python中的类方法、静态方法、对象方法 标签:color 初始 理解 col object 并且 required error mis 原文地址:https://www.cnblogs.com/myIvan/p/9581658.html1、对象方法
def __init__(self):
print("初始化对象")
class User(object):
name = ‘zs‘
def __init__(self):
print("初始化对象")
User.__init__()
2、类方法
class User(object):
name = ‘zs‘
__pass = 1223
def __init__(self):
print("初始化对象")
@classmethod #修饰器
def changeName1(cls):
cls.name = ‘ls‘
print("类的方法%s"%(cls.__pass))
3、静态方法
class User(object):
name = ‘zs‘
__pass = 1223
def __init__(self):
print("初始化对象")
@classmethod #修饰器
def changeName1(cls):
cls.name = ‘ls‘
print("类的方法%s"%(cls.__pass))
@staticmethod
def changeName2():
User.name = ‘ww‘
print("静态方法")
u = User()
u.changeName1()
User.changeName1()
u.changeName2()
User.changeName2()
上一篇:获取windows鼠标的当前坐标