python模塊通過(guò)用python程序編寫的.py文件即可創(chuàng)建,通過(guò)from及import語(yǔ)句導(dǎo)入模塊來(lái)使用。
1 python模塊創(chuàng)建
1.1 python模塊定義
python模塊是以.py為后綴的python程序文件。
1.2 python模塊命名
python模塊名稱在導(dǎo)入模塊后變成變量名,所以模塊命名遵循變量命名規(guī)則。
python變量賦值時(shí),需用到變量名,變量命名需符合一定規(guī)則。
序號(hào) | 規(guī)則 | 描述 |
---|---|---|
1 | 書寫規(guī)則:字母或下劃線+任意字母或下劃線或數(shù)字 | 以字母或下劃線開(kāi)頭,之后只能接字母、下劃線、數(shù)字 |
2 | 區(qū)分大小寫 | 變量名S和s是兩個(gè)不同的變量 |
3 | 禁止用保留字做變量名 | 變量名不能和保留字相同 |
1.3 python擴(kuò)展模塊
使用外部語(yǔ)言(C、C++、Java)創(chuàng)建的python模塊,稱為擴(kuò)展模塊。
導(dǎo)入擴(kuò)展模塊同python文件模塊一樣,用import導(dǎo)入。
2 python模塊使用
python模塊首次導(dǎo)入,會(huì)執(zhí)行搜索、編譯(按需)、執(zhí)行三個(gè)步驟,然后保存在sys.modules字典中。
2.1 import導(dǎo)入模塊
用法
import module1 [as identifier1] (, module2 [as identifier2])
描述
python的import語(yǔ)句讀取整個(gè)模塊進(jìn)行導(dǎo)入,import是隱性賦值語(yǔ)句。
import module1:模塊名module1作用
作用 | 描述 |
---|---|
1 | 根據(jù)module1搜索模塊 |
2 | 將模塊對(duì)象賦值給module1 |
3 | 通過(guò)“module1.屬性”的方式訪問(wèn)模塊屬性 |
as identifier1:
NO | 描述 |
---|---|
1 | 通過(guò)as給模塊取別名,之后通過(guò)別名訪問(wèn)模塊對(duì)象屬性。 |
2 | 用as后,不可通過(guò)“模塊原名”訪問(wèn)模塊屬性。 |
3 | 用as后,模塊搜索路徑存放的鍵為模塊原名,而非別名。 |
module1, module2:
導(dǎo)入多個(gè)模塊,通過(guò)逗號(hào)“,”分隔。
示例
# mod_1.py
def mod1print(val):
print('在mod_1:{}'.format(val))
# mod_2.py
def mod2print(val):
print('在mod_2:{}'.format(val))
# import 模塊名,通過(guò)“模塊名.屬性”訪問(wèn)屬性
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> import mod_1
>>> import mod_2
>>> mod_1.mod1print(s)
在mod_1:梯閱線條
>>> mod_2.mod2print(s)
在mod_2:梯閱線條
# 模塊導(dǎo)入后存在sys.modules字典中,鍵為模塊名,值為模塊路徑
>>> import sys
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> sys.modules['mod_2']
'mod_2' from 'E:\\\\documents\\\\F盤\\\\mod_2.py'>
# 下面示例需重啟python idle后執(zhí)行
# 導(dǎo)入多個(gè)模塊用逗號(hào)“,”分隔,as模塊別名賦值模塊對(duì)象
>>> import os,sys
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> import mod_1 as md1,mod_2 as md2
>>> md1
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> md2
'mod_2' from 'E:\\\\documents\\\\F盤\\\\mod_2.py'>
# 通過(guò)“別名.屬性”訪問(wèn)模塊對(duì)象屬性
>>> md1.mod1print(s)
在mod_1:梯閱線條
>>> md2.mod2print(s)
在mod_2:梯閱線條
# 用as后,不可通過(guò)“模塊原名”訪問(wèn)模塊屬性
>>> mod_1.mod1print(s)
Traceback (most recent call last):
File "" , line 1, in
mod_1.mod1print(s)
NameError: name 'mod_1' is not defined
# 用as后,模塊搜索路徑存放的鍵為模塊原名,而非別名
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> sys.modules['md1']
Traceback (most recent call last):
File "" , line 1, in
sys.modules['md1']
KeyError: 'md1'
2.2 from導(dǎo)入模塊
用法
from module import var1 ([as iden1](,var2 [as iden2]))
描述
python的from語(yǔ)句導(dǎo)入模塊指定變量名。使用時(shí)直接訪問(wèn)變量名,無(wú)需加模塊名。
var1:變量名。
as iden1:給變量取別名,之后使用別名訪問(wèn)。
var1,var2:導(dǎo)入多個(gè)變量,使用逗號(hào)“,”分隔。
示例
# mod_1.py
def mod1print(val):
print('在mod1print:{}'.format(val))
def mod1echo(val):
print('在mod1echo:{}'.format(val))
# from 模塊名 import 變量名
>>> import os,sys
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> from mod_1 import mod1print
# from 導(dǎo)入模塊存放在sys.modules字典
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
# 直接訪問(wèn)變量名,不需加模塊名
>>> mod1print(s)
在mod1print:梯閱線條
# 不可訪問(wèn)未導(dǎo)入的變量
>>> mod_1.mod1echo(s)
Traceback (most recent call last):
File "" , line 1, in
mod_1.mod1echo(s)
NameError: name 'mod_1' is not defined
# 下面示例重啟python idle后執(zhí)行
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
# 導(dǎo)入多個(gè)變量,用逗號(hào)“,”分隔,as 變量別名賦值
>>> from mod_1 import mod1print as m1print,mod1echo as m1echo
# 通過(guò)變量別名訪問(wèn)模塊屬性
>>> m1print(s)
在mod1print:梯閱線條
>>> m1echo(s)
在mod1echo:梯閱線條
# 不可通過(guò)變量原名訪問(wèn)模塊屬性
>>> mod1echo(s)
Traceback (most recent call last):
File "" , line 1, in
mod1echo(s)
NameError: name 'mod1echo' is not defined
2.3 from *導(dǎo)入模塊
用法
from module import *
描述
import *:導(dǎo)入模塊的全部頂層(全局)變量,可以直接訪問(wèn)模塊屬性。
示例
# mod_1.py
def mod1print(val):
print('在mod1print:{}'.format(val))
def mod1echo(val):
print('在mod1echo:{}'.format(val))
def mod1show(val):
print('在mod1show:{}'.format(val))
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> from mod_1 import *
# import * 導(dǎo)入全部頂層變量,直接訪問(wèn)模塊屬性,不需模塊名。
>>> mod1print(s)
在mod1print:梯閱線條
>>> mod1echo(s)
在mod1echo:梯閱線條
>>> mod1show(s)
在mod1show:梯閱線條
-
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36281 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86377 -
import
+關(guān)注
關(guān)注
0文章
15瀏覽量
2061
發(fā)布評(píng)論請(qǐng)先 登錄
python模塊安裝方法
python教程之如何使用XlsxWriter模塊創(chuàng)建aexcel表格

python包、模塊和庫(kù)是什么
python創(chuàng)建多線程的兩種方法
python包模塊相對(duì)導(dǎo)入from和import介紹1
python包模塊相對(duì)導(dǎo)入from和import介紹2
簡(jiǎn)述python包模塊import和from及all
import模塊的導(dǎo)入方法
rom…import導(dǎo)入代碼介紹
如何實(shí)現(xiàn)__import__()動(dòng)態(tài)導(dǎo)入
Isort:自動(dòng)整理import的超實(shí)用工具教程

Isort:自動(dòng)整理 import 的超實(shí)用工具教程

Python import Hook 實(shí)現(xiàn)遠(yuǎn)程導(dǎo)入模塊

評(píng)論