Python中的工厂方法 funtional的思维来做 非oop的实现,funtionaloop,在CSDN上看到一个人用


在CSDN上看到一个人用魔术方法的办法解决了这个问题 但是Pythonic的眼光来审视这道题目 我觉得还有更简单的办法

#file: item.py#-*- encoding: utf-8 -*-'''题目的要求是传入一个对象或者对象list给 x 属性 然后对这个 x 属性进行迭代 不管他拥有几个可迭代元素 甚至只有一个 都可以完整的显示我选择用Python中的工厂方法 funtional的思维来做 非oop的实现'''config = {'YES_I_WANNA_DO_IT':True,"NO_piceof_shit":False}def setter(N):    def print_iter(M = True):#开关 如果m!=0则打开闭合输入 直接进行迭代        if type(N) is not list and M:            return [N]        else:            return N[:]    return print_itert = setter('123')#迭代 ---测试代码——--for i in t():    print i    #output:    #1    #2    #3t = setter(['helloworld','其实不用修改魔术方法也可以做到 只是比较funcational',' closure(闭包) 是脚本语言的精粹 就像指针之于C'])for j in t():    print j    #output:    #123    #helloworld    #其实不用修改魔术方法也可以做到 funcational    #closure(闭包) 是脚本语言的精粹 就像指针之于C#该片段来自于http://byrx.net

评论关闭