[2015-07-18] python004

要素8、函數的創建與調用

函數是實現模塊化編程的基本組件
Python使用def語句定義函數

def functionName(arguments):
suite

  • 函數可以參數化,通過傳遞不同的參數來調用
  • 每個Python函數都有一個返回值,默認爲None,也可以使用“return value”明確定義返回值
  • def語句會創建一個函數對象,並同時創建一個指向函數的對象引用
  • 函數也是對象,可以存儲在組合數據類型中,也可以作爲參數傳遞給其他函數
  • callable()可用於測試函數是否可調用

    函數定義及callable()


Python有衆多內置函數:

  • dir(_ _ builtin _ _) 可查看所有內置函數,可用help()獲取詳細使用信息
  • Python標準庫擁有衆多內置模塊,這些模塊擁有大量函數
  • 導入模塊使用import語句進行,後跟模塊名稱(不能指定模塊文件名的後綴.py)
  • 導入一個模塊後,可以訪問其內部包含的任意函數、類及變量

    導入隨機數模塊


Python編程風格

註釋:

  • #:可以從一行的任何地方開始

續行:

  • \:
  • ”’:閉合操作符,單一語句跨多行,實現多行註釋(3個引號)

代碼組:

  • 縮進相同的一組語句構成的一個代碼塊
  • 首行以關鍵字開始,如if,while等,以冒號結束
  • Python使用縮進來分割代碼組,同一代碼組的代碼行必須嚴格左對齊,否則會造成語法錯誤

同一行放置多個語句:

  • ; :以分號作爲分隔符

模塊:

  • 每一個Python腳本文件都可以被當成是一個模塊
  • 模塊裏的代碼可以是一段直接執行的腳本,也可以是一些類似庫函數的代碼從而可由別的模塊執行導入(import)

標識符:

  • 標識符是計算機語言中允許作爲名字的有效字符串集合
  • 其中有一部分是關鍵字,它們是語言的標識符,因此是保留字,不能用於其他用途
  • Python還有稱爲“內建”的標識符集合,雖不是保留字,仍不推薦使用這些特別的名字

Python標識符:

  • 第一個字符只能使用字母或下劃線
  • 餘下的字符可以使用字母、數字或下劃線
  • 區分字符大小寫

Python編程常見習慣

註釋:

  • 既不能缺少註釋,亦要避免過渡註釋

文檔:

  • Python允許通過_ _ doc_ _動態獲得文檔字串

縮進:

  • 統一縮進4個字串

標識符名稱:

  • 見名知意

Python風格指南:

Python命名慣例:

  1. 以單一下劃線開頭的變量名(_x)不會被from module import*語句導入
  2. 前後有下劃線的變量名(_ x _)是系統定義的變量名,對pythono解釋器有特殊意義
  3. 以兩個下劃線開頭但結尾沒有下劃線的變量名(__x)是類的本地變量
  4. 交互式模式下,變量名”_ “用於保存最後表達式的結果

主程序:

  • 無論當前模塊是被別的模塊導入還是作爲腳本直接執行,都會執行這部分代碼

注意:

  1. 所有的模塊都有能力執行代碼
  2. 最高級別的Python語句(沒有縮進的)在模塊被導入時就會執行,無論是否真的需要執行
  3. 妥當的做法:除了那些真正需要執行的代碼以外,所有的功能代碼都通過函數建立,因此:
    僅在主程序模塊中編寫大量的頂級可執行代碼
    用於被導入的模塊只應該存在較少的頂級執行代碼
  4. 每個模塊都有一個名爲_ _ name _ _的內建變量,此變量值會根據調用此模塊的方式發生變化:
    如果此文件被作爲模塊導入,則_ _ name _ _的值爲模塊名稱
    如果此文件被直接執行,則_ _ name _ _ 的值爲” _ _ main _ _”
發佈了28 篇原創文章 · 獲贊 3 · 訪問量 6417
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章