模板方式

模板方式是比较常用额,且难度比较小的

什么是模板方法:

从OO的角度,我们通常使用子类实现抽象类的方式来实现的.从FP的角度而言就是一个高级函数的简单使用.我们关注的是函数的签名

 

源码:(在ubuntu使用笨拙的英语表达,长时间的阅读外著然而没练习写,该...)

 

'''Created on Feb 4, 2016 @author: Linux'''

if __name__ == '__main__':
    print("Hello World!")

ingredients = "I have a apple,but you don't have"    
line = '-' * 60
    
# Define two Template method,Actually Template only execute other method 
def iter_elements(elements,action):
    """Template 1"""
    elementAfter = ""
    for element in elements: 
        elementAfter += action(element) + '\t'#Actually,action should be xxx(type)=>xxx(type)
    print(elementAfter)
    print(line)


# Define our Action,Like implements abstract methods in OO
def action_toLower(ele):
    return ele.lower()

def action_toUpper(ele):
    return ele.upper()

arrays = ingredients.split()

templates = [iter_elements(arrays,action) for action in (action_toLower,action_toUpper)]


#for template in templates:
#    template()
# iter_elements(arrays,action_toLower)


 

Hello World!
i	have	a	apple,but	you	don't	have	
------------------------------------------------------------
I	HAVE	A	APPLE,BUT	YOU	DON'T	HAVE	
------------------------------------------------------------


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值