一般使用import和from...import...導(dǎo)入模塊。
以下述spam.py內(nèi)的文件代碼為例。
'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# spam.py
print('from the spam.py')
money = 1000
def read1():
print('spam模塊:', money)
def read2():
print('spam模塊')
read1()
def change():
global money
money = 0
一、import 模塊名
# run.py
import spam # from the spam.py
import spam
import首次導(dǎo)入模塊發(fā)生了3件事:
- 以模塊為準(zhǔn)創(chuàng)造一個(gè)模塊的名稱(chēng)空間
- 執(zhí)行模塊對(duì)應(yīng)的文件,將執(zhí)行過(guò)程中產(chǎn)生的名字都丟到模塊的名稱(chēng)空間
- 在當(dāng)前執(zhí)行文件中拿到一個(gè)模塊名
模塊的重復(fù)導(dǎo)入會(huì)直接飲用之前創(chuàng)造好的結(jié)果,不會(huì)重復(fù)執(zhí)行模塊的文件,即重復(fù)導(dǎo)入會(huì)發(fā)生:spam=spam=模塊名稱(chēng)空間的內(nèi)存地址
'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# run.py
import spam as sm
money = 111111
sm.money
sm.read1() # 'spam模塊:1000'
sm.read2
sm.change()
print(money) # 1000
導(dǎo)入多個(gè)模塊
import spam, time, os
# 推薦使用下述方式
import spam
import time
import os
二、from 模塊名 import 具體的功能
# run.py
from spam import money
money = 10
print(money) # 10
from...import...首次導(dǎo)入模塊發(fā)生了3件事:
- 以模塊為準(zhǔn)創(chuàng)造一個(gè)模塊的名稱(chēng)空間
- 執(zhí)行模塊對(duì)應(yīng)的文件,將執(zhí)行過(guò)程中產(chǎn)生的名字都丟到模塊的名稱(chēng)空間
- 在當(dāng)前執(zhí)行文件的名稱(chēng)空間中拿到一個(gè)名字,該名字直接指向模塊中的某一個(gè)名字,意味著可以不用加任何前綴而直接使用
- 優(yōu)點(diǎn):不用加前綴,代碼更加精簡(jiǎn)
- 缺點(diǎn):容易與當(dāng)前執(zhí)行文件中名稱(chēng)空間中的名字沖突
導(dǎo)入文件內(nèi)所有的功能:
'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
# spam.py
__all__ = ['money', 'read1'] # 只允許導(dǎo)入'money'和'read1'
# run.py
from spam import * # 導(dǎo)入spam.py內(nèi)的所有功能,但會(huì)受限制于__all__
三、import和from...import...的異同
相同點(diǎn):
- 兩者都會(huì)執(zhí)行模塊對(duì)應(yīng)的文件,兩者都會(huì)產(chǎn)生模塊的名稱(chēng)空間
- 兩者調(diào)用功能時(shí),需要跑到定義時(shí)尋找作用域關(guān)系,與調(diào)用位置無(wú)關(guān)
不同點(diǎn)
- import需要加前綴;from...import...不需要加前綴
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
