本文主要是介绍@classmethod、@staticmethod类函数装饰器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
# -*- coding: utf-8 -*-# 类函数 和 静态函数class People(object):# 类变量total = 0def __init__(self, name, age):# 调用父类的初始化函数super(People, self).__init__()# 初始化当前类对象的一些属性self.name = nameself.age = age# 对象函数,只能由对象调用def eat(self):print('该吃饭了....')# 类函数# 装饰器是以@开头,@结构的称之为语法糖,装饰器的作用主要是给一些现有的函数增加一些额外的功能@classmethoddef work(cls, time, *args, **kwargs):# cls class 如果是类调用该函数,cls指的就是这个类# 如果是对象调用该函数,cls指的就是这个对象的类型print(cls)print(time)@classmethoddef sleep(cls):print('每一个类函数前必须添加装饰器@classmethod')# 静态函数# @staticmethod 描述的函数称为静态函数,静态可以由类和对象调用,函数中没有隐形参数@staticmethoddef run(time):print('跑步%s分钟'%time)# 对象函数只能由对象调用
# 类函数由类调用、也可以用对象调用
People.work(10)
p1 = People('张三', 22)
p1.work(20)People.run(100)
p1.run(50)
这篇关于@classmethod、@staticmethod类函数装饰器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!