创建一个类的三种方法:
class Annimao(): pass class Annimao(object): pass class Annimao: pass
三种类方法:
1、实例方法
class Person: def __init__(self,age,name): self.age = age self.name = name def speak(self): print('说了一段话') if __name__ == '__main__': per = Person(24,'huitao') Person.speak() per.speak()
Person.speak()不允许类名字调用实例方法
F:开发工具pythonProjectflaskTestvenvscriptspython.exe F:/开发工具/pythonProject/flaskTest/tessss.py Traceback (most recent call last): File "F:开发工具pythonProjectflaskTesttessss.py", line 79, inPerson.speak() TypeError: speak() missing 1 required positional argument: 'self' Process finished with exit code 1
去掉Person.speak()
结果:
F:开发工具pythonProjectflaskTestvenvscriptspython.exe F:/开发工具/pythonProject/flaskTest/tessss.py 说了一段话 Process finished with exit code 0
2、类方法
class Employer(object): def __init__(self): pass @classmethod def speak(cls): print('不允许讲话') if __name__ == '__main__': em = Employer() em.speak() Employer.speak()
结果:输出了同样的内容
F:开发工具pythonProjectflaskTestvenvscriptspython.exe F:/开发工具/pythonProject/flaskTest/tessss.py 不允许讲话 不允许讲话 Process finished with exit code 0
3、静态方法
class Gun(): def __init__(self): pass @staticmethod def speak(): print('又开始说话了') if __name__ == '__main__': g = Gun() Gun.speak() g.speak()
结果:输出同样内容
F:开发工具pythonProjectflaskTestvenvscriptspython.exe F:/开发工具/pythonProject/flaskTest/tessss.py 又开始说话了 又开始说话了 Process finished with exit code 0
注释:不推荐使用类方法和静态方法,建议使用实例方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)