關(guān)于Python中模塊的簡介、定義與使用
前言:
今天就開始講Python中的模塊篇了,模塊是Python的重要組成部分,Python之所以可以寫出多種多樣的程序,其實(shí)跟模塊的靈活運(yùn)用是息息相關(guān)的,所以這一期我會介紹Python中的模塊,包括模塊的定義和使用。
1.什么是模塊
前面我們學(xué)習(xí)了變量類型(整形,字符串,列表,元組……等等)。然后也學(xué)習(xí)了函數(shù)類型,其實(shí)就是把一些變量結(jié)合起來,然后去實(shí)現(xiàn)一些功能。其實(shí)模塊也是一樣的,模塊就是把函數(shù)、變量等等結(jié)合起來,形成一個(gè)Python文件,那這個(gè)文件名字也就是模塊的名字,可以這么說模塊就是Python代碼的精華。
什么是模塊?
模塊:就是一個(gè)python文件 當(dāng)python文件作為一個(gè)模塊的時(shí)候,文件名就是模塊名,demo.py(demo就是模塊名)作用:可以調(diào)用其他python文件的代碼,功能,可以更靈活的實(shí)現(xiàn)和使用了,添加各種效果
怎么使用:我們通過import(關(guān)鍵字) 去導(dǎo)入模塊
2.模塊的分類
Python中模塊分三大類:
1.內(nèi)置模塊
2.第三方模塊
3.自定義模塊
(1)內(nèi)置模塊
說明:
內(nèi)置模塊:在安裝Python之后自帶的模塊,可以直接去使用,比如time,os,re,random……
注意:在使用的時(shí)候要去import導(dǎo)入
例如:import time
(2)第三方模塊
說明:
第三方模塊不是Python自帶的,是需要去外部安裝到Python里面的,這些模塊是一些大佬寫的,我們可以去安裝使用,比如pygame,requests……等等.
安裝:
pip -- python自帶的下載器
install -- 下載
uninstall -- 卸載前提:pip 沒有設(shè)置python的環(huán)境變量的話,那么這個(gè)配置就找不到 所以下載python的時(shí)候要記得配置環(huán)境變量,python默認(rèn)下載庫就是使用pip 如果python環(huán)境沒有設(shè)置好,pip就使用不了-->修復(fù)/重裝
建議:pycharm下載模塊(首先選擇cmd下載 其次在是pycharm)
方式:進(jìn)入cmd,直接pip install 模塊名
例如:
這樣就下載完成了
pip相關(guān)指令:
#下載模塊pip install 模塊名
#查看模塊pip list
#卸載模塊pip uninstall 模塊名
#更新pip 有時(shí)候pip的版本太低 新的庫升級不了python -m pip install --upgrade pip -i
#通過(cdn)代理加速,下載第三方模塊:pip install 庫名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
(3)自定義模塊
顧名思義也就是自己去做的模塊然后自己使用,當(dāng)然了,對于我們初學(xué)者來說,我們自己寫的模塊都是很普通的,那些第三方模塊同樣也是個(gè)人寫的,但那些人都是大佬或者一些團(tuán)隊(duì),我們還得再練習(xí)兩年半才行。
3.模塊的使用
導(dǎo)入模塊:
import 模塊名
(import是導(dǎo)入的意思)
使用模塊:
import 模塊名
模塊名.函數(shù)名()
單個(gè)導(dǎo)入
from 模塊名 import 函數(shù)名字/變量名字
例如:from random import randint
導(dǎo)入該模塊的全部函數(shù)
from 模塊名 import *
注意:導(dǎo)入了之后我們就可以去直接使用這些函數(shù),就不需要用模塊名.函數(shù)名() 這種方式了,直接就函數(shù)名() 就行了,但是這種方式有一個(gè)很大的缺點(diǎn),就是當(dāng)我們?nèi)ブ苯邮褂眠@些函數(shù)或者變量的名字的時(shí)候會有可能跟我們?nèi)ザx的變量或者函數(shù)的名字起沖突,出現(xiàn)覆蓋的情況,一般不建議使用這種方式
給模塊取別名
如果模塊名太長不好記 可以通過as給他取一個(gè)別名
import 模塊名 as 別名
后面我們就可以直接去使用這個(gè)模塊的別名了,比如:import random as r
r.random()
4.自定義模塊
我們可以自己去定義一個(gè)模塊,然后在執(zhí)行文件里面導(dǎo)入直接使用,看示例:
這個(gè)是我自定義的一個(gè)模塊,我把這個(gè)模塊文件放到與執(zhí)行文件同一個(gè)目錄下面,當(dāng)我們要用的時(shí)候就直接去導(dǎo)入就行了。
def fun(n): if n==1: return 1 return n*fun(n-1) a=99 def qj(): print('這個(gè)是我的模塊')
就這樣很直接的導(dǎo)入
5.模塊和執(zhí)行文件的判斷
模塊是一個(gè)py文件的,是可以去執(zhí)行的,當(dāng)我們?nèi)?dǎo)入一個(gè)模塊的時(shí)候,其實(shí)系統(tǒng)已經(jīng)把模塊提前執(zhí)行了一遍,然后再去執(zhí)行主文件,但是我想讓模塊的一些部分不去執(zhí)行,這時(shí)候我就要通過一種方法去判斷這個(gè)是不是模塊,如果是模塊的話,那么這一部分的內(nèi)容就不去執(zhí)行
方法:
print(__name__) # 如果運(yùn)行代碼,結(jié)果輸出的是__main__的話,就說明這個(gè)文件是執(zhí)行文件,如果返回的是一個(gè)模塊名就說明這個(gè)是作為一個(gè)模塊被使用
#模塊代碼 def fun(n): if n==1: return 1 return n*fun(n-1) print(__name__) a=99 def qj(): print('這個(gè)是我的模塊')
#執(zhí)行文件的代碼 import demo print(__name__) print(demo.fun(4))
輸出結(jié)果:
這里是先輸出demo的,這個(gè)demo其實(shí)就是模塊的名字(可以看出模塊是先執(zhí)行,再去執(zhí)行主文件),而__main__是表示這個(gè)是執(zhí)行文件,所以我們可以通過這種方法去判斷一個(gè)文件是模塊還是執(zhí)行文件。
例如:
#模塊代碼 def fun(n): if n==1: return 1 return n*fun(n-1) if __name__=='__main__': print(123456)
當(dāng)我去調(diào)用這個(gè)模塊的時(shí)候,是不會輸出123456的,因?yàn)檫@個(gè)是一個(gè)模塊的。
到此這篇關(guān)于關(guān)于Python中模塊的簡介、定義與使用的文章就介紹到這了,更多相關(guān)Python模塊定義與使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解
本文主要介紹了Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04基于python調(diào)用jenkins-cli實(shí)現(xiàn)快速發(fā)布
這篇文章主要介紹了基于python調(diào)用jenkins-cli實(shí)現(xiàn)快速發(fā)布,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08python運(yùn)用sklearn實(shí)現(xiàn)KNN分類算法
這篇文章主要為大家詳細(xì)介紹了python運(yùn)用sklearn實(shí)現(xiàn)KNN分類算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10一個(gè)非常簡單好用的Python圖形界面庫(PysimpleGUI)
這篇文章主要介紹了一個(gè)非常簡單好用的Python圖形界面庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12pandas讀取csv文件,分隔符參數(shù)sep的實(shí)例
今天小編就為大家分享一篇pandas讀取csv文件,分隔符參數(shù)sep的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12python實(shí)現(xiàn)sublime3的less編譯插件示例
這篇文章主要介紹了python實(shí)現(xiàn)sublime3的less編譯插件示例的相關(guān)資料2014-04-04