Python入門學習-DAY15-模組

來源:互聯網
上載者:User

標籤:冗餘   程式   推薦   檔案的   匯入   就是   解釋   代碼冗餘   nbsp   

模組

1 什麼是模組
模組就是一系列功能的集合體
模組有三種來源
1. 內建的模組
2. 第三方的模組
3. 自訂模組
模組的格式:
1 使用python編寫的.py檔案
  2 已被編譯為共用庫或DLL的C或C++擴充
  3 把一系列模組組織到一起的檔案夾(註:檔案夾下有一個__init__.py檔案,該檔案夾稱之為包)
  4 使用C編寫並連結到python解譯器的內建模組

2 為何要用模組
1. 使用內建的或者第三方模組的好處是: 拿來主義,可以極大提升開發效率
2. 使用自訂模組的好處是: 可以減少代碼冗餘(抽取我們自己程式中要公用的一些功能定義成模組,然後程式的各部分組件都去模組中調用共用的功能)

3 如何用模組
大前提: 一定要區分開誰是執行檔案,誰是被匯入模組

 

import

 

x=1

# 檔案名稱是spam.py,模組名則是spam
# 首次匯入模組發生?件事
# 1. 會產生一個模組的名稱空間
# 2. 執行檔案spam.py,將執行過程中產生的名字都放到模組的名稱空間中
# 3. 在當前執行檔案的名稱空間中拿到一個模組名,該名字指向模組的名稱空間
# import spam

# 之後的匯入,都是直接引用第一次匯入的成果,不會重新執行檔案
# import spam
# import spam
# import spam
# import spam


# 在執行檔案中訪問模組名稱空間中名字的文法:模組名.名字
# import spam

# print(spam.x) # 指名道姓地跟spam要名字x,肯定不會與當前執行檔案中的名字衝突

# x # 向當前執行檔案的名稱空間要名字

# money=11111111111111111111111
# print(spam.money)
# print(spam.read1)
# print(spam.read2)
# print(spam.change)

# spam.read1()
# def read1():
# print(‘run.py --> read1‘)
# spam.read2()

# spam.change()
# print(spam.money)
# print(money)

# 總結import匯入模組:在使用時必須加上首碼:模組名.
# 優點: 指名道姓地向某一個名稱空間要名字,肯定不會與當前名稱空間中的名字衝突
# 缺點: 但凡應用模組中的名字都需要加首碼,不夠簡潔


# 一行匯入多個模組(不推薦)
# import spam,os,time

# 可以為模組起別名(注意:模組名應該全為小寫)
import spam as sm
print(sm.money)
print(sm.read1)

 

from .....import.....

# money=200

# 首次匯入模組發生3件事
# 1. 建立一個模組的名稱空間
# 2. 執行檔案spam.py,將執行過程中產生的名字都放到模組的名稱空間中
# 3. 在當前執行檔案中直接拿到一個名字,該名字就是執行模組中相對應的名字的

# from spam import money,read1,read2,change
# money=200
# print(money)

# read1=123
# read1()
# read2()

# change()
# print(money)

 

# 總結from...import...
# 優點: 使用時,無需再加首碼,更簡潔
# 缺點: 容易與當前名稱空間中的名字衝突

# *代表從被匯入模組中拿到所有名字(不推薦使用)
# from spam import money,read1,read2,change
# from spam import * # __all__ = [‘money‘,‘read1‘]
#
# print(money)
# print(read1)
# print(read2)
# print(change)

# 起別名
from spam import read1 as r1

r1()

 

Python入門學習-DAY15-模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.