欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

介绍python修饰器的书_python修饰器

发布时间:2023/12/19 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 介绍python修饰器的书_python修饰器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、参数args与kwargs:

*args是元组,如def fun(args): pass 传过去的参数是元组形式fun(1,2,3),args=(1,2,3);

*kwargs是字典型,如def fun(kwargs): pass 传过去的参数是元组形式fun(a=1,b=2,c=3),kwargs={"a":1,"b":2,"c":3};

2、@property修饰器

被修饰的方法,将可直接被当作类属性进行调用,使得python语言更加的简洁。

class Dec:

@property

def value(self):

return self.__value

@value.setter

def value(self, data):

self.__value = data

if __name__ == '__main__':

dec = Dec()

dec.value = 10

print(dec.value)

/Users/chenhanlu/PycharmProjects/PyLearning/venv/bin/python /Users/chenhanlu/PycharmProjects/PyLearning/logTest.py

10

Process finished with exit code 0

【注意】所传的值必须是私有变量,即self.__value。

3、@classmethod类方法修饰器

类方法:python中的类方法指的是可以直接用类名(也可用实例名)进行调用的方法,相当与java中的static方法。

class Dec:

@property

def value(self):

return self.__value

@value.setter

def value(self, data):

self.__value = data

@classmethod

def info(cls,data):

print('我是一个类方法,参数是>>'+str(data))

if __name__ == '__main__':

dec = Dec()

dec.value = 10

print(dec.value)

Dec.info(20)

下面添加类方法的注解,python中的类方法,相当于Java中的static修饰的方法,输出结果为:

/Users/chenhanlu/PycharmProjects/PyLearning/venv/bin/python /Users/chenhanlu/PycharmProjects/PyLearning/logTest.py

10

我是一个类方法,参数是>>20

Process finished with exit code 0

4、静态方法修饰器

静态方法:不依赖于python类及类实例,放在类里边仅仅是为了管理方便,其实也可以放到类外边

class Dec:

@property

def value(self):

return self.__value

@value.setter

def value(self, data):

self.__value = data

@classmethod

def info(cls,data):

print('我是一个类方法,参数是>>'+str(data))

@staticmethod

def staticInfo(data):

print('我是一个静态方法,参数是>>'+str(data))

if __name__ == '__main__':

dec = Dec()

dec.value = 10

print(dec.value)

Dec.info(20)

dec.info(30)

dec.staticInfo(40)

Dec.staticInfo(50)

/Users/chenhanlu/PycharmProjects/PyLearning/venv/bin/python /Users/chenhanlu/PycharmProjects/PyLearning/logTest.py

10

我是一个类方法,参数是>>20

我是一个类方法,参数是>>30

我是一个静态方法,参数是>>40

我是一个静态方法,参数是>>50

Process finished with exit code 0

5、各种方法的原则

各种方法定义规则 :

只访问成员变量的方法 ,定义成实例方法

只访问类变量的方法 , 定义类方法

既访问成员变量 , 也访问类变量的方法 , 定义成实例方法

既不访问成员变量 , 也不访问类变量 ,定义成静态方法

总结

以上是生活随笔为你收集整理的介绍python修饰器的书_python修饰器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。