Python記錄10:模組
'''
1. 什麼是模組
模組就一系列功能的集合體
模組有三種來源:
1. 內建的模組
2. 第三方的模組:pip install +模組名稱
3. 自定義模組
模組分為四個通用類別
1 使用python編寫的.py檔案
2 已被編譯為共享庫或DLL的C或C++擴充套件
3 把一系列模組組織到一起的資料夾(注:資料夾下有一個__init__.py檔案,該資料夾稱之為包)
4 使用C編寫並連結到python直譯器的內建模組
2. 為何要用模組
1. 使用內建模組與第三模組的好處是: 拿來主義,可以極大地提升開發效率
2. 自定義模組的好處:將程式各部分元件共用的功能放到一個模組裡,可以減少程式碼冗餘,提升程式的可維護性
3. 如何用模組
其餘筆記見run.py
'''
# # print(time)
#一 import匯入模組
# 首次匯入模組發生三件事:
# 1. 先建立一個模組的名稱空間
# 2. 執行模組對應的spam.py,將執行過程中產生的名字都丟到模組的名稱空間
# 3. 在當前執行檔案中拿到一個名字spam,該名字就是指向模組的名稱空間
# 注意:之後的匯入都是直接引用首次匯入的成果
# x=111
# import spam
# print(spam.money)
# print(spam.read1)
# print(spam.read2)
# print(spam.change)
# money=111111111111111111
# spam.read1()
# def read1():
# print('from run.py')
# spam.read2()
# money=111111
# spam.change()
# print(money)
# import spam as sm
# print(sm.money)
# import匯入模組的
# 優點:不會與當前執行檔案中的名字衝突
# 缺點:必須加上字首spam.
# import spam
# money=111111111111111111111111111111111111111111111
# print(money)
# print(spam.money)
# import os,time,spam
#二 from...import...匯入模組
# 首次匯入模組發生三件事:
# 1. 先建立一個模組的名稱空間
# 2. 執行模組對應的spam.py,將執行過程中產生的名字都丟到模組的名稱空間
# 3. 在當前執行檔案中拿到一個名字money,該名字就是指向模組的名稱空間中的那個money
# x=111
# money=222222222222222222
# from spam import money
#
# print(money)
# from...import...匯入模組的
# 優點:不用加上字首,程式碼更精簡
# 缺點:容易當前執行檔案中的名字衝突
# money=111111111
# from spam import money as m
# print(m)
# print(money)
# from spam import money,read1,read2,change
# print(money)
# print(read1)
# print(read2)
# print(change)
# money=222222222222222222
# read1()
# def read1():
# print('from run.py')
# read2()
#
# from spam import *
# print(money)
# print(read1)
# print(read2)
# print(change)
#查詢模組的搜尋路徑,優先順序如下:
# 1. 記憶體已經有的模組
# 2. 內建模組
# 3. sys.path:第一個值就是當前執行檔案所在的資料夾
# import sys
# print(sys.path)
# import spam
# import time
# import spam
# print(spam.money)
# time.sleep(10)
# import spam
# print(spam.money)
# import time
# print(time)
import sys
sys.path.append(r'D:\週末三期\day05\aaa')
import spam
print(spam.money)
# from aaa import spam
# print(spam.money)