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

域名申请而完成以后怎么做网站百度怎么推广广告

域名申请而完成以后怎么做网站,百度怎么推广广告,洛阳网站改版维护公司,北京网站建设北京本章内容: Python 如何计算装饰器句法 Python 如何判断变量是不是局部的 闭包存在的原因和工作原理 nonlocal 能解决什么问题 掌握这些基础知识后,我们可以进一步探讨装饰器: 实现行为良好的装饰器 标准库中有用的装饰器 实现一个参数化装饰器…

本章内容:
Python 如何计算装饰器句法
Python 如何判断变量是不是局部的
闭包存在的原因和工作原理
nonlocal 能解决什么问题
掌握这些基础知识后,我们可以进一步探讨装饰器:
实现行为良好的装饰器
标准库中有用的装饰器
实现一个参数化装饰器

使用装饰器改进“策略”模式

使用注册装饰器可以改进 6.1 节中的电商促销折扣示例。

回顾一下,示例 6-6 的主要问题是,定义体中有函数的名称,但是
best_promo 用来判断哪个折扣幅度最大的 promos 列表中也有函数名
称。这种重复是个问题,因为新增策略函数后可能会忘记把它添加到
promos 列表中,导致 best_promo 忽略新策略,而且不报错,为系统
引入了不易察觉的缺陷。示例 7-3 使用注册装饰器解决了这个问题。

示例 7-3 promos 列表中的值使用 promotion 装饰器填充

promos = [] ➊
def promotion(promo_func): ➋promos.append(promo_func)
return promo_func
@promotion ➌
def fidelity(order):"""为积分为1000或以上的顾客提供5%折扣"""return order.total() * .05 if order.customer.fidelity >= 1000 else 0
@promotion
def bulk_item(order):"""单个商品为20个或以上时提供10%折扣"""discount = 0for item in order.cart:if item.quantity >= 20:discount += item.total() * .1return discount
@promotion
def large_order(order):"""订单中的不同商品达到10个或以上时提供7%折扣"""distinct_items = {item.product for item in order.cart}if len(distinct_items) >= 10:return order.total() * .07return 0
def best_promo(order): ➍
"""选择可用的最佳折扣
"""return max(promo(order) for promo in promos)

❶ promos 列表起初是空的。
❷ promotion 把 promo_func 添加到 promos 列表中,然后原封不动
地将其返回。
❸ 被 @promotion 装饰的函数都会添加到 promos 列表中。
❹ best_promos 无需修改,因为它依赖 promos 列表。
与 6.1 节给出的方案相比,这个方案有几个优点。

  • 促销策略函数无需使用特殊的名称(即不用以 _promo 结尾)。
  • @promotion 装饰器突出了被装饰的函数的作用,还便于临时禁用
    某个促销策略:只需把装饰器注释掉。
  • 促销折扣策略可以在其他模块中定义,在系统中的任何地方都行,
    只要使用 @promotion 装饰即可。

不过,多数装饰器会修改被装饰的函数。通常,它们会定义一个内部函
数,然后将其返回,替换被装饰的函数。使用内部函数的代码几乎都要
靠闭包才能正确运作。为了理解闭包,我们要退后一步,先了解 Python
中的变量作用域。

http://www.dtcms.com/wzjs/293971.html

相关文章:

  • 做vb程序的网站深圳正规seo
  • 怎么做一个网站多少钱搜索引擎优化的分类
  • 西宁做网站的公司捌君博力请seo实战培训教程
  • 故事网站模版福建省人民政府
  • 如何做自动交易网站谷歌浏览器安卓版下载
  • 企业微网站案例企业如何做好网络营销
  • 网站界面是什么做的深圳网站制作推广
  • 网站做支付宝 微信模块黄页污水
  • wordpress justnews百度seo怎么关闭
  • 杭州萧山网站建设网站设计就业
  • 网区建站江门网站建设
  • 中劳网做网站新品推广计划与方案
  • 网站怎样做百度推广搜索网站的浏览器
  • wordpress建站侵权友链交换有什么作用
  • 什么是h5网站淘宝关键词优化
  • 360建筑网真假seo的含义
  • 做平面设计去哪些网站找图思亿欧seo靠谱吗
  • 怎么在网上做彩票网站游戏推广公司靠谱吗
  • 湖北商城网站建设非企户百度推广
  • 邯郸网站建设哪家好有没有免费推广平台
  • 网站开发阶段怎么做测试自己怎么做一个网页
  • 专业建网站服务优化营商环境的措施建议
  • 网站多服务器建设友情链接交换群
  • 手机端网站思路北京seo网站开发
  • 各类微网站建设培训网站制作
  • 的品质网站建设推广的软件
  • 苏州有做网站的公司吗seo人才招聘
  • 少儿编程加盟亏本seo短期培训班
  • 如何做行业平台网站互联网销售是做什么的
  • 平面设计的网站有哪些网站重庆人社培训网