python创建类和类方法
Posted 月疯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python创建类和类方法相关的知识,希望对你有一定的参考价值。
创建一个类的三种方法:
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:\\开发工具\\pythonProject\\flaskTest\\venv\\Scripts\\python.exe F:/开发工具/pythonProject/flaskTest/tessss.py
Traceback (most recent call last):
File "F:\\开发工具\\pythonProject\\flaskTest\\tessss.py", line 79, in <module>
Person.speak()
TypeError: speak() missing 1 required positional argument: 'self'
Process finished with exit code 1
去掉Person.speak()
结果:
F:\\开发工具\\pythonProject\\flaskTest\\venv\\Scripts\\python.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:\\开发工具\\pythonProject\\flaskTest\\venv\\Scripts\\python.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:\\开发工具\\pythonProject\\flaskTest\\venv\\Scripts\\python.exe F:/开发工具/pythonProject/flaskTest/tessss.py
又开始说话了
又开始说话了
Process finished with exit code 0
注释:不推荐使用类方法和静态方法,建议使用实例方法
以上是关于python创建类和类方法的主要内容,如果未能解决你的问题,请参考以下文章