python_模块
模塊的使用之import
# 1 什么是模塊?# 模塊就一系統(tǒng)功能的集合體,在python中,一個py文件就是一個模塊,比如module.py,其中模塊名module
#
# 2 使用模塊
#
# 2.1 import 導入模塊
# 首次導入模塊發(fā)生三件事
# 1、創(chuàng)建一個模塊的名稱空間
# 2、執(zhí)行模塊對應文件,將產(chǎn)生的名字存放于1中的名稱空間
# 3、在當前執(zhí)行文件中拿到一個模塊名,該模塊名指向1的名稱空間
x=1
def f1():
pass
# import spam
# 強調(diào):之后的導入會直接引用第一次導入的結(jié)果,不會重復執(zhí)行文件
import spam
import spam
import spam
import spam
import spam
print(spam)
print(spam.money)
spam.read1()
模塊中功能的執(zhí)行始終以模塊自己的名稱空間為準
read1=111111
print(spam.read1)
money=1111111111111
spam.read1()
read1=11111111111111111111111111
spam.read2()
money=1111111111111111
spam.change()
print(money)
spam.read1()
#3、為模塊起別名
import spam as sm
print(sm.money)
sm.read1()
engine=input('>>: ').strip()
if engine == 'mysql':
import mysql as db
elif engine == 'oracle':
import oracle as db
db.parse()
#4、一行導入多個模塊(不推薦使用)
# import spam,mysql,oracle
#推薦寫成多行
import spam
import mysql
import orcacle
?
模塊的使用之from ... import ...
# 首次導入模塊發(fā)生三件事 # 1、創(chuàng)建一個模塊的名稱空間 # 2、執(zhí)行模塊對應文件,將產(chǎn)生的名字存放于1中的名稱空間 # 提示:from 。。。 import。。與import前兩件事一模一樣 # 3、在當前名稱空間中直接拿到模塊中的名字,可以直接使用,不用加任何前綴import spam # spam.名字from spam import money,read1,read2,change print(money) read1() read2() change()import spam print(money)# 注意: # 1、同import,執(zhí)行模塊中的功能,始終以模塊的名稱空間為準 money=1111111111 change() print(money)# 2、from ... import 名字,拿到的名字可以不加前綴直接使用,使用起來更加方便 # 當問題是容易與當前執(zhí)行文件中相同的名字沖突 money=1111111111111111 print(money) read1=1111111 read1()# 起別名 from spam import money as m print(m)# 在一行導入多個 from spam import money,read1,read2from ... import * from spam import *print(money) print(read1) print(read2) print(change)from spam import * print(money) print(read1) print(read2)?
區(qū)分py文件的兩種用途
if __name__ == "__main__":文件被當做腳本執(zhí)行時執(zhí)行的代碼else:文件被當做模塊導入時執(zhí)行的代碼?
模塊的搜索路徑
import m1 m1.f1() # 模塊的查找順序是: # 1、內(nèi)存中已經(jīng)加載的模塊 # 2、內(nèi)置模塊 # 3、sys.path路徑中包含的模塊 import timeimport m1 m1.f1()time.sleep(15) import m1 m1.f1()import sys print('time' in sys.modules) import time time.sleep(2) print('time' in sys.modules)import sys sys.path.append(r'D:\code\SH_fullstack_s1\day14\dir1')import m1 m1.f1()# 強調(diào): # sys.path的第一個路徑是當前執(zhí)行文件所在的文件夾?
轉(zhuǎn)載于:https://www.cnblogs.com/qinxin1/p/10324194.html
總結(jié)
- 上一篇: HTTP与抓包
- 下一篇: dva.js在index。tsx中获取s