日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python包的中 _init _.py文件介绍

發(fā)布時(shí)間:2024/9/19 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python包的中 _init _.py文件介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python包的中 _init _.py文件介紹

我們新建python包時(shí)常常會(huì)看到一個(gè)__init _.py文件。

作用介紹:

? :這個(gè)文件是屬于python包的,這個(gè)文件用作于標(biāo)識(shí)python包,當(dāng)一個(gè)文件夾有這個(gè)__init _.py文件時(shí),python將把其當(dāng)成一個(gè)模塊包進(jìn)行管理。你打開(kāi)文件可以發(fā)現(xiàn)文件是空的。

? :這個(gè)文件可以設(shè)置變量控制模塊的模糊導(dǎo)入,如下:

我現(xiàn)在再包K里面有2個(gè).py文件,如下圖片所示:

文件PY1.py內(nèi)容如下:

def holle1():print('holle1')

文件PY2.py內(nèi)容如下:

def holle2():print('holle2')

文件__ init.py __內(nèi)容如下:

__all__ = ['PY2'] print('__init__')

現(xiàn)在我再另一個(gè)文件里面導(dǎo)入K包里面的全部模塊

from K import * PY2.holle2() PY1.holle1() #這里將拋出異常#輸出結(jié)果如下: '''__init__ #這里說(shuō)明了__init__.py被運(yùn)行了holle2這里拋出異常Traceback (most recent call last):......NameError: name 'PY1' is not defined '''

拋出異常的原因很簡(jiǎn)單,原因是因?yàn)槲以赺_ init __.py文件里面設(shè)置了變量 _all _ 這個(gè)變量,這個(gè)變量設(shè)置的是當(dāng)將包內(nèi)的全部模塊進(jìn)行導(dǎo)入時(shí),‘*’號(hào)將代表 _ all _變量里面的模塊名。并且這里導(dǎo)入的是PY2文件,并不是init _.py文件,但是文件還是運(yùn)行了。所以說(shuō)init文件就是包的一部分,不單單是標(biāo)識(shí)作用。

:當(dāng)成一個(gè)模塊來(lái)使用(不推薦)

現(xiàn)在我把_init _.py文件內(nèi)容更改成如下:

print('__init__') A = ['123']def InitFunction():print('This is the function of __init__.py')

其他文件中:

import K print(K.A) print(type(K)) K.InitFunction()

輸出結(jié)果如下:

__init__ ['123'] <class 'module'> This is the function of __init__.py

init_

[‘123’]
<class ‘module’>
This is the function of _ init_.py

總結(jié)

以上是生活随笔為你收集整理的python包的中 _init _.py文件介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。