日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

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

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍

發(fā)布時(shí)間:2023/12/10 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

調(diào)用同級(jí)目錄:

– src

|– mod.py

|– test.py

若在程序test.py中導(dǎo)入模塊mod, 則直接使用

import mod

from mod import *

調(diào)用子目錄下的模塊:

– src

|– mod.py

|– lib

| |– mod2.py

|– test.py

from lib.mod2 import *

import lib.mod2

調(diào)用上級(jí)目錄下的文件

目錄結(jié)構(gòu)如下:

– src

|– mod.py

|– lib

| |– mod2.py

|– sub

| |– test2.py

import sys

sys.path.append('C:\\test\\A\\C')

import mod

import lib.mod2

__init__.py

在python模塊的每一個(gè)包中,都有一個(gè)__init__.py文件(這個(gè)文件定義了包的屬性和方法)然后是一些模塊文件和子目錄,假如子目錄中也有__init__.py 那么它就是這個(gè)包的子包了。當(dāng)你將一個(gè)包作為模塊導(dǎo)入(比如從 xml 導(dǎo)入 dom )的時(shí)候,實(shí)際上導(dǎo)入了它的__init__.py 文件。

一個(gè)包是一個(gè)帶有特殊文件 __init__.py 的目錄。__init__.py 文件定義了包的屬性和方法。其實(shí)它可以什么也不定義;可以只是一個(gè)空文件,但是必須存在。如果 __init__.py 不存在,這個(gè)目錄就僅僅是一個(gè)目錄,而不是一個(gè)包,它就不能被導(dǎo)入或者包含其它的模塊和嵌套包。

__init__.py 中還有一個(gè)重要的變量,叫做__all__。

如果此時(shí)目錄如下

– src

|– mod.py

|– lib

| |– mod2.py

| |– mod3.py

| |– sub

| |– | |– mod3.py

我們有時(shí)會(huì)使出一招“全部導(dǎo)入”,也就是這樣:

from lib import *

這時(shí) import 就會(huì)把注冊(cè)在包__init__.py 文件中 __all__ 列表中的子模塊和子包導(dǎo)入到當(dāng)前作用域中來(lái)。比如:

#文件__init__.py

__all__ = ["mod2", "mod3", "sub"]

總結(jié):

對(duì)于其余路徑下載py文件,要想導(dǎo)入,先加到sys.path中,然后再導(dǎo)入。

__init__.py的作用:

package的標(biāo)識(shí),不能刪除

定義package中的__all__,用來(lái)模糊導(dǎo)入

編寫(xiě)Python代碼(不建議在__init__中寫(xiě)python模塊,可以在包中在創(chuàng)建另外的模塊來(lái)寫(xiě),盡量保證__init__.py簡(jiǎn)單)

總結(jié)

以上所述是小編給大家介紹的python基礎(chǔ)之包的導(dǎo)入和__init__.py的介紹,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

總結(jié)

以上是生活随笔為你收集整理的python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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