自定義模組 random

2022-09-08 04:21:11 字數 1146 閱讀 5131

在指令碼方式執行時,__name__是固定的字串:__main__

在以模組方式被匯入時,__name__就是本模組的名字。

在自定義模組中對__name__進行判斷,決定是否執行可執行語句:開發階段,就執行,使用階段就不執行。

如果上面都找不到,就報錯。

通過動態修改sys.path的方式將自定義模組新增到sys.path中。

os.path.dirname():獲取某個路徑的父路徑。通常用於獲取當前模組的相對路徑

import sys

import os

第一種方式在使用其中成員時,必須使用模組名作為字首。不容易產生命名衝突。

第二種方式在使用其中成員時,不用使用模組名作為字首,直接使用成員名即可。但是容易產生命名衝突。在後定義的成員生效(把前面的覆蓋了。)

給成員起別名,避免名稱衝突。

from my_module import age as a

給模組起別名,目的簡化書寫。

import my_module as m

預設情況下,所有的成員都會被匯入。

__all__是乙個列表,用於表示本模組可以被外界使用的成員。元素是成員名的字串。

注意:__all__只是對from *** import *這種匯入方式生效。其餘的方式都不生效。

針對某個專案中的不同模組之間進行匯入,稱為相對匯入。

只有一種格式:

from 相對路徑 import ***

相對路徑:包含了點號的乙個相對路徑。

. 表示的是當前的路徑。

..表示的是父路徑。

...表示的是父路徑的父路徑。

# 相對匯入同專案下的模組

# from ..z import zz # 容易向外界暴露zz模組

from ..z.zz import *

# 不使用相對匯入的方式,匯入本專案中的模組

# 通過當前檔案的路徑找到z的路徑

import os

import sys

from zz import *

自定義模組

自定義模組 也就是我們自己寫的 1.配置模組說明檔案 npm init 就會生成乙個package.json的檔案 main index.js 我們的主檔案是index.js index.js是這個包的輸出檔案,即便刪除了package.json只要不改變index.js的檔名就沒事,一旦改了就會報...

自定義模組

匯入 拿工具箱 import import test test.func 1 避免寫重複 2 可以多次利用 3 拿來主義print locals import test print locals import test print test.name import test print test.f...

自定義模組

目錄為什麼要使用模組?人們常說的指令碼是什麼?模組的分類 2.import 3 from import 4.py檔案的兩種功能 目錄為什麼要使用模組?人們常說的指令碼是什麼?模組的分類 2.import 3 from import 4.py檔案的兩種功能 乙個函式封裝乙個功能,你使用的軟體可能就是由...