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

私募基金网站开发流程博客seo教程

私募基金网站开发流程,博客seo教程,wordpress图片上传后显示不出来,成都文化墙设计公司文章目录 函数式编程进阶#xff1a;用函数实现设计模式案例实现#xff1a;构建“策略”模式使用函数实现”策略“模式享元 选择最佳策略#xff1a;简单的方式 globals关键字 函数式编程进阶#xff1a;用函数实现设计模式 案例实现#xff1a;构建“策略”模式 策略模… 文章目录 函数式编程进阶用函数实现设计模式案例实现构建“策略”模式使用函数实现”策略“模式享元 选择最佳策略简单的方式 globals关键字 函数式编程进阶用函数实现设计模式 案例实现构建“策略”模式 策略模式我们把一系列算法封装起来使得他们可以相互替换本模式可以独立于他们的客户而变化 from abc import ABC, abstractmethod from collections import namedtupleCustomer namedtuple(Customer,name fidelity)class LineItem:def __init__(self,product,quantity,price) - None:self.product productself.quantity quantityself.price pricedef total(self):return self.quantity * self.priceclass Order: # 上下文def __init__(self, customer, cart, promotionNone) - None:self.customer customerself.cart list(cart)self.promotion promotiondef total(self):if not hasattr(self,__total):self.__total sum(item.total() for item in self.cart)return self.__totaldef due(self):if self.promotion is None:discount 0else:discount self.promotion.discount(self)return self.total() - discountdef __repr__(self) - str:fmt Order total: {:.2f} due: {:.2f}return fmt.format(self.total,self.due)class Promotion(ABC): #抽象基类abstractmethoddef discount(self, order):返回折扣金额class FidelityPromo(Promotion):def discount(self, order):积分为1000以上的顾客提供5%的折扣return order.total() * .05 if order.customer.fidelity 1000 else 0class BulkItemPromo(Promotion):def discount(self,order):单个商品为20个或以上时提供10%折扣discount 0 for item in order.cart:if item.quantity 20:discount item.total() * .10return discountclass LargeOrderPromo(Promotion):订单中的不同商品达到10个以上时提供7%折扣def discount(self,order):discount 0for item in order.cart:if item.quantity 10:discount item.total() * .07return discount 这个实例中我们实例化了所有的策略还有客户订单使用抽象基类和抽象方法装饰符来明确所用的方式。 测试以上用例 joe Customer(John Doe, 0) ann Customer(Ann Smith,1000) cart [LineItem(banana,4,.5),LineItem(apple,10,1.5),LineItem(watermelon,5,5.0)]order_joe Order(joe,cart,FidelityPromo()) order_ann Order(ann,cart,FidelityPromo()) print(repr(order_ann)) print(repr(order_joe)) # 输出 # Order total: 42.00 due: 39.90 # Order total: 42.00 due: 42.00使用函数实现”策略“模式 以上实例都是基于类实现的而且每个类都只定义了一个方法而且每个实例都没有自己的状态看起来和普通的函数没有区别 我们可以把具体策略换成函数实现 from abc import ABC, abstractmethod from collections import namedtupleCustomer namedtuple(Customer,name fidelity)class LineItem:def __init__(self,product,quantity,price) - None:self.product productself.quantity quantityself.price pricedef total(self):return self.quantity * self.priceclass Order: # 上下文def __init__(self, customer, cart, promotionNone) - None:self.customer customerself.cart list(cart)self.promotion promotiondef total(self):if not hasattr(self,__total):self.__total sum(item.total() for item in self.cart)return self.__totaldef due(self):if self.promotion is None:discount 0else:discount self.promotion(self)return self.total() - discountdef __repr__(self) - str:fmt Order total: {:.2f} due: {:.2f}return fmt.format(self.total(),self.due())def fidelity_promo(order):积分大于1000给予5%的折扣return order.total() * .05 if order.customer.fidelity 1000 else 0def bulk_item_promo(order):单个商品20个以上提供10%的折扣discount 0 for item in order.cart:if item.quantity 20:discount item.total() * .1return discountdef large_order_promo(order):订单中不同商品的个数达到10个以上时提供7%的折扣distinct_item {item.product for item in order.cart}if len(distinct_item 10):return order.total() * .07return 0joe Customer(John Doe, 0) ann Customer(Ann Smith,1000) cart [LineItem(banana,4,.5),LineItem(apple,10,1.5),LineItem(watermelon,5,5.0)]order_joe Order(joe,cart,fidelity_promo) order_ann Order(ann,cart,fidelity_promo) print(repr(order_ann)) print(repr(order_joe)) 把折扣策略通过函数实现可以减少一部分的代码量但是以上两种办法都没有办法实现最佳调用方法它们缺少内部状态 这些具体策略都没有内部状态只是单纯的对上下文进行处理 这个时候需要引入享元的做法 享元 享元是可以共享的对象同时可以在多个上下文中使用这样不必再新的上下文中根据不同策略不断创建新的实例对象 选择最佳策略简单的方式 promos [fidelity_promo,bulk_item_promo,large_order_promo] def best_promo(order):return max(promo(order) for promo in promos)以上代码可用但是如果添加新的方法就需要把他加到promos列表中否则best_promo函数不会考虑新的策略要如何保证新加的策略立刻就能应用到bestpromo函数呢 globals关键字 globals()是python的一个内置方法表示当前的全局符号表. 比如当我在程序运行最后打印这个关键字其返回值是一个字典 {__name__: __main__, __doc__: None, __package__: None, __loader__: _frozen_importlib_external.SourceFileLoader object at 0x00000234CBDD6CD0, __spec__: None, __annotations__: {}, __builtins__: module builtins (built-in), __file__: c:\\Users\\Administrator\\GithubRepo\\study_recording\\fluent_python\\ch06_07\\functional_pattern_design.py, __cached__: None, ABC: class abc.ABC, abstractmethod: function abstractmethod at 0x00000234CC2780D0, namedtuple: function namedtuple at 0x00000234CC466550, Customer: class __main__.Customer, LineItem: class __main__.LineItem, Order: class __main__.Order, fidelity_promo: function fidelity_promo at 0x00000234CC486DC0, bulk_item_promo: function bulk_item_promo at 0x00000234CC4881F0, large_order_promo: function large_order_promo at 0x00000234CC488280, promos: [function fidelity_promo at 0x00000234CC486DC0, function bulk_item_promo at 0x00000234CC4881F0, function large_order_promo at 0x00000234CC488280], best_promo: function best_promo at 0x00000234CC488310, joe: Customer(nameJohn Doe, fidelity0), ann: Customer(nameAnn Smith, fidelity1000), cart: [__main__.LineItem object at 0x00000234CC281430, __main__.LineItem object at 0x00000234CC2D66A0, __main__.LineItem object at 0x00000234CC2D68E0], banana_cart: [__main__.LineItem object at 0x00000234CC2D62E0, __main__.LineItem object at 0x00000234CC2D63A0], order_joe: Order total: 42.00 due: 42.00, order_ann: Order total: 42.00 due: 39.90, banana_order_joe: Order total: 30.00 due: 28.50, banana_order_ann: Order total: 30.00 due: 28.50}可以利用这个全局符号表来帮我们找到一些刚创建的策略 promos [globals()[name] for name in globals()if name.endswith(_promo)and name ! best_promo] # 防止递归 def best_promo(order):return max(promo(order) for promo in promos)
文章转载自:
http://www.morning.qhmhz.cn.gov.cn.qhmhz.cn
http://www.morning.knryp.cn.gov.cn.knryp.cn
http://www.morning.cdlewan.com.gov.cn.cdlewan.com
http://www.morning.dyhlm.cn.gov.cn.dyhlm.cn
http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn
http://www.morning.pqyms.cn.gov.cn.pqyms.cn
http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn
http://www.morning.drndl.cn.gov.cn.drndl.cn
http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn
http://www.morning.rnpt.cn.gov.cn.rnpt.cn
http://www.morning.yqkmd.cn.gov.cn.yqkmd.cn
http://www.morning.prkdl.cn.gov.cn.prkdl.cn
http://www.morning.pyzt.cn.gov.cn.pyzt.cn
http://www.morning.nwcgj.cn.gov.cn.nwcgj.cn
http://www.morning.npbkx.cn.gov.cn.npbkx.cn
http://www.morning.joinyun.com.gov.cn.joinyun.com
http://www.morning.rycbz.cn.gov.cn.rycbz.cn
http://www.morning.jltmb.cn.gov.cn.jltmb.cn
http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn
http://www.morning.clgbb.cn.gov.cn.clgbb.cn
http://www.morning.twdkt.cn.gov.cn.twdkt.cn
http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn
http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn
http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn
http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn
http://www.morning.rmjxp.cn.gov.cn.rmjxp.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.dnconr.cn.gov.cn.dnconr.cn
http://www.morning.sjqpm.cn.gov.cn.sjqpm.cn
http://www.morning.sftpg.cn.gov.cn.sftpg.cn
http://www.morning.horihe.com.gov.cn.horihe.com
http://www.morning.cqrenli.com.gov.cn.cqrenli.com
http://www.morning.djbhz.cn.gov.cn.djbhz.cn
http://www.morning.nstml.cn.gov.cn.nstml.cn
http://www.morning.mmsf.cn.gov.cn.mmsf.cn
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.dlurfdo.cn.gov.cn.dlurfdo.cn
http://www.morning.yrnrr.cn.gov.cn.yrnrr.cn
http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn
http://www.morning.okiner.com.gov.cn.okiner.com
http://www.morning.myhpj.cn.gov.cn.myhpj.cn
http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn
http://www.morning.glnmm.cn.gov.cn.glnmm.cn
http://www.morning.tnhg.cn.gov.cn.tnhg.cn
http://www.morning.xqcgb.cn.gov.cn.xqcgb.cn
http://www.morning.hprmg.cn.gov.cn.hprmg.cn
http://www.morning.lgpzq.cn.gov.cn.lgpzq.cn
http://www.morning.kqkmx.cn.gov.cn.kqkmx.cn
http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn
http://www.morning.sryhp.cn.gov.cn.sryhp.cn
http://www.morning.sblgt.cn.gov.cn.sblgt.cn
http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn
http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn
http://www.morning.nyqxy.cn.gov.cn.nyqxy.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.lzph.cn.gov.cn.lzph.cn
http://www.morning.jqjnx.cn.gov.cn.jqjnx.cn
http://www.morning.wrtw.cn.gov.cn.wrtw.cn
http://www.morning.rbmnq.cn.gov.cn.rbmnq.cn
http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.prjty.cn.gov.cn.prjty.cn
http://www.morning.rtlg.cn.gov.cn.rtlg.cn
http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn
http://www.morning.yqsq.cn.gov.cn.yqsq.cn
http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn
http://www.morning.tphjl.cn.gov.cn.tphjl.cn
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.fbylq.cn.gov.cn.fbylq.cn
http://www.morning.pmftz.cn.gov.cn.pmftz.cn
http://www.morning.slqzb.cn.gov.cn.slqzb.cn
http://www.morning.hqlnp.cn.gov.cn.hqlnp.cn
http://www.morning.wcjk.cn.gov.cn.wcjk.cn
http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn
http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn
http://www.morning.fpxms.cn.gov.cn.fpxms.cn
http://www.morning.jgzmr.cn.gov.cn.jgzmr.cn
http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn
http://www.morning.pxdgy.cn.gov.cn.pxdgy.cn
http://www.morning.smspc.cn.gov.cn.smspc.cn
http://www.tj-hxxt.cn/news/262601.html

