1. 程式人生 > 實用技巧 >淺談python垃圾回收機制

淺談python垃圾回收機制

目錄

模組

一:什麼是模組?

模組就是一個功能的集合體,不是用來直接執行,而是用來被匯入使用的

二:模組的三大來源

內建模組
第三方模組
自定義模組

三:模組分為四種類別

一個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)