python中的模塊,以及包的導入的總結


模塊導入的方式:

  模塊的概念:一個.py文件就稱為一個模塊

導入模塊中函數的方式:

    方式一:import  模塊名

      使用時:模塊名.函數名()

    方式二 :from 模塊名 import  函數名

      使用時:函數名()

    方式三: from 模塊名 import *

      使用時:函數名()

    方式四:from 模塊名 import 函數名 as  tt(自定義)     注意原來的函數名將失效

      使用時:tt()

可以在模塊當中定義一個變量__all__:

    使用__all__的影響:  后面的[]里面寫什么函數名,使用from 模塊名 import *方式導入時導入什么  __all__如果沒有這個變量將全部導入(__all__僅限 於from 模塊名 import *這種導入方式)

加__all__示例:

  1 __all__ = ["demo"]
  2 def demo():
  3 
  4     print("demo")
  5 
  6 def demo1():
  7     print("demo1")

  運行結果:

In [1]: from TT import *

In [2]: demo()
demo

In [3]: demo1()
-----------------------------------------------------------------------
NameError                             Traceback (most recent call last)
<ipython-input-3-a8330644fa2e> in <module>()
----> 1 demo1()

NameError: name 'demo1' is not defined

In [4]: 

不加__all__示例:

 1 def demo():
  2 
  3     print("demo")
  4     
  5 def demo1():
  6     print("demo1")

  運行結果:

In [1]: from TT import *

In [2]: demo()
demo

In [3]: demo1()
demo1

包的導入方式

  概念:包含了幾個py文件....里面在創建一個__init__文件就是包

導入包中函數,以及模塊的方式:

  方式一:from 包名  import  模塊名

   使用時:模塊名.函數名()

  方式二:from 包名.模塊名  import 函數名

  使用時:函數名()

  方式三 :import  包名.模塊名      

   使用的時候   包名.模塊名.函數名()

  方式四:from  包名  import  *    

  前提是:將 __init__.py 文件中寫入__all__變量(寫入方式同模塊導入的寫入方式)  變量當中寫入哪個模塊則導入哪個模塊,不寫則什么都不導入

   使用時:模塊名.函數名()

  方式五:import 包名    

  前提是:在包里面的__init__.py   文件里寫入    from . import  模塊名   __init__.py里面導入哪個模塊     通過本方式就能使用哪個模塊

   使用時:模塊名.函數名()

  方式六:import 包名  

  Python2當中可以在__init__.py文件中寫入 Import 模塊名  通過import 包名 就可以導入__Init__.py文件中寫入的那個模塊名(此方法僅限python2)

   使用時:模塊名.函數名()

.pyc文件的介紹:

        導入會產生一個.pyc的字節碼文件,此文件是當第一次導入時python解釋器會將被導入的模塊預解釋成字節碼的文件,下次再導入時python解釋器則不會做預解釋而是直接拿.pyc文件使用,這樣就不會每次導入時做解釋的操作,節省時間,當修改模塊文件的內容時,python解釋器會根據.pyc文件和模塊的修改時間判斷有沒有對模塊做修改,如果模塊的修改時間比.pyc文件的晚說明模塊已經被修改  Python解釋器會將模塊重新解釋成.pyc文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM