1. 程式人生 > >python學習筆記(四)

python學習筆記(四)

9.png fib AS 情況 一個 命名 文檔字符串 可選 交互

break 語句和 C 中的類似,用於跳出最近的一級 forwhile 循環。

循環可以有一個 else 子句;它在循環叠代完整個列表(對於 for )或執行條件為 false (對於 while)時執行,但循環被 break 中止的情況下不會執行

例1:在數列2到10中(不包含10)數列中的質數

“%”:代表取余數

技術分享圖片

這是正確的代碼。看仔細:else 語句是屬於 for 循環之中, 不是 if 語句。

如果將else放在if中,看結果,這輸出的結果就並不是我們所需要的了

技術分享圖片

例2:找到2到10中(不包括10)數列中的偶數

技術分享圖片

定義函數:

關鍵字 def 引入了一個函數 定義。在其後必須跟有函數名和包括形式參數的圓括號。函數體語句從下一行開始,必須是縮進的。

函數體的第一行語句可以是可選的字符串文本,這個字符串是函數的文檔字符串,或者稱為docstring

有些工具通過 docstrings 自動生成在線的或可打印的文檔,或者讓用戶通過代碼交互瀏覽;在你的代碼中包含 docstrings 是一個好的實踐,讓它成為習慣吧。

函數調用會為函數局部變量生成一個新的符號表。確切的說,所有函數中的變量賦值都是將值存儲在局部符號表。

變量引用首先在局部符號表中查找,然後是包含函數的局部符號表,然後是全局符號表,最後是內置名字表。因此,全局變量不能在函數中直接賦值(除非用 global 語句命名),盡管他們可以被引用

函數引用的實際參數在函數調用時引入局部符號表,因此,實參總是 傳值調用(這裏的 值 總是一個對象 引用 ,而不是該對象的值)。 一個函數被另一個函數調用時,一個新的局部符號表在調用過程中被創建

技術分享圖片

如果你使用過其他語言,你可能會反對說:fib 不是一個函數,而是一個方法,因為它並不返回任何值。

事實上,沒有 return 語句的函數確實會返回一個值,雖然是一個相當令人厭煩的值(指 None )。這個值被稱為 None (這是一個內建名稱)。

如果 None 值是唯一被書寫的值,那麽在寫的時候通常會被解釋器忽略(即不輸出任何內容)。如果你確實想看到這個值的輸出內容,請使用 print() 函數

技術分享圖片

python學習筆記(四)