您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python代碼縮進和測試模塊的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、Python代碼縮進
Python 函數沒有明顯的 begin 和 end ,沒有標明函數的開始和結束的花括號。唯一的分隔符是一個冒號 ( : ),接著代碼本身是縮進的。
例如:縮進 buil dCon necti onStr ing 函數
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 語句、for 循環、 while 循環,等等。開始縮進表示塊的開始,取消縮進表示塊的結束。不存在明顯的括號,大括號或關鍵字。這就意味著空白是重要的,并且要一致。在這個例子中,函數代碼 (包括 doc string ) 縮進了 4 個空格。不一定非要是 4 個,只要一致就可以了。沒有縮進的第一行則被視為在函數體之外。
例如: “if 語句” 展示了一個 if 語句縮進的例子。
def fib(n): (1) print 'n =', n (2) if n > 1: (3) return n * fib(n - 1) else: (4) print 'end of the line' return 1
(1) 這是一個名為 fib 的函數,有一個參數 n 。在函數內的所有代碼都是縮進的。
(2) 在 Python 中向屏幕輸出內容非常容易,只要使用 print 即可。 print 語句可以接受任何數據類型,包括字符串、整數和其它類型,如字典和列表 。甚至可以混在一起輸出,只需用逗號隔開。所有值都輸出到同一行,用空格隔開 (逗號并不打印出來)。所以當用 5 來調用 fib時,將輸出“n = 5”。
(3) if 語句是一種的代碼塊。如果 if 表達式計算為 true,緊跟著的縮進塊會被執行,否則進入 else 塊執行。
(4) 當然 if 和 else 塊可以包含許多行,只要它們都同樣縮進。這個 else 塊中有兩行代碼。對于多行代碼塊沒有其它特殊的語法,只要縮進就行了。在經過一些最初的抗議和幾個與 Fortran 的嘲諷的類比之后,您會心平氣和地
對待代碼縮進,并且開始看到它的好處。一個主要的好處就是所有的 Python程序看上去都差不多,因為縮進是一種語言的要求而不是一種風格。這樣就使得閱讀和理解他人的 Python 代碼容易得多。
Note: Python vs. Java: 語句和語句分割
Python 使用硬回車來分割語句,冒號和縮進來分割代碼塊。C++ 和 Java 使用分號來分割語句,花括號來分割代碼塊。
二、Python測試模塊
所有的 Python 模塊都是對象,并且有幾個有用的屬性。您可以使用這些屬性方便地測試您所編寫的模塊。下面是一個使用 if name 的技巧。
if name == "__main__":
在繼續學習新東西之前,有幾個重要的觀察結果。首先, if 表達式無需使用圓括號括起來。其次, if 語句以冒號結束,緊跟其后的是縮進代碼。
Note: Python vs. C: 比較和賦值
與 C 一樣,Python 使用 == 做比較,使用 = 做賦值。與 C 不一樣,Python 不支持行內賦值,所以不會出現想要進行比較卻意外地出現賦值的情況。
那么為什么說這個特殊的 if 語句是一個技巧呢?模塊是對象,并且所有的模塊都有一個內置屬性 name 。一個模塊的 name 的值取決于您如何應用模塊。如果 import 模塊,那么 name 的值通常為模塊的文件名,不帶路徑或者文件擴展名。但是您也可以像一個標準的程序一樣直接運行模塊,在這種情況下 name 的值將是一個特別的缺省值, main 。
>>> import odbchelper >>> odbchelper.__name__ 'odbchelper'
只要了解到這一點,您就可以在模塊內部為您的模塊設計一個測試套件,在其中加入這個 if 語句。當您直接運行模塊, name 的值是 main ,所以測試套件執行。當您導入模塊, name 的值就是別的東西了,所以測試套件被忽略。這樣使得在將新的模塊集成到一個大程序之前開發和調試容易多了。
Tip: Mac OS 上的 if name __
在 MacPython 上,需要一個額外的步聚來使得 if name 技巧有效。點擊窗口右上角的黑色三角,彈出模塊的屬性菜單,確認 Run as main 被選中。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python代碼縮進和測試模塊的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。