1、实例方法self 类方法cls 静态方法(普通方法) 实例和类名都可以直接调用
2、不同点:静态方法 和类方法不可以调用类里面的属性值 如果你要参数 请自己传递参数
3、什么时候定义为静态和类方法 当你的某个函数与其他的类函数 类属性 没有一丁点关系的时候
例子如下:
class HandsomeGuy:
name='希望'
sex='男'
age='18'
def job(self):#示例方法
print (self.name+'是软件测试工程师')
@classmethod#类方法
def hobby(cls):
print ('爱好台球')
@staticmethod#静态方法
def specialty():
print ('擅长跑步')
b=HandsomeGuy()
b.job()
HandsomeGuy.hobby()
b.hobby()
HandsomeGuy.specialty()
初始化函数:
class HandsomeGuy:
def __init__(self,name,age):
self.name=name
self.age=age
def job(self):#示例方法
print (self.name+'是软件测试工程师')
b1=HandsomeGuy('张三','20')
b2=HandsomeGuy('李四','22')
b1.job()
b2.job()
类的继承与重写
父类有的子类都可以拿来用就是继承(拓展)
若子类有与父类重名的函数,则子类的实例就优先调用子类的函数就是重写
多继承的话,父类之间不要有继承关系,否则就是重复继承就会报错
如果两个父类里面有同名函数的时候,就近原则
class father:
def __init__(self,lastname):
self.lastname=lastname
def money(self):
print('{}先生拥有一百万'.format(self.lastname))
class son(father):
def car(self):
print('{0}先生拥有一辆车'.format(self.lastname))
def money(self):
print(self.lastname+'先生的儿子拥有一万元')
a=son('王')
a.money()