Python學習筆記之疑問 2:python的函數定義為什么沒有開始和結束符


Python 函數沒有明顯的 begin 和 end,沒有標明函數的開始和結束的花括號。唯一的分隔符是一個冒號 (:),接着代碼本身是縮進的。

例如:

def buildConnectionString(params):
    """Build a connection string from a dictionary of parameters.

    Returns string."""
    return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
其實,不函數,所有的代碼塊都是用縮進來定義的。代碼塊包括:函數,IF語句,While語句,For循環等。

代碼塊就是可作為可執行單元的一段Python程序文本;模塊、函數體和類定義都是代碼塊。不僅如此,每一個交互腳本命令也是一個代碼塊;一個腳本文件也是一個代碼塊;一個命令行腳本也是一個代碼塊。

開始縮進表示塊的開始,取消縮進表示塊的結束。不存在明顯的括號,大括號或關鍵字。這就意味着空白是重要的,並且要一致。在這個例子中,函數代碼 (包括 doc string) 縮進了 4 個空格。不一定非要是 4 個,只要一致就可以了。沒有縮進的第一行則被視為在函數體之外。

例如:
def fib(n):                   
    print 'n =', n            
    if n > 1:              
        return n * fib(n - 1)
    else:                     
        print 'end of the line'
        return 1

Python 使用硬回車來分割語句,冒號和縮進來分割代碼塊,而不使用分號和花括號。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM