1. 程式人生 > >Python記錄10:模組

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

'''

# import time
# # 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)