python导入同一文件夹下的类_python自定义模块
模塊的引入方式:
1.import 模塊名:導入模塊中的所有內容(引入多個用逗號分隔)
import random,time
2.from 模塊名 import 函數名1,函數名2...
導入部分模塊
(導入部分的話直接使用)
3.from 模塊名 import *
導入所有,有約束
需要在__init__.py文件中添加屬性:
__all__ =[ "函數1","函數2"...... ]
引入自定義模塊
**第一種**,直接 import
這里有個大前提,就是你的py執行文件和模塊同屬于同個目錄(父級目錄)
**第二種**,通過sys模塊導入自定義模塊的path
如果執行文件和模塊不在同一目錄,這時候直接import是找不到自定義模塊的
sys模塊是python內置的,因此我們導入自定義模塊的步驟如下:
先導入sys模塊
然后通過sys.path.append(path) 函數來導入自定義模塊所在的目錄
導入自定義模塊。
注意:相同級別的導入,如果用sys拼接路徑的話,只需要到目錄,而不是py文件,然后直接import導入即可!!
**第三種**:
venv文件下--》lib--》site-packages--》新建文件夾--》存入模塊
導入方式:
import 文件夾.模塊
文件夾.模塊.屬性(方法)
**第四種**
動態導入:
import sys
sys.path.insert(0,r"C:UsersAdministratorDesktop")
print(sys.path)
__import__("hi.py")#導入的是包名,然后再通過from 包名 import 模塊名
包
通常包總是一個目錄,可以使用import導入包,或者from + import來導入包中的部分模塊。
包目錄下為首的一個文件便是 __init__.py。然后是一些模塊文件和子目錄,假如子目錄中也有 __init__.py 那么它就是這個包的子包了。
在創建許許多多模塊后,我們可能希望將某些功能相近的文件組織在同一文件夾下,這里就需要運用包的概念了。
包對應于文件夾,使用包的方式跟模塊也類似,唯一需要注意的是,當文件夾當作包使用時,文件夾需要包含__init__.py文件,主要是為了避免將文件夾名當作普通的字符串。__init__.py的內容可以為空,一般用來進行包的某些初始化工作或者設置__all__值,__all__是在from package-name import *這語句使用的,全部導出定義過的模塊。
**__init__.py的主要作用是:**
1. Python中package的標識,不能刪除
2. 定義__all__用來模糊導入(from package-name import *)
3. 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創建另外的模塊來寫,盡量保證__init__.py簡單)
**特點:**
python包是:
包是一個有層次的文件目錄結構,它定義了由n個模塊或n個子包組成的python應用程序執行環境。
通俗一點:包是一個包含__init__.py 文件的目錄,該目錄下一定得有這個__init__.py文件和其它模塊或子包。
包將有聯系的模塊組織在一起,即放到同一個文件夾下,并且在這個文件夾創建一個名字為__init__.py 文件,那么這個文件夾就稱之為包有效避免模塊名稱沖突問題,讓應用組織結構更加清晰
__init__.py 控制著包的導入行為
__init__.py為空僅僅是把這個包導入,不會導入包中的模塊
__all__在__init__.py文件中,定義一個__all__變量,它控制著 from 包名 import *時導入的模塊
總結
以上是生活随笔為你收集整理的python导入同一文件夹下的类_python自定义模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opengl 深度详解_一步步学Open
- 下一篇: 计算机课具体任务驱动,计算机基础课程的任