1. 程式人生 > 實用技巧 >自定義模組

自定義模組

1、自定義一個模組

匯入(拿工具箱):import

import test
test.func()

模組分類:

1、內建模組(標準庫):python直譯器自帶的.py檔案(模組)

2、第三方模組(各種大神寫的):需要額外下載的(併發程式設計)(www.pypi.org)

3、自定義模組(自己寫的):不需要額外下載

模組:

分模組的好處:

1、避免寫重複程式碼

2、可以多次利用

3、拿來主義

2、匯入發生的事情

2.1 當前的名稱空間中開闢一個新的空間(test)

2.2 將模組中所有的程式碼執行

2.3 通過模組名. 進行查詢函式(工具)

print(locals())
import test
print(locals())
import test
print(test.name)
import test
print(test.func())

錯誤示例:

import test.py
print(test.py.func())

3、取別名:

3.1 使用別名能夠使檔名更短

import test as t
print(t.name)

3.2 做一個相容性

msg = """
1.扳手
2.螺絲刀

"""
choose = input(msg)
if choose == "1":
import meet as t
elif choose == "2":
import test as t

t.func()

from ... import ...

from test import func
func()

import 和 from 的區別

import 把工具箱拿過來

缺點:佔用記憶體比較大

優點:不會和當前檔案定義的變數或者函式發生衝突

import test
name='123'
print(test.name)
print(name)

from:

缺點:會和當前檔案定義的變數或者函式發生衝突

from test import name
name = "123"
print(name)

解決衝突:

name = "123"
from test import name as n
print(name)
print(n)

優點:佔用記憶體比較小

from ... import * :把工具拿走,留下工具箱(不建議使用)

name = "123"
from test import *
print(name)  # pycharm飄紅不一定是報錯

all = ["可以被匯入的函式名和變數名"] :放在自定義模組裡

from test import *
print(func)
print(name)

模組的兩種用法:

1、指令碼(在cmd中執行python test.py)

2、模組(不使用或者匯入)

在當前模組中使用 name 就是"main"
當模組被匯入的時候 name 就是被匯入的模組名

匯入路徑:

當模組不在同一路徑時查詢相對路徑: from 資料夾名.資料夾名 import 模組名

當模組不在同一路徑時查詢絕對路徑:

from sys import path
path.insert(0, "絕對路徑")

自定義 > 內建 > 第三方