当前位置: 首页 > news >正文

设计网站大全软件互动营销用在哪些推广上面

设计网站大全软件,互动营销用在哪些推广上面,常见的静态网站开发技术,网站快捷按钮以什么方式做下面是一个关于 locked_cached_property 装饰器的详细教程。这个装饰器将一个方法转换为一个惰性属性#xff0c;在第一次访问时计算其值#xff0c;并在随后的访问中缓存该值。同时#xff0c;它在多线程环境中是线程安全的。 教程#xff1a;理解和使用 locked_cached_p…下面是一个关于 locked_cached_property 装饰器的详细教程。这个装饰器将一个方法转换为一个惰性属性在第一次访问时计算其值并在随后的访问中缓存该值。同时它在多线程环境中是线程安全的。 教程理解和使用 locked_cached_property 装饰器 1. 什么是 locked_cached_property locked_cached_property 是一个将函数转换为惰性属性的装饰器。惰性属性意味着该函数仅在第一次访问时被调用然后结果被缓存后续访问直接返回缓存的值。这个实现还通过使用线程锁确保在多线程环境中的安全性。 2. 实现代码解析 下面是 locked_cached_property 的实现代码 from threading import RLockclass locked_cached_property(object):A decorator that converts a function into a lazy property. Thefunction wrapped is called the first time to retrieve the resultand then that calculated result is used the next time you accessthe value. Works like the one in Werkzeug but has a lock forthread safety.def __init__(self, func, nameNone, docNone):self.__name__ name or func.__name__self.__module__ func.__module__self.__doc__ doc or func.__doc__self.func funcself.lock RLock()def __get__(self, obj, typeNone):if obj is None:return selfwith self.lock:value obj.__dict__.get(self.__name__, _missing)if value is _missing:value self.func(obj)obj.__dict__[self.__name__] valuereturn value_missing object()2.1 构造方法 __init__ 参数 func: 被装饰的函数。name: 属性名默认为函数名。doc: 文档字符串默认为函数的文档字符串。 功能: 初始化属性名、模块名、文档字符串、被装饰的函数和线程锁。 2.2 __get__ 方法 参数 obj: 调用属性的实例。type: 调用属性的类型默认为 None。 功能: 检查对象是否为 None是则返回自身。获取对象字典中的属性值如果不存在则调用被装饰的函数计算值并将其存储在对象字典中。使用线程锁确保在多线程环境中的安全性。 3. 实际代码案例 让我们来看一个实际的代码案例展示如何使用 locked_cached_property 装饰器。 from threading import RLock import time_missing object()class locked_cached_property(object):A decorator that converts a function into a lazy property. Thefunction wrapped is called the first time to retrieve the resultand then that calculated result is used the next time you accessthe value. Works like the one in Werkzeug but has a lock forthread safety.def __init__(self, func, nameNone, docNone):self.__name__ name or func.__name__self.__module__ func.__module__self.__doc__ doc or func.__doc__self.func funcself.lock RLock()def __get__(self, obj, typeNone):if obj is None:return selfwith self.lock:value obj.__dict__.get(self.__name__, _missing)if value is _missing:value self.func(obj)obj.__dict__[self.__name__] valuereturn valueclass Example:locked_cached_propertydef compute_expensive_value(self):print(Computing the value...)time.sleep(2) # 模拟一个耗时操作return 42# 示例使用 example Example() print(example.compute_expensive_value) # 第一次访问计算值并缓存 print(example.compute_expensive_value) # 第二次访问返回缓存值3.1 代码解释 定义类 Example 定义一个使用 locked_cached_property 装饰器的方法 compute_expensive_value。方法中模拟了一个耗时操作并返回一个结果。 示例使用 创建 Example 类的实例。第一次访问 compute_expensive_value 属性时触发计算并输出 “Computing the value…”等待2秒后返回结果 42。第二次访问时直接返回缓存的结果 42不再触发计算。 4. 总结 通过这个教程我们学习了 locked_cached_property 装饰器的实现和使用。它不仅可以将一个函数转换为惰性属性还通过使用线程锁确保在多线程环境中的安全性。这对于需要高效计算和多线程安全的场景非常有用。 希望这个教程能够帮助你理解和应用 locked_cached_property 装饰器。
http://www.zqtcl.cn/news/322673/

相关文章:

  • 建设银行网站怎样查询贷款信息吗台州网站制作 外贸
  • 建设网站的步骤知乎app开发定制公司
  • 怎样自己做刷赞网站专业网站设计服务
  • 云主机建站如何让自己做的博客网站上线
  • 目前我们的网站正在建设中做网站违反广告法
  • 有没有做美食的规模网站怎么做国外的网站吗
  • 竭诚网络网站建设开发杭州百度推广
  • 怎样购买起名软件自己做网站小程序制作收费
  • 制作企业网站欢迎界面素材cuntlove wordpress
  • 适合建设网站的国外服务器人工智能培训机构
  • 怎么套网站潜江资讯网招聘信息
  • 网站建设 微信公众号建设网站需要
  • 做房产经纪的那些网站可以进客网站关键词排名如何做
  • 网站建设实验总结百科wordpress 前台插件
  • 招聘网站建设销售成都 网站建设
  • 手机选择网站wordpress捐赠按钮
  • 网站建设上动漫制作教学
  • 怎么用cms做网站计算机网络技术专业
  • 建设部颁发的证书网站请问注册公司怎么注册
  • 网站开发php和c语言区别网站开发教程大全
  • 建设银行通控件网站谷歌推广
  • 我要建网站需要什么付费wordpress
  • 网站收录查询情况wordpress主题仿
  • 网站单页生成器c 网站开发需要学什么
  • 什么网站是免费的免费图片链接生成器
  • 网站建设伍金手指下拉9服务器多少钱
  • 手机网站大全网站收费网站推广
  • 华企立方做网站自己动手做导航网站
  • 如何建设教师网上授课网站重庆建设网站哪家专业
  • 企业网站页头背景图建设三轮摩托车官网