0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python導(dǎo)入包操作和本質(zhì)

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:Python都知道 ? 2023-09-12 17:41 ? 次閱讀

導(dǎo)入包操作和本質(zhì)

常見方式如下:

  • import a.aa.module_AA : 按模塊路徑導(dǎo)入在使用時,必須加完整名稱來引用. 比如:a.aa.module_AA.fun_AA()
  • from a.aa import module_AA: 按包路徑導(dǎo)入模塊在使用時,直接可以使用模塊名. 比如:module_AA.fun_AA()
  • from a.aa.module_AA import fun_AA照模塊路徑導(dǎo)入指定類or方法在使用時,直接可以使用函數(shù)名。比如:fun_AA()

注意事項(xiàng):

  • from package import item 這種語法中, item 可以是包、模塊,也可以是函數(shù)、類、變量(對照方式23)
  • import item1.item2 這種語法中, item 必須是包或模塊,不能是其他(對照方式1)

實(shí)操代碼

# 方式一: 按模塊路徑導(dǎo)入
import com.time.pause.capture2.module.a.aa.module_AA

print(com.time.pause.capture2.module.a.aa.module_AA.add(10, 20))

# 方式二: 按包路徑導(dǎo)入模塊
from com.time.pause.capture2.module.a.aa import module_AA

print(module_AA.add(10, 20))

# 方式三: 按照模塊路徑導(dǎo)入指定類or方法
from com.time.pause.capture2.module.a.aa.module_AA import add
add(10, 20)

import com.time.pause.capture2.module.a

導(dǎo)入包的本質(zhì)

其實(shí)是“導(dǎo)入了包的 __init__.py ”文件. 也就是說 import pack1 意味著執(zhí)行了包 pack1 下面的 __init__.py 文件. 這樣可以在 __init__.py 中批量導(dǎo)入我們需要的模塊,而不再需要一個個導(dǎo)入.

實(shí)操代碼: 測試包的 __init__.py 文件本質(zhì)用法a 包下的 __init__.py 文件添加如下內(nèi)容:

import turtle
import math

print("導(dǎo)入a包")

b 包下的 module_B1.py 文件中導(dǎo)入 a 包,添加代碼如下:

import com.time.pause.capture2.module.a

print(com.time.pause.capture2.module.a.math.pi)
# 如上測試我們可以看出python的設(shè)計(jì)者非常巧妙的通過__init__.py 文件將包轉(zhuǎn)成了模塊的操作

用 * 導(dǎo)入包