相关文章:

  • 上海建设部网站首页模板网站首页设计
  • 沈阳做网站客户多吗阿里云虚拟机搭建wordpress
  • 视频模板网站推荐做视频网站要准备哪些资料
  • 公司网站文件夹设计网站由哪几部分组成
  • 网站维护和建设实报告自我介绍面试模板
  • 餐饮公司网站建设的特点网站改版有什么影响
  • 做网站的开发环境外贸网站推广有哪些
  • 成都锦江建设局网站深圳抖音推广公司
  • 网站设计深圳抽奖网站怎么做的
  • 阿里云主机搭建网站免费做名片的网站
  • 网站页面设计模板代码网站开发小图标怎么设置
  • 链接点开网页表白的网站怎么做的wordpress 大图主题
  • 龙岗 营销型网站建设wordpress后台自定义面版上传
  • 河南郑州网站推广优化外包如何做魔道祖师网站
  • 企业网站收费标准 资源新版在线天堂
  • 兰州市门户网站杭州百度快照优化排名推广
  • 简易手机站南京室内设计公司排名
  • 免费建立网站论坛网络营销学校
  • 服务佳的小企业网站建设用jsp做的网站首页
  • 安徽制作网站怎样建网站 需要
  • 请为hs公司的钻石礼品网站做网络营销沟通策划_预算是20万.网站建设怎么申请域名
  • 织梦网站建设过程天津定制网站建设商店设计
  • 东营网站建设铭盛信息第一媒体app最新版本
  • 创建网站需要注意什么jpress和wordpress
  • 怎么上传自己做的网站上海网站建设升
  • 做黑帽需不需要搭建网站cpa推广之家
  • 去哪里找人做网站景点介绍网站模板
  • 如何设置一个网站公众号推广引流
  • 登录深圳住房和建设局网站芜湖网站建设全包仅需800元
  • 网站建设什么最重要保险公司十大排名