欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?自定義包的實(shí)現(xiàn)示例

 更新時(shí)間:2024年05月13日 11:20:49   作者:yong1585855343  
如果Python的模塊過(guò)多,可能造成一定的混亂,這時(shí)可以通過(guò)Python包來(lái)管理模塊,本文主要介紹了python?自定義包的實(shí)現(xiàn)示例,感興趣的可以了解一下

1. 代碼目錄

創(chuàng)建自定義包的時(shí)候,原理是當(dāng) python 檢測(cè)到一個(gè)目錄下存在 __init__.py 文件時(shí),python 就會(huì)把它當(dāng)成一個(gè)模塊(module)。

下面這個(gè)例子是網(wǎng)上整理的代碼,但是有些小改動(dòng),可以直接拿來(lái)就用。
看代碼結(jié)構(gòu):

在這里插入圖片描述

2. 每個(gè)目錄的代碼

parent 主目錄

  • main.py
import sys

# 這一行需要放在最前面,也是最關(guān)鍵
# 將包含parent包的路徑添加進(jìn)系統(tǒng)路徑
sys.path.append(r"..")


print('-----開(kāi)始import-----\n')

import parent.pack2.mod2_1          # 第1種 引用方法
import parent.pack2.mod2_2 as p2m2  # 第2種 引用方法
from parent.pack.mod import *       # 第3種 引用方法

if __name__ == '__main__':
    print('-----開(kāi)始main-----\n')

    # 第1種 引用的調(diào)用方法
    parent.pack2.mod2_1.func()
    # 第2種 引用的調(diào)用方法
    p2m2.func()
    # 第3種 引用的調(diào)用方法
    func()
    
    #  import 就會(huì)把注冊(cè)在包 __init__.py 文件中 __all__ 列表中的子模塊和子包導(dǎo)入到當(dāng)前作用域中
    print('\npack2包中的模塊有:')
    print(parent.pack2.__all__)
  • __init__.py
if __name__ == '__main__':
    print('parent 作為主程序運(yùn)行')
else:
    print('parent 初始化')

pack 包

a. __init__.py

if __name__ == '__main__':
    print('作為主程序運(yùn)行')
else:
    print('Pack初始化')

b. config.py

run = 9999

c. mod.py

# mod
def func():
    print('pack.mod.func()')

if __name__ == '__main__':
    print('mod 作為主程序運(yùn)行')
else:
    print('mod 被另一個(gè)模塊調(diào)用')

pack2 包

a. __init__.py

# Pack2 的 __init__.py

# __all__ 用于當(dāng)前Pack2包是所包含的模塊
__all__ = ["mod2_1", "mod2_2", "mod2_3"]

if __name__ == '__main__':
    print('Pack2作為主程序運(yùn)行')
else:
    print('Pack2初始化')

b. mod2_1.py

# 這里導(dǎo)入上一級(jí)目錄下的 pack 下面的 config 文件
from parent.pack  import config

# mod2
def func():
    print('pack2.mod2_1.func()')
    print("config: " + str(config.run))

if __name__ == '__main__':
    print('mod2_1 作為主程序運(yùn)行')
else:
    print('mod2_1 被另一個(gè)模塊調(diào)用')

c. mod_2.py

# mod2
def func():
    print('pack2.mod2_2.func()')

if __name__ == '__main__':
    print('mod2_2 作為主程序運(yùn)行')
else:
    print('mod2_2 被另一個(gè)模塊調(diào)用')

代碼:

https://gitee.com/zhiyong47/vine/tree/master/effective_codes/parent

到此這篇關(guān)于python 自定義包的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python 自定義包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python入門(mén)之使用pandas分析excel數(shù)據(jù)

    Python入門(mén)之使用pandas分析excel數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于Python入門(mén)學(xué)習(xí)之使用pandas分析excel數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python多線程抽象編程模型詳解

    python多線程抽象編程模型詳解

    這篇文章主要為大家詳細(xì)介紹了python多線程抽象編程模型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python的gevent框架的入門(mén)教程

    Python的gevent框架的入門(mén)教程

    這篇文章主要介紹了Python的gevent框架的入門(mén)教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python在畫(huà)圖時(shí)使用特殊符號(hào)的方法總結(jié)

    Python在畫(huà)圖時(shí)使用特殊符號(hào)的方法總結(jié)

    在制作圖表時(shí),如果遇到需要利用特殊符號(hào)進(jìn)行表示時(shí)該怎么辦呢?不用慌,這篇文章為大家總結(jié)了python畫(huà)圖中使用各種特殊符號(hào)的方式,需要的可以參考一下
    2022-04-04
  • Python數(shù)據(jù)分析Pandas?Dataframe排序操作

    Python數(shù)據(jù)分析Pandas?Dataframe排序操作

    這篇文章主要介紹了Python數(shù)據(jù)分析Pandas?Dataframe排序操作,數(shù)據(jù)的排序是比較常用的操作,DataFrame?的排序分為兩種,一種是對(duì)索引進(jìn)行排序,另一種是對(duì)值進(jìn)行排序,接下來(lái)就分別都介紹一下,需要的小伙伴可以參考一下
    2022-05-05
  • Python實(shí)現(xiàn)數(shù)據(jù)集劃分(訓(xùn)練集和測(cè)試集)

    Python實(shí)現(xiàn)數(shù)據(jù)集劃分(訓(xùn)練集和測(cè)試集)

    這篇文章主要為大家詳細(xì)介紹了Python是如何實(shí)現(xiàn)數(shù)據(jù)集劃分的,分為訓(xùn)練集和測(cè)試集,文中的實(shí)現(xiàn)方法講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-05-05
  • Python tkinter 樹(shù)形列表控件(Treeview)的使用方法

    Python tkinter 樹(shù)形列表控件(Treeview)的使用方法

    這篇文章主要介紹了Python tkinter 樹(shù)形列表控件(Treeview)的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python實(shí)現(xiàn)帶GUI界面的手寫(xiě)數(shù)字識(shí)別

    Python實(shí)現(xiàn)帶GUI界面的手寫(xiě)數(shù)字識(shí)別

    這篇文章主要介紹了如何通過(guò)Python實(shí)現(xiàn)帶GUI界面的手寫(xiě)數(shù)字識(shí)別,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以了解一下
    2022-01-01
  • python簡(jiǎn)單實(shí)現(xiàn)獲取當(dāng)前時(shí)間

    python簡(jiǎn)單實(shí)現(xiàn)獲取當(dāng)前時(shí)間

    最近項(xiàng)目中經(jīng)常需要python去取當(dāng)前的時(shí)間,雖然不是很難,但是老是忘記,用一次丟一次,為了能夠更好的記住,我今天特意寫(xiě)下python 當(dāng)前時(shí)間這篇文章,如果你覺(jué)的對(duì)你有用的話,可以收藏下。
    2016-08-08
  • Python爬蟲(chóng)爬取網(wǎng)站圖片

    Python爬蟲(chóng)爬取網(wǎng)站圖片

    這篇文章主要介紹了Python爬蟲(chóng)爬取網(wǎng)站圖片,此次python3主要用requests,解析圖片網(wǎng)址主要用beautiful soup,可以基本完成爬取圖片功能,需要的朋友可以參考一下
    2022-01-01

最新評(píng)論