python包的中 _init _.py文件介绍
生活随笔
收集整理的這篇文章主要介紹了
python包的中 _init _.py文件介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python包的中 _init _.py文件介紹
我們新建python包時常常會看到一個__init _.py文件。
作用介紹:
? 一:這個文件是屬于python包的,這個文件用作于標識python包,當一個文件夾有這個__init _.py文件時,python將把其當成一個模塊包進行管理。你打開文件可以發現文件是空的。
? 二:這個文件可以設置變量控制模塊的模糊導入,如下:
我現在再包K里面有2個.py文件,如下圖片所示:
文件PY1.py內容如下:
def holle1():print('holle1')文件PY2.py內容如下:
def holle2():print('holle2')文件__ init.py __內容如下:
__all__ = ['PY2'] print('__init__')現在我再另一個文件里面導入K包里面的全部模塊
from K import * PY2.holle2() PY1.holle1() #這里將拋出異常#輸出結果如下: '''__init__ #這里說明了__init__.py被運行了holle2這里拋出異常Traceback (most recent call last):......NameError: name 'PY1' is not defined '''拋出異常的原因很簡單,原因是因為我在__ init __.py文件里面設置了變量 _all _ 這個變量,這個變量設置的是當將包內的全部模塊進行導入時,‘*’號將代表 _ all _變量里面的模塊名。并且這里導入的是PY2文件,并不是init _.py文件,但是文件還是運行了。所以說init文件就是包的一部分,不單單是標識作用。
三:當成一個模塊來使用(不推薦)
現在我把_init _.py文件內容更改成如下:
print('__init__') A = ['123']def InitFunction():print('This is the function of __init__.py')其他文件中:
import K print(K.A) print(type(K)) K.InitFunction()輸出結果如下:
__init__ ['123'] <class 'module'> This is the function of __init__.pyinit_
[‘123’]
<class ‘module’>
This is the function of _ init_.py
總結
以上是生活随笔為你收集整理的python包的中 _init _.py文件介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 16 Pro概念图曝光 网
- 下一篇: Redmi K70E关键规格曝光 搭载天