import * 這樣的語句理論上是希望文件系統(tǒng)找出包中所有的子模塊,然后導(dǎo)入它們. 盡管提供 import * 的方法,仍不建議在生產(chǎn)代碼中使用這種寫法 Python 解決方案是提供一個明確的包索引. 這個索引由 init .py 定義 all 變量,該變量為一個列表, 如上例 a包下的 __init__.py 中,可定義 __all__ = ["module_A","module_A2"]

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2728

    瀏覽量

    47615
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4344

    瀏覽量

    62812
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4809

    瀏覽量

    68825
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84882
收藏 人收藏

    評論

    相關(guān)推薦

    基于Python構(gòu)建的專門進(jìn)行數(shù)據(jù)操作和分析的開源軟件庫

    Pandas 是一個基于 Python 構(gòu)建的專門進(jìn)行數(shù)據(jù)操作和分析的開源軟件庫,可提供數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,進(jìn)行功能現(xiàn)強(qiáng)大、靈活且易于使用的數(shù)據(jù)分析和操作。Pandas 為熱門編程語言賦予了處理類似
    發(fā)表于 07-22 09:57 ?1165次閱讀

    什么是python、模塊和庫?

    名為 demo.py 的文件,文件內(nèi)容如下name="Python編程時光"print("導(dǎo)入成功")直接使用 import 語句就可以導(dǎo)入,導(dǎo)入之后,就可以
    發(fā)表于 03-09 16:48

    python常規(guī)與命名空間

    python常規(guī)與命名空間1. 常規(guī)包在 Python 3.3 之前或者說 Python 2 中,一個
    發(fā)表于 03-11 15:46

    python 導(dǎo)入的三個冷門知識點(diǎn)

    中使用 __all__ 來控制想要被其他模塊導(dǎo)入的變量。# profile.pyname='小明'age=18__all__=['name']打開 python console 驗(yàn)證一下>>
    發(fā)表于 03-14 16:33

    詳解python常規(guī)與命名空間

    python常規(guī)與命名空間 1. 常規(guī)Python 3.3 之前或者說 Python
    的頭像 發(fā)表于 03-11 15:46 ?3448次閱讀

    NETWORKX Python編程語言軟件概述及用途

    NetworkX 是一個 Python 編程語言軟件,可用于創(chuàng)建、操作和學(xué)習(xí)復(fù)雜圖形網(wǎng)絡(luò)的結(jié)構(gòu)、動態(tài)和功能。
    的頭像 發(fā)表于 07-01 11:30 ?1399次閱讀

    Python腳本集成到GUI工具

    本篇將此腳本進(jìn)行優(yōu)化,將集成到 Python 的 GUI 工具(Tkinter),并且可以將結(jié)果數(shù)據(jù)導(dǎo)入到 Excel 和 TXT 文件里。
    的頭像 發(fā)表于 02-15 16:40 ?1169次閱讀

    python模塊相對導(dǎo)入from和import介紹1

    文件**init**.py下,python通過import module導(dǎo)入模塊時,先搜索程序運(yùn)行主目錄。 程序運(yùn)行主目錄為運(yùn)行的py文件所在目錄,而不是執(zhí)行python.e
    的頭像 發(fā)表于 02-21 14:15 ?1051次閱讀

    簡述python模塊import和from及all

    python指定導(dǎo)入目錄路徑,稱為導(dǎo)入。 通過import和from導(dǎo)入模塊。
    的頭像 發(fā)表于 02-21 14:20 ?1269次閱讀

    python字符串序列操作和不可變性

    初識python字符串序列操作和不可變性。python字符串序列操作為序列通用操作python
    的頭像 發(fā)表于 02-23 15:01 ?893次閱讀

    import模塊的導(dǎo)入方法

    : 一般通過 import 語句實(shí)現(xiàn)模塊的導(dǎo)入和使用, import 本質(zhì)上是使用了內(nèi)置函數(shù) __import__() 當(dāng)我們 通過 import 導(dǎo)入一個模塊時,python解釋器進(jìn)
    的頭像 發(fā)表于 09-11 17:31 ?1259次閱讀

    如何在Python中使用Scapy進(jìn)行抓操作

    文章將介紹如何使用 Python 來進(jìn)行簡單的抓操作。 2. Python 中的抓庫 在 Pytho
    的頭像 發(fā)表于 11-01 14:47 ?4432次閱讀

    python如何導(dǎo)入模塊

    Python是一種強(qiáng)大的編程語言,它支持模塊化編程,使得開發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊。模塊是一個包含函數(shù)、類和變量等定義的文件,我們可以使用import語句將這些模塊導(dǎo)入到我們的程序中
    的頭像 發(fā)表于 11-22 14:46 ?984次閱讀

    Python怎么導(dǎo)入math模板

    Python中使用math模塊需要先導(dǎo)入該模塊。math模塊提供了許多數(shù)學(xué)函數(shù)和數(shù)值常量,可以在數(shù)學(xué)計(jì)算和統(tǒng)計(jì)分析等方面派上用場。下面將詳細(xì)介紹如何導(dǎo)入math模塊以及如何使用它的各種功能。 要使
    的頭像 發(fā)表于 11-22 14:49 ?2457次閱讀

    如何用import導(dǎo)入一個

    Python中,import語句用于導(dǎo)入代碼所需的模塊或。模塊是Python代碼的集合,而是包含模塊和其他
    的頭像 發(fā)表于 11-22 14:59 ?1196次閱讀