最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對Python實(shí)現(xiàn)累加函數(shù)的方法詳解

 更新時(shí)間:2019年01月23日 14:09:35   作者:嵐漾憶雨  
今天小編就為大家分享一篇對Python實(shí)現(xiàn)累加函數(shù)的方法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

這個(gè)需求比較奇怪,要求實(shí)現(xiàn)Sum和MagaSum函數(shù),實(shí)現(xiàn)以下功能

Sum(1) =>1
Sum(1,2,3) =>6
MegaSum(1)() =>1
MegaSum(1)(2)(3)() =>6

實(shí)際上Sum就是Python自建的sum函數(shù),它支持變參,變參怎么實(shí)現(xiàn),自然是*args,所以很容易寫出雛形:

Sum

def Sum(*args):
  count = 0
  for i in args:
    count+=i
  return count

第二個(gè)函數(shù)就有點(diǎn)皮了,它要求有參數(shù)的時(shí)候,返回的值是一個(gè)函數(shù)的引用,無參數(shù)的時(shí)候,返回的是結(jié)果。

要實(shí)現(xiàn)可以有或無參數(shù),那么首想到的是Python的默認(rèn)參數(shù)。我們可以默認(rèn)參數(shù)值是None,當(dāng)主動(dòng)傳入?yún)?shù)時(shí),返回一個(gè)函數(shù)的引用,否則,返回結(jié)果。這里用到了Python可變類型作為函數(shù)參數(shù)時(shí)的一些特性。代碼如下:

def Sum(*args):
  s = 0
  for i in args:
    s+=i
  return s

def megaSum(s=None,l=[]):
  if not s:
    ret = Sum(*l)
    l.clear() # 清空,否則之后計(jì)算的結(jié)果值會(huì)不對。
    return ret
  else:
    l.append(s)
    return megaSum
print(Sum(1,2,3))
print(megaSum(1)(2)(3)())
print(megaSum(1)())

實(shí)際上還是有一些Bug的,原因是只有當(dāng)不傳參數(shù)的時(shí)候才會(huì)清空l的內(nèi)容,這樣就會(huì)造成如

print(megaSum(1)(2)(3)) #<function megaSum at 0x7fb533743a60>
print(megaSum(1)()) #7

計(jì)算結(jié)果不準(zhǔn)確。這個(gè)怎么解決,暫時(shí)還沒想到,如果有朋友知道可以告訴我。

以上這篇對Python實(shí)現(xiàn)累加函數(shù)的方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何將Pandas運(yùn)行結(jié)果導(dǎo)出為CSV格式文件

    詳解如何將Pandas運(yùn)行結(jié)果導(dǎo)出為CSV格式文件

    在數(shù)據(jù)分析與處理的世界里,Pandas?是一個(gè)不可或缺的工具,它提供了強(qiáng)大的數(shù)據(jù)處理功能,讓我們能夠輕松地清洗、轉(zhuǎn)換和分析數(shù)據(jù),本文將帶領(lǐng)大家了解如何使用?Pandas?將運(yùn)行結(jié)果導(dǎo)出為?CSV?文件,并通過實(shí)際案例進(jìn)行深入探討
    2024-05-05
  • Python安裝第三方庫及常見問題處理方法匯總

    Python安裝第三方庫及常見問題處理方法匯總

    本文給大家匯總介紹了Python安裝第三方庫及常見問題處理方法,非常的簡單使用,有需要的小伙伴可以參考下
    2016-09-09
  • Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn)

    Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn)

    本文主要介紹了Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決

    python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決

    這篇文章主要介紹了python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例

    Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例

    這篇文章主要介紹了Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例,幫助大家更好的理解和使用Numpy,感興趣的朋友可以了解下
    2020-10-10
  • 深入理解Python虛擬機(jī)中的反序列化pyc文件

    深入理解Python虛擬機(jī)中的反序列化pyc文件

    再這篇文章中我們將主要對?Code?Object?進(jìn)行分析,并且詳細(xì)它是如何被反序列化的,通過本篇文章我們將能夠把握整個(gè)?pyc?文件結(jié)構(gòu),感興趣的可以了解一下
    2023-05-05
  • python調(diào)用機(jī)器喇叭發(fā)出蜂鳴聲(Beep)的方法

    python調(diào)用機(jī)器喇叭發(fā)出蜂鳴聲(Beep)的方法

    這篇文章主要介紹了python調(diào)用機(jī)器喇叭發(fā)出蜂鳴聲(Beep)的方法,實(shí)例分析了Python調(diào)用winsound模塊的使用技巧,需要的朋友可以參考下
    2015-03-03
  • Python文件名的匹配之clob庫

    Python文件名的匹配之clob庫

    這篇文章主要介紹了Python文件名的匹配之clob庫,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助喲,需要的朋友可以參考下
    2021-05-05
  • Python程序打包工具py2exe和PyInstaller詳解

    Python程序打包工具py2exe和PyInstaller詳解

    這篇文章主要介紹了Python程序打包工具py2exe和PyInstaller詳解,如果可以提前將程序打包成 Windows平臺的 .exe 文件或者是Linux下的 .sh 腳本,那么使用起來就會(huì)方便很多,需要的朋友可以參考下
    2019-06-06
  • Python利用公共鍵如何對字典列表進(jìn)行排序詳解

    Python利用公共鍵如何對字典列表進(jìn)行排序詳解

    這篇文章主要給大家介紹了關(guān)于Python利用公共鍵如何對字典列表進(jìn)行排序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05

最新評論

南宁市| 朝阳区| 年辖:市辖区| 镇巴县| 高州市| 镶黄旗| 乐业县| 塘沽区| 南丰县| 宝兴县| 观塘区| 渝中区| 白水县| 社会| 赤城县| 林甸县| 青田县| 桂林市| 茶陵县| 株洲县| 新宁县| 鄢陵县| 颍上县| 方正县| 中宁县| 玉屏| 和政县| 通州区| 安岳县| 当涂县| 唐海县| 行唐县| 浠水县| 阜平县| 澄迈县| 新昌县| 崇文区| 上栗县| 吐鲁番市| 堆龙德庆县| 德庆县|