首页 > 其他 > 详细

选择最佳策略:简单的方式和globals()

时间:2019-10-10 20:03:56      阅读:91      评论:0      收藏:0      [点我收藏+]
promos = [fidelity_promo, bulk_item_promo, large_order_promo] ?
def best_promo(order): ?
    """选择可用的最佳折扣
    """
    return max(promo(order) for promo in promos) ?
 
globals()
 
返回一个字典,表示当前的全局符号表。这个符号表始终针对当前 模块(对函数或方法来说,是指定义它们的模块,而不是调用它们的模 块)。
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) ?        
? 迭代 globals() 返回字典中的各个 name。
? 只选择以 _promo 结尾的名称。
? 过滤掉 best_promo 自身,防止无限递归。
? best_promo 内部的代码没有变化。
 

选择最佳策略:简单的方式和globals()

原文:https://www.cnblogs.com/xiangxiaolin/p/11649853.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!