前面我們學習了變數類型(整形,字串,列表,元組……等等)。然後也學習了函數類型,其實就是把一些變數結合起來,然後去實作一些功能。其實模組也是一樣的,模組就是把函數、變數等等結合起來,形成一個Python文件,那這個文件名字也就是模組的名字,可以這麼說模組就是Python程式碼的精華。
什麼是模組?
模組:就是一個python檔案當python檔案當作一個模組的時候,檔案名稱就是模組名稱,demo.py( demo就是模組名)作用:可以呼叫其他python檔案的程式碼,功能,可以更靈活的實作和使用了,加入各種效果
怎麼使用:我們透過import(關鍵字) 去導入模組
#Python中模組分三大類別:
1.內建模組
2.第三方模組
#3.自訂模組
#(2)第三方模組說明:
#內建模組:安裝Python之後自帶的模組,可以直接去使用,例如time,os,re,random……
注意:在使用的時候要去import導入
##例如:import time
說明:
#第三方模組不是Python自帶的,是需要去外部安裝到Python裡面的,這些模組是一些大佬寫的,我們可以去安裝使用,比如pygame,requests……等等.
例如: #這樣就下載完成了安裝:
pip -- python自帶的下載器install -- 下載
uninstall -- 卸載前提:pip 沒有設定python的環境變量的話,那麼這個配置就找不到所以下載python的時候要記得配置環境變量,python默認下載庫就是使用pip 如果python環境沒有設置好,pip就使用不了-->修復/重裝
建議:pycharm下載模組(首先選擇cmd下載其次在是pycharm)
方式:進入cmd,直接pip install 模組名稱
##透過(cdn)代理程式加速,下載第三方模組:
## pip相關指令:#下載模組
pip install 模組名稱##檢視模組
pip list卸載模組
pip uninstall 模組名稱#更新pip 有時候pip的版本太低新的函式庫升級不了
python -m pip install --upgrade pip -i
pip install 函式庫名稱--default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
(3 )自訂模組
顧名思義也就是自己去做的模組然後自己使用,當然了,對於我們初學者來說,我們自己寫的模組都是很普通的,那些第三方模組同樣也是個人寫的,但那些人都是大佬或一些團隊,我們還得再練習兩年半才行。
3.模組的使用
導入模組:
import 模組名稱
(import是導入的意思)
使用模組:
#import 模組名稱
模組名稱.函數名稱()
單一導入
from 模組名稱import 函數名稱/變數名稱
例如:from random import randint
#導入該模組的全部函數
#如果模組名稱太長不好記可以透過as給他取一個別名import 模組名as 別名######後面我們就可以直接去使用這個模組的別名了,例如:import random as r######r.random()##########4.自訂模組######我們可以自己去定義一個模組,然後在執行文件裡面導入直接使用,看範例:###from 模組名稱import *
注意:導入了之後我們就可以去直接使用這些函數,就不需要用模組名.函數名() 這種方式了,直接就函數名() 就行了,但是這種方式有一個很大的缺點,就是當我們去直接使用這些函數或者變量的名字的時候會有可能跟我們去定義的變數或函數的名字起衝突,出現覆蓋的情況,一般不建議使用這種方式
給模組取別名
這個是我自訂的一個模組,我把這個模組檔案放到與執行檔同一個目錄下面,當我們要用的時候就直接去導入就行了。
def fun(n): if n==1: return 1 return n*fun(n-1) a=99 def qj(): print('这个是我的模块')
就這樣很直接的導入
模組是一個py檔案的,是可以去執行的,當我們去導入一個模組的時候,其實系統已經把模組提前執行了一遍,然後再去執行主文件,但是我想讓模組的一些部分不去執行,這時候我就要透過一個方法去判斷這個是不是模組,如果是模組的話,那麼這部分的內容就不去執行
方法:
print(__name__) # 如果執行程式碼,結果輸出的是__main__的話,就說明這個檔案是執行檔,如果回傳的是一個模組名就說明這個是作為一個模組被使用
#模块代码 def fun(n): if n==1: return 1 return n*fun(n-1) print(__name__) a=99 def qj(): print('这个是我的模块')
#执行文件的代码 import demo print(__name__) print(demo.fun(4))
輸出結果:
#這裡是先輸出demo的,這個demo其實就是模組的名字(可以看出模組是先執行,再去執行主文件),而__main__是表示這個是執行文件,所以我們可以用這個方法去判斷一個文件是模組還是執行檔。
例如:
#模块代码 def fun(n): if n==1: return 1 return n*fun(n-1) if __name__=='__main__': print(123456)
當我去呼叫這個模組的時候,是不會輸出123456的,因為這個是模組的。
以上是Python模組是什麼及怎麼定義與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!