python導入模塊


1、模塊的定義:
模塊定義:用來邏輯上組織python代碼(變量、函數、類、邏輯;目的是:實現一個功能),本質就是.py結尾的python文件。

補充:
包的定義:用來從邏輯組織模塊的,本質就是一個目錄(必須帶有一個__init__.py文件)
2、導入方法:

導入模塊的方法:
1.import module_name 導入一個模塊
使用的時候需要加上前綴module_name.name
2.import module_name,module2_name 導入多個模塊
3.from module_name import * 導入module_name模塊里邊的所有變量,不建議使用!
4.from module_name import name 只導入module_name里邊的name解釋了一遍。
使用的時候直接 name 調用即可
import 和from 的區別
1.import 的時候 module_name.logger()
2.from 的時候 logger() 直接執行;from的時候等於把所有代碼都復制了一份,執行一下。

解釋器:做的事就是指定一個變量 並指向一個內存地址,將代碼內容放在了內存地址里邊。

導入包的方法:
import 包的名字

  多級目錄導入方法:
  查看當前路徑:
  import sys
  sys.path
  查找父及目錄
  import os
  os.path.abspath(__file__)
  abspath() 當前文件的絕對路徑
  __file__ 當前文件的文件名
  os.path.dirname(os.path.abspath(__file__))
  dirname() 獲取目錄名
  os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  路徑加入
  sys.path.append() 這樣會把路徑加入到python系統路徑列表的最后,不利於快速查找。
  sys.path.insert() 這樣就會把路徑加入到python系統路徑列表的最前邊。
  例子:
  import sys,os
  print(sys.path)
  a = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  sys.path.insert(a)
  print(sys.path)
  from xxx import xxx

3、import本質(路徑搜索和搜索路徑)

  導入模塊的本質: 就是把python文件解釋一遍
  分析:import module_name - - -》就是要解釋module_name.py- - -》首先要找到module_name.py的位置- - -》查找系統路徑sys.path,當前路徑優先。

  導入包的本質:就是執行該包下的__init__.py文件

  導入包下邊的test1.py文件
  1.修改__init__.py文件,導入包下邊的py文件
  from . imprt test1
  #import test1
  2.在py文件中導入包下邊的模塊test1.py文件

4、導入優化
例如:
優化前:
    module_test.py
            def test():
                print ("in the test!")
        test.py
            import module_test
            def logger():
                module_test.test()
                print("in the logger!")
            def search():
                module_test.test()
                print("in the search!")
View Code 
    優化后:
 module_test.py
            def test():
                print ("in the test!")
        test.py
            from module_test import test
            def logger():
                test()
                print("in the logger!")
            def search():
                test()
                print("in the search!")
View Code
    注意:
如果導入模塊的方法和目前環境中有沖突,導入的時候可以設置別名:
from module_test import test as test01


免責聲明!

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



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