import的本質解析,import本質解析

來源:互聯網
上載者:User

import的本質解析,import本質解析

上一篇文章中我們介紹了python中hashlib模組用法樣本,詳情參見:http://www.bkjia.com/article/127103.htm。今天我們看看import的有關內容。

編程時總是用到import匯入,動不動就匯入,很簡單,但import到底是個什麼功能,它的本質是什嗎?

一. 模組:用來從邏輯上來組織python代碼(變數,函數,類,邏輯,實現一個功能),本質就是,py結尾的python檔案

1.1 匯入方法:

  import module
  import module1, module2
  from module import logger
  from module import logger as frank

1.2 匯入的本質: 把python檔案解釋一遍

1.3  import module_name

      實際上相當於 module_name 的所有代碼複製與此, 當要使用時,取用其中的變數和函數 module_name.name,  module_name.logger

1.4  from module_name import name

       實際上相當於將module_name 中 name 那部分代碼複製與此,便可以直接引用 name='alex', 直接可以調用 變數 name

二. 包:從邏輯上組織模組的,本質就是一個目錄,(一個帶有_init_.py 檔案的目錄)

1.1 匯入的本質: 就是執行該包目錄下的_init_.py 檔案

1.2 匯入最佳化:

執行個體 , 下面的代碼需要來不停地調用 module_test 這個模組, 若有200個這樣的調用,就得來來回回地找,影響效率, 此時可以將 "import module_test" 轉化為 “from module_test import test”

def logger():  module_test.test() print(' in the logger')def search(): module_test.test() print("in the search")

總結

以上就是本文關於import的本質解析的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站:淺談Python由__dict__和dir()引發的一些思考、13個最常用的Python深度學習庫介紹等,有什麼問題可以隨時留言,小編會及時回複大家的。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.