python中自带的三个装饰器

枫铃3年前 (2021-07-09)Python245

说到装饰器,就不得不说python自带的三个装饰器:

1、@property 将某函数,做为属性使用

@property 修饰,就是将方法,变成一个属性来使用。

class A():


    @property
    def pfunc(self):
        return self.value

    @pfunc.setter
    def pfunc(self,value):
        self.value = value

    @property
    def pfunc1(self):
        print('this is property')

if __name__=="__main__":

    A.pfunc = 9
    print A.pfunc
    A.pfunc1

2、@classmethod 修饰类的方式

带修饰类方法:cls做为方法的第一个参数,隐式的将类做为对象,传递给方法,调用时无须实例化。

普通函数方法:self做为第一个参数,隐式的将类实例传递给方法,调用方法时,类必须实例化。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class A():
    def func(self,x,y):
        return x * y

    @classmethod
    def cfunc(cls,x,y):
        return x * y
复制代码
if __name__=="__main__":
    print A().func(5,5)
    print A.cfunc(4,5)
 

3、@staticmethod 修饰类的方式

1)是把函数嵌入到类中的一种方式,函数就属于类,同时表明函数不需要访问这个类

2)使用修饰服,修饰方法,不需要实例化

class A():
    def func(self,x,y):
        return x * y


    @staticmethod
    def sfunc(x,y):
        return x * y


if __name__=="__main__":

    print A.sfunc(6,5)

相关文章

Python教程:collections的deque()方法

创建双向队列 impo...

Python函数的非固定参数

一、概述 在上一篇博客中我已经写了,位置参数和关键字参数,下面我们来谈谈默认参数和参数组 二、默认参数 默认参数指的是&#x...

python 将字符串作为变量名

1、使用字符串指代变量名...

python 带参数的多重继承

1. 不带参数的多重继承...

在python函数中参数分类的详细教程

在python函数中参数分类的详细教程

一、参数的定义 1、函...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。