Python語言到底可以多簡潔?

眾所周知, Python語言以號稱“簡潔”著稱, 但麻雀雖小, 五臟俱全, 簡潔到令人發(fā)指的Python卻并未因簡潔而影響其強(qiáng)大的功能。 拋開語言的速度, C語言上百行代碼實現(xiàn)的功能, 若使用Java語言, 或許能用一半C語言代碼量也能實現(xiàn), 但是若是使用Python實現(xiàn), 沒有夸張, 可能僅僅是寥寥數(shù)行?。?!

下面讓我們見識一下Python到底簡潔到什么程度:

  1. 實現(xiàn)一個Sum函數(shù)計算數(shù)組之和
    其他語言實現(xiàn)實現(xiàn)求和功能, 無外乎for, while循環(huán), Python也不列外, Python可以用for循環(huán), 和while循環(huán)計算求和, 但顯然遞歸顯然能使代碼更加簡潔:
def calculate_sum(array):
    if array == []:
        return 0
    else:
        return array[0] + calculate_sum(array[1:])


data = [0, 1, 2, 3, 4]
print(calculate_sum(data))
data1 = []
print(calculate_sum(data1))
data2 = [3]
print(calculate_sum(data2))

輸出:

>>> 10
>>> 0
>>> 3
  1. 計算列表中元素的個數(shù)
    Python中有內(nèi)置的len()函數(shù)計算列表元素的個數(shù), 但現(xiàn)在我們用遞歸的方式自己實現(xiàn)一下這個功能:
def calculate_count(array):
    """
    遞歸計算數(shù)組元素的個數(shù)
    :param array: 列表
    :return: 返回列表元素個數(shù)
    """
    if not array:
        return 0
    else:
        return 1 + calculate_count(array[1:])


data0 = []
print(calculate_count(data0))
data1 = [3]
print(calculate_count(data1))
data2 = [3, 4, 6]
print(calculate_count(data2))

輸出:

>>> 0
>>> 1
>>> 3
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,109評論 25 709
  • 一、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序...
    績重KF閱讀 2,017評論 0 1
  • 寫給恐慌于體重秤上那個數(shù)字的你,很多人減肥瘦下來后變得不敢吃東西,每天因為體重秤上的數(shù)字上升和下降變得大悲大喜,吃...
    米酒曲閱讀 503評論 0 0
  • 《愛》 朋友天天有而愛不常在 《擁抱》 牽手相伴到老擁抱天涯海角 《任性》 因為你還不夠任性所以才會覺得委屈 《那...
    何鯨洛閱讀 216評論 0 0

友情鏈接更多精彩內(nèi)容