淺談python垃圾回收機制
阿新 • • 發佈:2020-07-23
目錄
模組
一:什麼是模組?
模組就是一個功能的集合體,不是用來直接執行,而是用來被匯入使用的
二:模組的三大來源
內建模組
第三方模組
自定義模組
三:模組分為四種類別
一個py檔案就是一個模組
一個資料夾也是一個模組(包)
已被編譯為共享庫或DLL的C或C++擴充套件
使用C編寫並連結到python直譯器的內建模組
四:為什麼要用模組?
使用別人的模組:提升開發效率
自定義模組:別人功能不夠用了,需要自己寫,或者不符合業務邏輯
五:如何自定義模組?
# spam.py 這個模組是spam
print('from the spam.py')
money = 10000
def read1():
print("spam模組:", money)
def read2():
print("spam模組")
read1()
def change():
golbal money
money = 0
六:匯入模組
# 這個檔名是test.py,模組名則是spam x = 11 import spam # 首次匯入spam模組 # 觸發被匯入模組的執行,產生一個模組的名稱空間,把模組中的名字放進去,會在當前執行檔案中得到一個名字span,該名字是指向被匯入模組的名稱空間 # 多次或者重複匯入,名字spam直接引用首次匯入的名稱空間,不會再執行模組內的程式碼 import spam import spam money = 1000 spam.change() spam.read1() # spam模組: 10000 print(money) # 1000 def read1(): print("run test.py---read1") read1() #run test.py---read1
一:一行匯入多個模組
import spam,m1,m2,m4 # 這個是不推薦的
二:給匯入模組起一個別名
import spam as sm
# mysql.py
def sql_query():
print("from mysql query")
# sqllit.py
def sql_query():
print('from sqlit query')
query_sql.py db_type = input(">>>").strip() if db_type == mysql: import mysql as db elif db_type == 'sqllite': import sqlite import db db.sql_query() #
# 檔名是spam模組,模組名是spam
x = 111
from spam import money,read1,read2
from spam import money,read1,read2
money = 111 # 覆蓋了匯入的spam模組的money屬性
print(money) # 111
# 一行匯入多個名字
from spam import money,read1
# 為匯入模組起別名
from spam import money as m
print(m)
# 把模組內的所以屬性匯入進來
from spam import *
print(money)
print(read1)
print(read2)
print(change)