https://m.toutiaocdn.com/i6865144763914387979/?app=news_article×tamp=1598441717&use_new_style=1&req_id=202008261935170101290421370508F865&group_id=6865144763914387979
相信已經(jīng)有很多Python初學(xué)者都知曉Python具備強(qiáng)大的庫(包/模塊)支持,不過在具體使用時對庫、包、模塊還不是特別清晰。因此,我做了一些歸納總結(jié),特此分享給需要的朋友們。
本文分享內(nèi)容的目錄如下:
0. 前言
1. 基本概念(函數(shù)、類、模塊、包、庫)
2. Python庫示例說明(示例包文件目錄結(jié)構(gòu)及說明、示例模塊內(nèi)容展示及說明)
3. Python庫的導(dǎo)入說明(五種)
4. Python庫的使用說明
--4.1 Python內(nèi)置函數(shù)使用
--4.2 Python標(biāo)準(zhǔn)庫使用
--4.3 Python第三方庫使用
5. 自定義Python庫創(chuàng)建和使用
結(jié)束語
限于篇幅,前一篇文章已經(jīng)介紹上面的第0章-第3章,本文接著介紹第4章。剩下的第5、6章在接下來介紹。
本文開發(fā)環(huán)境為:
- Windows 7 64-bit
- Python 3.8.5 64-bit。
- IDLE (Python 3.8.5 64-bit)
詳見前一篇文章中的第1章內(nèi)容。
詳見前一篇文章中的第2章內(nèi)容。
詳見前一篇文章中的第3章內(nèi)容。
Python自帶的內(nèi)置函數(shù),無需導(dǎo)入即可直接使用。示例如下:
# 直接使用內(nèi)置函數(shù)abs()取絕對值,如取-2的絕對值 >>> abs(-2) 2 >>> # 直接使用內(nèi)置函數(shù)help()查看幫助信息,如查看math模塊下內(nèi)置的sin函數(shù)的幫助信息 >>> help('math.sin') Help on built-in function sin in math: math.sin = sin(x, /) Return the sine of x (measured in radians). >>>
Python自帶的標(biāo)準(zhǔn)庫(包/模塊)無需安裝,只需先通過import方法導(dǎo)入后即可使用。有如下幾種使用場景:
以導(dǎo)入Python標(biāo)準(zhǔn)庫tkinter包,然后訪問使用該包中的相關(guān)代碼元素(如變量、函數(shù)、類和類方法等)為例說明。
(一)使用導(dǎo)入方式一示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter >>> import tkinter >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中TkVersion變量,查看Tk的版本號 >>> tkinter.TkVersion 8.6 >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中Tcl()函數(shù) >>> tkinter.Tcl() <tkinter.Tk object .> >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中Tk類的構(gòu)造方法,創(chuàng)建一個Tk對象(實(shí)例)root,即Tkinter主窗口。 >>> root = tkinter.Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中Tk類的title()方法,來為root設(shè)置窗口標(biāo)題 >>> root.title('新窗口標(biāo)題') '' # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口的窗口標(biāo)題已經(jīng)更改為了“新窗口標(biāo)題”。 >>>
(二)使用導(dǎo)入方式二示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter別名為tk >>> import tkinter as tk >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包(別名tk)中TkVersion變量,查看Tk的版本號 >>> tk.TkVersion 8.6 >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包(別名tk)中Tcl()函數(shù) >>> tk.Tcl() <tkinter.Tk object .> >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包(別名tk)中Tk類的構(gòu)造方法,創(chuàng)建一個Tk對象(實(shí)例)root,即Tkinter主窗口。 >>> root = tk.Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包(別名tk)中Tk類的title()方法,來為root設(shè)置窗口標(biāo)題 >>> root.title('新窗口標(biāo)題') '' # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口的窗口標(biāo)題已經(jīng)更改為了“新窗口標(biāo)題”。 >>>
(三)使用導(dǎo)入方式三示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter中指定的代碼元素 >>> from tkinter import TkVersion, Tcl, Tk >>> # 直接使用代碼元素:tkinter包中的TkVersion變量,查看Tk的版本號 >>> TkVersion 8.6 >>> # 直接使用代碼元素:tkinter包中的Tcl()函數(shù) >>> Tcl() <tkinter.Tk object .> >>> # 直接使用代碼元素(tkinter包中Tk類)的構(gòu)造方法 # 創(chuàng)建一個Tk對象(實(shí)例)root,即Tkinter主窗口。 >>> root = Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 直接使用代碼元素(tkinter包中Tk類)的title()方法,來為root設(shè)置窗口標(biāo)題 >>> root.title('新窗口標(biāo)題') '' # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口的窗口標(biāo)題已經(jīng)更改為了“新窗口標(biāo)題”。 >>>
(四)使用導(dǎo)入方式四示例:
tkinter包下同名模塊下有Button類,而在tkinter.ttk模塊下也有Button類,如果采用導(dǎo)入方式三同時導(dǎo)入這兩個代碼元素時,就會出現(xiàn)重名沖突,此時就可以使用導(dǎo)入方式四來解決:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter中指定的代碼元素 >>> from tkinter import Tk, Button >>> from tkinter.ttk import Button as Buttonttk # 直接使用代碼元素(tkinter包中Tk類)的構(gòu)造方法 # 創(chuàng)建一個Tk對象root,即主窗口 >>> root = Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 直接使用代碼元素(tkinter包中Button類)的構(gòu)造方法, # 在主窗口root上創(chuàng)建一個Button組件,同時設(shè)置相應(yīng)文本,并完成布局 >>> Button(root, text='我是tkinter按鈕').pack() # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口中已經(jīng)增加了按鈕,顯示“我是tkinter按鈕”。 >>> # 直接使用代碼元素別名(tkinter包下ttk模塊中Button類)的構(gòu)造方法, # 在主窗口root上創(chuàng)建一個Button組件,同時設(shè)置相應(yīng)文本,并完成布局 >>> Buttonttk(root, text='我是ttk按鈕').pack() # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口的按鈕下方又增加了一個按鈕,顯示“我是ttk按鈕”。 >>>
使用tkinter包中Button類創(chuàng)建的按鈕(第一個按鈕),跟使用tkinter.ttk模塊下Button類創(chuàng)建的按鈕(第二個按鈕)的表現(xiàn)效果是存在不同的(如下圖示):
(五)使用導(dǎo)入方式五示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter中全部可用代碼元素 >>> from tkinter import * >>> # 直接使用代碼元素:tkinter包中的TkVersion變量,查看Tk的版本號 >>> TkVersion 8.6 >>> # 直接使用代碼元素:tkinter包中的Tcl()函數(shù) >>> Tcl() <tkinter.Tk object .> >>> # 直接使用代碼元素(tkinter包中Tk類)的構(gòu)造方法, # 創(chuàng)建一個Tk對象root,即Tkinter主窗口。 >>> root = Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 直接使用代碼元素(tkinter包中Tk類)的title()方法,來為root設(shè)置窗口標(biāo)題 >>> root.title('新窗口標(biāo)題') '' # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口的窗口標(biāo)題已經(jīng)更改為了“新窗口標(biāo)題”。 >>>
以導(dǎo)入Python標(biāo)準(zhǔn)庫datetime模塊,然后訪問使用該模塊中的相關(guān)代碼元素(如常量、類、類變量和類方法等)為例說明。
(一)使用導(dǎo)入方式一示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)庫datetime模塊 >>> import datetime >>> # 使用標(biāo)準(zhǔn)庫datetime模塊下MAXYEAR常量,查看最大年 >>> datetime.MAXYEAR 9999 >>> # 使用標(biāo)準(zhǔn)庫datetime模塊下date類 >>> datetime.date <class 'datetime.date'> >>> # 使用標(biāo)準(zhǔn)庫datetime模塊下date類的max屬性,查看日期的最大值 >>> datetime.date.max datetime.date(9999, 12, 31) >>> # 使用標(biāo)準(zhǔn)庫datetime模塊下date類的today()方法,查看當(dāng)前日期 >>> datetime.date.today() datetime.date(2020, 8, 25) >>>
(二)使用導(dǎo)入方式二示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)庫datetime模塊別名為dt >>> import datetime as dt >>> # 使用標(biāo)準(zhǔn)庫datetime模塊(別名dt)下MAXYEAR常量,查看最大年 >>> dt.MAXYEAR 9999 >>> # 使用標(biāo)準(zhǔn)庫datetime模塊(別名dt)下date類 >>> dt.date <class 'datetime.date'> >>> # 使用標(biāo)準(zhǔn)庫datetime模塊(別名dt)下date類的max屬性,查看日期的最大值 >>> dt.date.max datetime.date(9999, 12, 31) >>> # 使用標(biāo)準(zhǔn)庫datetime模塊(別名dt)下date類的today()方法,查看當(dāng)前日期 >>> dt.date.today() datetime.date(2020, 8, 25) >>>
(三)使用導(dǎo)入方式三示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)庫datetime模塊指定的代碼元素 >>> from datetime import MAXYEAR, date >>> # 直接使用代碼元素(datetime模塊中的MAXYEAR變量) >>> MAXYEAR 9999 >>> # 直接使用代碼元素(datetime模塊中的date類) >>> date <class 'datetime.date'> >>> # 直接使用代碼元素(datetime模塊中的date類)的max屬性 >>> date.max datetime.date(9999, 12, 31) >>> # 直接使用代碼元素(datetime模塊中的date類)的today()方法 >>> date.today() datetime.date(2020, 8, 25) >>>
(四)使用導(dǎo)入方式四示例:
單個模塊中代碼元素不存在重名沖突,此處省略。
(五)使用導(dǎo)入方式五示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)庫datetime模塊全部可用代碼元素 >>> from datetime import * >>> # 直接使用代碼元素(datetime模塊中的MAXYEAR變量) >>> MAXYEAR 9999 >>> # 直接使用代碼元素(datetime模塊中的date類) >>> date <class 'datetime.date'> >>> # 直接使用代碼元素(datetime模塊中的date類),再接著調(diào)用其max屬性 >>> date.max datetime.date(9999, 12, 31) >>> # 直接使用代碼元素(datetime模塊中的date類),再接著其today()方法 >>> date.today() datetime.date(2020, 8, 25) >>>
以導(dǎo)入Python標(biāo)準(zhǔn)庫tkinter包下的ttk模塊,然后訪問使用該模塊中的相關(guān)代碼元素(如變量、函數(shù)、類和類方法等)為例說明。
(一)使用導(dǎo)入方式一示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter包以及包下的ttk模塊 >>> import tkinter, tkinter.ttk >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包下的ttk模塊中__version__變量,查看ttk的版本號 >>> tkinter.ttk.__version__ '0.3.1' >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包下的ttk模塊中setup_master()函數(shù) >>> tkinter.ttk.setup_master() <tkinter.Tk object .> >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中Tk類的構(gòu)造方法 # 創(chuàng)建一個Tk對象root,即主窗口。 >>> root = tkinter.Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包下的ttk模塊中Button類的構(gòu)造方法 # 在主窗口root上創(chuàng)建一個Button組件,同時設(shè)置相應(yīng)文本,并完成布局 >>> tkinter.ttk.Button(root, text='我是ttk按鈕').pack() # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口中增加了一個按鈕,顯示“我是ttk按鈕”。 >>>
(二)使用導(dǎo)入方式二示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter包以及包下的ttk模塊,并使用模塊別名ttk >>> import tkinter, tkinter.ttk as ttk >>> # 使用tkinter.ttk模塊別名ttk中__version__變量,查看ttk的版本號 >>> ttk.__version__ '0.3.1' >>> # 使用tkinter.ttk模塊別名ttk中setup_master()函數(shù) >>> tkinter.ttk.setup_master() <tkinter.Tk object .> >>> # 使用標(biāo)準(zhǔn)GUI庫tkinter包中Tk類的構(gòu)造方法 # 創(chuàng)建一個Tk對象root,即主窗口。 >>> root = tkinter.Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 使用tkinter.ttk模塊別名ttk中Button類的構(gòu)造方法 # 在主窗口root上創(chuàng)建一個Button組件,同時設(shè)置相應(yīng)文本,并完成布局 >>> ttk.Button(root, text='我是ttk按鈕').pack() # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口中增加了一個按鈕,顯示“我是ttk按鈕”。 >>>
(三)使用導(dǎo)入方式三示例:
# 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter中指定的代碼元素Tk類 >>> from tkinter import Tk # 導(dǎo)入Python標(biāo)準(zhǔn)GUI庫tkinter包下ttk模塊中指定的代碼元素 >>> from tkinter.ttk import __version__, setup_master, Button >>> # 使用代碼元素(tkinter.ttk模塊中__version__變量) >>> __version__ '0.3.1' >>> # 使用代碼元素(tkinter.ttk模塊中setup_master()函數(shù)) >>> setup_master() <tkinter.Tk object .> >>> # 使用代碼元素(tkinter包中的Tk類)的構(gòu)造方法 # 創(chuàng)建一個Tk對象root,即主窗口。 >>> root =Tk() # 執(zhí)行上述語句后,會在屏幕彈出一個Tkinter主窗口。 >>> # 使用代碼元素(tkinter.ttk模塊中Button類)的構(gòu)造方法 # 在主窗口root上創(chuàng)建一個Button組件,同時設(shè)置相應(yīng)文本,并完成布局 >>> Button(root, text='我是ttk按鈕').pack() # 執(zhí)行上述語句后,可以看到上面的Tkinter主窗口中增加了一個按鈕,顯示“我是ttk按鈕”。 >>>
(四)使用導(dǎo)入方式四示例:
可參考4.2.1 導(dǎo)入<包名>的對應(yīng)部分介紹,此處省略。
(五)使用導(dǎo)入方式五示例:
可參考4.2.1 導(dǎo)入<包名>的對應(yīng)部分介紹,此處省略。
特別注意:如果同時導(dǎo)入tkinter包和tkinter.ttk模塊(如下),則將產(chǎn)生較多代碼元素重名沖突。
from tkinter import * from tkinter.ttk import *
Python第三方庫(包/模塊)需要先安裝(必要時還需要配置),然后再通過import方法導(dǎo)入后方可使用。
除了第三方庫(包/模塊)安裝外,導(dǎo)入方式和使用方式跟Python標(biāo)準(zhǔn)庫(包/模塊)的使用方法類似。
注:限于篇幅,Python第三方庫(包/模塊)的管理不在本文撰寫,會另行單獨(dú)撰寫文章介紹。
限于篇幅,本文就先介紹這些,后續(xù)部分下次分享。