lambda 返回的是一個(gè)函數(shù)而不是一個(gè)結(jié)果
目前成都創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、會(huì)澤網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。如果函數(shù)的返回值是一個(gè)函數(shù) 就可以實(shí)現(xiàn)f(a)(b)
下面是一個(gè)函數(shù)式編程的一個(gè)例子
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'teng' # f(a, b, c, d) = (a+b) * c -d # f(a, b, c, d) = (a+b) * (c-d) def calc2(s): """ def f_add(a, b): return a+b def f_mul(a, b): return a*b def f_sub(a, b): return a-b :param s: :return: """ if s == '+': return lambda a, b: a+b elif s== '*': return lambda a, b: a*b elif s=='-': return lambda a,b:a-b else: assert False, "error: operator not defined" # 返回一個(gè)函數(shù) calc_dict={ '+':lambda a, b: a+b, '*':lambda a, b: a*b, '-':lambda a, b: a-b } if __name__=='__main__': a, b, c, d = 1,2,3,4 print calc2('-')(calc2('*')(calc2('+')(a, b), c), d) print calc2('*')(calc2('+')(a,b), calc2('-')(c,d)) operators = [(calc_dict['+'], [a, b]), (calc_dict['*'], [c]), (calc_dict['-'], [d])] # 如果一個(gè)數(shù)字就直接操作 result和num2 for operator, num in operators: if len(num)==1: num1=result num2=num[0] else: num1=num[0] num2=num[1] result=operator(num1, num2) print result
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。