溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python使用import導入本地腳本及導入模塊的技巧總結

發(fā)布時間:2020-05-21 18:26:47 來源:網絡 閱讀:276 作者:ckllf 欄目:編程語言

  本文實例講述了Python使用import導入本地腳本及導入模塊的技巧。分享給大家供大家參考,具體如下:

  導入本地腳本

  import 如果你要導入的 Python 腳本與當前腳本位于同一個目錄下,只需輸入 import,然后是文件名,無需擴展名 .py。 偽代碼如下:

  import useful_functions

  useful_functions.add_five([1, 2, 3, 4])

  我們可以為導入模塊添加別名,以使用不同的名稱引用它。

  import useful_functions as uf

  uf.add_five([1, 2, 3, 4])

  使用 if main 塊

  為了避免運行從其他腳本中作為模塊導入的腳本中的可執(zhí)行語句,將這些行包含在 if name == “main” 塊中。或者,將它們包含在函數 main() 中并在 if main 塊中調用該函數。

  每當我們運行此類腳本時,Python 實際上會為所有模塊設置一個特殊的內置變量 name。當我們運行腳本時,Python 會將此模塊識別為主程序,并將此模塊的 name 變量設為字符串 “main”。對于該腳本中導入的任何模塊,這個內置 name 變量會設為該模塊的名稱。因此,條件 if name == "main"會檢查該模塊是否為主程序。

  在同一目錄下創(chuàng)建如下兩個腳本文件,并在終端里運行這些腳本!實驗 if main 塊并訪問導入模塊中的對象!

  demo.py 文件

  # demo.py

  import useful_functions as uf

  scores = [88, 92, 79, 93, 85]

  mean = uf.mean(scores)

  curved = uf.add_five(scores)

  mean_c = uf.mean(curved)

  print("Scores:", scores)

  print("Original Mean:", mean, " New Mean:", mean_c)

  print(__name__)

  print(uf.__name__)

  使用 if main 塊

  為了避免運行從其他腳本中作為模塊導入的腳本中的可執(zhí)行語句,將這些行包含在 if name == “main” 塊中?;蛘?,將它們包含在函數 main() 中并在 if main 塊中調用該函數。

  每當我們運行此類腳本時,Python 實際上會為所有模塊設置一個特殊的內置變量 name。當我們運行腳本時,Python 會將此模塊識別為主程序,并將此模塊的 name 變量設為字符串 “main”。對于該腳本中導入的任何模塊,這個內置 name 變量會設為該模塊的名稱。因此,條件 if name == "main"會檢查該模塊是否為主程序。

  在同一目錄下創(chuàng)建如下兩個腳本文件,并在終端里運行這些腳本!實驗 if main 塊并訪問導入模塊中的對象!

  demo.py 文件

  # demo.py

  import useful_functions as uf

  scores = [88, 92, 79, 93, 85]

  mean = uf.mean(scores)

  curved = uf.add_five(scores)

  mean_c = uf.mean(curved)

  print("Scores:", scores)

  print("Original Mean:", mean, " New Mean:", mean_c)

  print(__name__)

  print(uf.__name__)

  useful_functions.py文件

  # useful_functions.py

  def mean(num_list):

  return sum(num_list) / len(num_list)

  def add_five(num_list):

  return [n + 5 for n in num_list]

  def main():

  print("Testing mean function")

  n_list = [34, 44, 23, 46, 12, 24]

  correct_mean = 30.5

  assert(mean(n_list) == correct_mean)

  print("Testing add_five function")

  correct_list = [39, 49, 28, 51, 17, 29]

  assert(add_five(n_list) == correct_list)

  print("All tests passed!")

  if __name__ == '__main__':

  main()鄭州人流手術多少錢 http://www.zzzzyy120.com/

  如果運行 $ python demo.py,那么有如下輸出結果:

  

Python使用import導入本地腳本及導入模塊的技巧總結


  如果運行 $ python useful_functions.py,那么有如下輸出結果:

  

Python使用import導入本地腳本及導入模塊的技巧總結


  import 導入模塊的技巧

  要從模塊中導入單個函數或類:

  from module_name import object_name

  要從模塊中導入多個單個對象:

  from module_name import first_object, second_object

  要重命名模塊:

  import module_name as new_name

  要從模塊中導入對象并重命名:

  from module_name import object_name as new_name

  要從模塊中單個地導入所有對象(請勿這么做):

  from module_name import *

  如果你真的想使用模塊中的所有對象,請使用標準導入 module_name 語句并使用點記法訪問每個對象

  import module_name

  為了更好地管理代碼,Standard 標準庫中的模塊被拆分成了子模塊并包含在軟件包中。軟件包是一個包含子模塊的模塊。子模塊使用普通的點記法指定。子模塊的指定方式是軟件包名稱、點,然后是子模塊名稱。你可以如下所示地導入子模塊

  import package_name.submodule_name


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI