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

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

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

1. 代碼目錄

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

下面這個例子是網(wǎng)上整理的代碼,但是有些小改動,可以直接拿來就用。
看代碼結構:

在這里插入圖片描述

2. 每個目錄的代碼

parent 主目錄

  • main.py
import sys

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


print('-----開始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('-----開始main-----\n')

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

pack 包

a. __init__.py

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

b. config.py

run = 9999

c. mod.py

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

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

pack2 包

a. __init__.py

# Pack2 的 __init__.py

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

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

b. mod2_1.py

# 這里導入上一級目錄下的 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 作為主程序運行')
else:
    print('mod2_1 被另一個模塊調(diào)用')

c. mod_2.py

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

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

代碼:

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

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

相關文章

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

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

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

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

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

    Python的gevent框架的入門教程

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

    Python在畫圖時使用特殊符號的方法總結

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

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

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

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

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

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

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

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

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

    python簡單實現(xiàn)獲取當前時間

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

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

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

最新評論