Python 【模塊】

A 什麼是模塊python

最高級別的程序組織單元(模塊什麼都能封裝)dom

模塊中,咱們不但能夠直接存放變量,還能存放函數,還能存放類函數

定義變量須要用賦值語句,
封裝函數須要用def語句,
封裝類須要用class語句,
但封裝模塊不須要任何語句(每一份單獨的Python代碼文件(後綴名是.py的文件)就是一個單獨的模塊)
——————————————————————————————————————————————
B 封裝模塊的目的
爲了把程序代碼和數據存放起來以便再次利用spa

使用模塊主要有兩種方式,3d

一種是本身創建模塊並使用,另一種是使用他人共享的模塊
——————————————————————————————————————————————
C 模塊相關的經常使用語句主要有3個code

C1 import 語句
目的
並非運行模塊中的執行語句,而是爲了利用模塊中已經封裝好的變量、函數、類blog

導入模塊
要使用模塊中的變量、函數、類,須要在使用時加上 模塊. 的格式ip

# 這是主程序main.py
import test    # 導入test模塊
print(test.a)  # 使用「模塊.變量」調用模塊中的變量
test.hi()      # 使用「模塊.函數()」調用模塊中的函數文檔

A = test.Go2() # 使用「變量 = 模塊.類()」實例化模塊中的類
print(A.a)     # 實例化後,再也不須要「模塊.」
A.do2()        # 實例化後,再也不須要「模塊.」
——————————————————————————————————pip

 1 # 【文件:story.py】
 2 
 3 sentence = '從前有座山,'
 4 
 5 def mountain():
 6     print('山裏有座廟,')
 7 
 8 class Temple:
 9     sentence = '廟裏有個老和尚,'
10     def reading(self):
11         print('在講一個長長的故事。')
12 
13 # 【文件:main.py】
14 
15 import story
16 
17 for i in range(10):
18     print(story.sentence)
19     story.mountain()
20     A = story.Temple()
21     print(A.sentence)
22     A.reading()
23     print()

C1.1 import…as…

1 import story as s
2 
3 for i in range(10):
4     print(s.sentence)
5     s.mountain()
6     A = s.Temple()
7     print(A.sentence)
8     A.reading()
9     print()

C1.2 同時導入多個模塊時,能夠用逗號隔開。
好比import a,b,c
同時導入「a.py,b.py,c.py」三個文件
########################################################################
C2 from … import … 語句

從模塊中導入一個指定的部分到當前模塊

1 # 【文件:test.py】
2 def hi():
3     print('函數「hi」已經運行!')
4 
5 # 【文件:main.py】
6 from test import hi  # 從模塊test中導入函數「hi」
7 hi()  # 使用函數「hi」時無需加上「模塊.」 前綴

C2.1同時導入多個指定內容,也能夠用逗號隔開
from xx模塊 import a,b,c
#################注 意 事 項 ##################################
對於from … import …語句要注意的是,沒有被寫在import後面的內容,將不會被導入
指定全部內容直接使用時,能夠寫成【from xx模塊 import *】的形式,*表明「模塊中全部的變量、函數、類」
通常不要直接使用【from xx模塊 import *】,由於塊.xx的調用形式能經過閱讀代碼一眼看出是在調用模塊中的變量/函數/方法,而去掉模塊.後代碼就不是那麼直觀了
###################################################################################################################################################

 1 【test.py】
 2 a = '我是模塊中的變量a'
 3 
 4 def hi():
 5     a = '我是函數裏的變量a'
 6     print('函數「hi」已經運行!')
 7 
 8 class Go2:
 9     a = '我是類2中的變量a'
10     def do2(self):
11         print('函數「do2」已經運行!')
12 
13 【main.py】
14 from test import a,hi,Go2
15 
16 print(a)  # 打印變量「a」
17 
18 hi()  # 調用函數「hi」
19 
20 A = Go2()  # 實例化「Go2」類  #print(Go2.a)
21 print(A.a)  # 打印實例屬性「a」
22 A.do2()  # 調用實例方法「do2」
23 
24 我是模塊中的變量a
25 函數「hi」已經運行!
26 我是類2中的變量a
27 函數「do2」已經運行!

C3 if __name__ == '__main__'
「程序的入口」

 

一大堆py文件組成一個程序的時候,爲了【指明】某個py文件是程序的運行入口
# 【文件:xx.py】

代碼塊 ①……

if __name__ == '__main__':
代碼塊 ②……

#當xx.py文件被直接運行時,代碼塊②將被運行」,
#xx.py文件做爲模塊是被其餘程序導入時,代碼塊②不被運行。

##########################################################################

使用他人的模塊
下載安裝第三方編寫的模塊的方式

#須要預裝python解釋器和pip
Windows用戶輸入pip install + 模塊名;
蘋果電腦輸入:pip3 install + 模塊名。

Python的內置模塊
內置模塊是用Python語言編寫的話,就能找到py文件
>>> import random
>>> random.__file__        #查詢內置模塊地址
'/usr/local/lib/python3.6/random.py'


如何自學模塊

閱讀官方文檔
直接百度搜索
使用案例作成筆記(函數和類方法有什麼做用)


dir()函數查看一個模塊,看看它裏面有什麼變量、函數、類、類方法

import random # 調用random模塊
print(dir(random)) #dir(random)

相關文章
相關標籤/搜索