在类的实例方法访问类变量的方法:
class Haha():
name = 'haha'
可以使用
Haha.name
或者
self.__class__name
定义实例方法使用参数self
定义类方法使用参数cls
定义类方法需要增加一个装饰器
@classmethod
def class_op(cls):
pass
对象和类都可以使用类的静态方法
@staticmethod
def fun():
pass
在变量名和方法名前加双下划线,为私有变量
对于对象直接访问私有变量,它会动态的添加一个新的私有变量
通过当下划线加类名加私有变量名可以访问到私有变量
class hh():
name = 'hh'
def __init__(self,str,score):
self.str=str
self.__xx = 88
self.score = score
print(self.__class__.name)
def fun(self):
print(self.score)
a = hh('sd',55)
a.fun()
a.__xx =22
print(a.__dict__)
print(a._hh__xx)
b=hh('kk',6)
print(b.__dict__)
输出:
类的继承,新的构造函数要将self传入到父类的构造函数
class Father():
def __init__(self,fa):
self.fa=fa
class hh(Father):
name = 'hh'
def __init__(self,str,fa):
self.str=str
Father.__init__(self,fa)
a = hh('sd',999)
print(a.__dict__)
还可以
super(hh,self).__init__(fa)