本篇文章給大家?guī)砹岁P(guān)于python的相關(guān)知識,其中主要介紹了關(guān)于模塊化編程和第三方模塊安裝的相關(guān)問題,還包括了Python中的包等內(nèi)容,下面一起來看一下,希望對大家有幫助。
推薦學習:python視頻教程
模塊化編程
1.什么叫模塊(Modules)?
模塊與函數(shù)的關(guān)系一個模塊中可以包含N多個函數(shù);
在Python中一個擴展名為.py的文件就是一個模塊;
模塊中含有類、函數(shù)和語句;
一個程序項目由N個模塊組成;
使用模塊的好處:
方便其他程序和腳本的導入并使用
避免函數(shù)名和變量名沖突(兩個模塊有相同的變量名不沖突)
提高代碼的可維護性
提高代碼的可重用性
2.自定義模塊
創(chuàng)建模塊:
新建一個.py文件,名稱不要與Python自帶的標準模塊名稱相同
導入模塊:
第一種:import 模塊名稱 [as 別名]
第二種:from 模塊名稱 import 函數(shù)/變量/類
第一種
#第一種導入方式 import math print(id(math)) print(type(math)) print(math) print(dir(math)) #查看math中的屬性方法 print('--------------------------------------') print(math.pi) print(math.pow(2,5)) print(math.ceil(9.01)) print(math.floor(9.999))
第二種
#第二種導入方式 只導入模塊中指定的一部分 from math import pi print(pi) print(pow(2,3)) from math import pow print(pow(2,3))
同樣的,導入自己寫的模塊也是一樣的方法。
3.以主程序的形式執(zhí)行
有時候我們在調(diào)用其他模塊的內(nèi)容的時候,由于在其他模塊的定義中會輸出一些語句,導致在我們的當前模塊輸出內(nèi)容時,也會輸出調(diào)用模塊的輸出內(nèi)容,這時候,我們可以在所調(diào)用的模塊輸出前加條件:
if __name__=='__main__': pass
只有這個模塊為主程序運行時,才會執(zhí)行pass
4.python中的包
包:是一個分層次的目錄結(jié)構(gòu),它將一組功能相近的模塊組織在一起。
作用:代碼規(guī)范、避免模塊名稱沖突(不同包中不同模塊模塊名可以相同)
包與目錄的區(qū)別:
包含__init__.py文件的目錄稱為包
目錄通常不包含__init__.py文件
包的導入:
import 包名.模塊名
import pagekge.module_A print(pagekge.moudle_A.a)#調(diào)用一個包里的一個模塊的一個屬性或函數(shù) import pagekge.module_A as mm #取小名 print(mm.a)
總結(jié)注意:
使用import開頭導入方式只能導入包名或模塊名
使用from…import導入方式可以導入包、模塊、函數(shù)、變量
5.Python中常用的內(nèi)置模塊
import sys print(sys.getsizeof(24)) print(sys.getsizeof(99)) print(sys.getsizeof(True)) print(sys.getsizeof(False)) import time print(time.time()) #輸出秒 print(time.localtime(time.time())) #輸出當前時間 import urllib.request #與爬蟲有關(guān)的 print(urllib.request.urlopen('http://www.baidu.com').read()) #讀取百度網(wǎng)址
6.第三方模塊的安裝及使用
Python的強大離不開第三方模塊。有很多人寫了很多第三方模塊實現(xiàn)了很多功能,而我們只需安裝就可使用。
安裝
pip install 模塊名
在線安裝方式
以安裝schedule模塊為例:
第一步:windows徽標鍵+R調(diào)出窗口,輸入cmd,點擊確定
第二步:輸入pip install+要安裝的模塊名稱,按回車鍵
第三步:輸入python,回車進入python的交互式程序,輸入 import +模塊名,回車,如果沒有報錯則安裝成功!
使用
import 模塊名
import scheduleimport timedef job(): print('666666')schedule.every(3).seconds.do(job)while True: schedule.run_pending() #檢測job的時間到了沒有 time.sleep(1)
推薦學習:python視頻教程