深入理解Python內置模塊及第三方庫的使用與管理

Python 內置模塊與第三方庫

在 Python 編程中,模塊和庫是幫助開發者高效實現各種功能的基礎工具。Python 提供了豐富的內置模塊以及第三方庫,能夠支持從基礎的文件操作到復雜的數據分析和機器學習等任務。本篇文章將深入介紹 Python 的內置模塊與第三方庫,講解如何使用import導入這些模塊和庫,如何使用 pip 管理第三方庫;最后通過一個實例創建這些模塊和庫,讓你更深入理解。

1. Python 內置模塊

什么是內置模塊?

內置模塊是 Python 安裝時自帶的模塊,不需要額外安裝。它們提供了 Python 編程中常見功能的實現,例如文件操作、時間計算、數學計算、操作系統相關操作等。

常見內置模塊

以下是一些常用的內置模塊:

  • os:提供與操作系統進行交互的功能,像文件、目錄的操作。
  • sys:訪問與 Python 解釋器相關的變量和功能,如命令行參數、系統路徑等。
  • math:提供數學計算功能,如三角函數、對數、指數等。
  • datetime:處理日期和時間的模塊。
  • random:用于生成隨機數。
  • json:解析和生成 JSON 數據。
  • re:正則表達式模塊,用于文本模式匹配。
  • collections:提供了其他常見的容器數據類型,如 deque, Counter, OrderedDict 等。

內置模塊或庫的導入

四種導入模塊或庫的方法,我們使用requests第三方庫舉例
第一種:import + 模塊名或庫名
import requestslink='https://www.xxxx.com'req=requests.get(url=link)
print(req)
  • requests.get(url=url) 表示調用requests庫里面的get方法(可以理解為函數) 指定url參數=定義的link變量值
第二種:import + 模塊名或庫名 +as +變量名 自定義模塊名或庫名

import requests as request# 將requests的庫名更改為requesturl='https://www.xxxx.com'
# 
req=request.get(url=url)
print(req)
  • import requests as requestrequests的庫名使用as關鍵字更改為request
  • request.get(url=url)我們已經把requests的庫名更改為request我們要使用更改后的庫名
第三種:from + 模塊名或庫名 + import + 方法或函數 只能使用導入的方法或函數
from requests import get # 導入指定函數  從requests庫只導入get函數url='https://www.xxxx.com'req=get(url=url)
print(req)
  • from requests import getrequests庫導入get方法(或函數)
  • get(url=url)已經導入get方法了,不需要使用requests.get去調用了
第四種:from + 模塊名或庫名 + import + * 導入所有方法或函數
from requests import * url='https://www.xxxx.com'
# *表示已經全部導入了,我們可以直接使用函數,不需要使用.調用函數了
req=get(url=url)
req2=post(url=url)
print(req)
  • from requests import *requests庫導入所有方法(或函數) *表示所有
  • get(url=url)已經導入get方法了,不需要使用requests.get去調用了
  • post(url=url)已經導入post方法了,不需要使用requests.get去調用了

小結

在 Python 中,使用 import 導入的東西通常被稱為 模塊,而 (Library)則是由多個模塊組成的集合。簡單來說,模塊是一個 Python 文件,它可以包含變量、函數、類等;而庫是由多個模塊組成的,可以視為一個包含相關功能的模塊集合。

區別:
  • 模塊(Module) :一個單獨的 Python 文件(以 .py 結尾),里面定義了變量、函數、類等。例如:math.pyos.py 等。
  • 庫(Library) :由多個模塊組成的集合,可以是多個 .py 文件和其他資源(例如文檔、數據文件等)。例如,numpy 就是一個庫,它包含了多個模塊和功能。
舉例:
  • 模塊math 是一個模塊,你可以通過 import math 來導入。
  • pandas 是一個庫,它由多個模塊組成,你可以導入 pandas 中的不同模塊,如 import pandas as pd

所以,總結來說,import 導入的是模塊,庫是由多個模塊組成的更大范圍的集合。


如何找到這些模塊或庫的文件或者查看代碼?

找文件,標準庫一般在你的安裝python目錄下的Lib文件夾 例如:D:\python\Lib

第三方庫在Lib文件夾下的site-packages 例如:D:\python\Lib\site-packages

可以使用vscode或者pycharm查看 當然根據已有的查看 下圖是查看os文件(模塊)的路徑:
在這里插入圖片描述


查看模塊某個方法或函數的源碼

編輯器內鼠標放在方法或函數上面,按住ctrl鍵,然后單擊鼠標左鍵
外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

進入到方法或函數后可以查看這個方法需要傳遞的參數以及代碼結構體等信息(可以理解為源代碼)

在這里插入圖片描述


2. Python 第三方庫

什么是第三方庫?

第三方庫是由開發者社區創建并通過 Python 包管理工具 pip 發布的。這些庫擴展了 Python 的功能,涵蓋了各種領域,例如 Web 開發、數據分析、機器學習、人工智能、科學計算等。要使用第三方庫,我們需要先通過 pip 安裝它們。

常見第三方庫

  • NumPy:用于科學計算,提供支持大規模數組和矩陣的運算。
  • Pandas:用于數據分析,提供強大的數據處理和分析功能。
  • Matplotlib:用于繪制圖表和數據可視化。
  • Requests:簡化 HTTP 請求的庫。
  • Flask:輕量級 Web 框架,適用于小型 Web 應用。
  • Django:功能強大的 Web 框架,適用于大型網站。
  • TensorFlow:用于機器學習和深度學習的框架。
  • SQLAlchemy:Python SQL 工具包,提供 ORM 和 SQL 表達式語言。

使用 pip 管理第三方庫

pip 是 Python 的包管理工具,用于安裝、更新、卸載 Python 包。使用 pip 安裝庫非常簡單

  • 一般在windows用戶在命令提示符(cmd)使用以下命令

如果在任意位置打開命令提示符,需要pip安裝到全局變量

  • pip一般在python安裝的位置`` 例如:D:\python\Script

  • 到Script這個文件夾下面,找到pip3.exe或者pip.exe都可以,在當前路徑打開cmd(終端)

  • 或者在當前路徑輸入cmd 然后回車 即可進入cmd終端
    在這里插入圖片描述

安裝第三方庫

通過 pip install 命令安裝第三方庫;例如,安裝 requests 庫:

pip install requests

卸載第三方庫

如果你不再需要某個庫,可以通過 pip uninstall 命令卸載它;例如,卸載 requests 庫:

PS:一般卸載pip會提示是否需要卸載,輸入y表示確定,n表示不卸載的意思

pip uninstall requests

查看已安裝的庫

你可以使用 pip list 命令查看當前環境中已安裝的所有庫:

pip list

示例輸出(顯示已安裝的所有庫和版本號):

Package                       Version
----------------------------- ------------
absl-py                       1.4.0
adblockparser                 0.7
aerich                        0.7.2
aiofiles                      23.1.0
aiohttp                       3.8.4

第三方庫的導入

第三方庫的導入方式和內置模塊一樣,也是通過 import 語句進行導入。例如,導入 requests 庫:

import requests# 發起一個 HTTP 請求
response = requests.get('https://jsonplaceholder.typicode.com/todos/1')
print(response.json())

3. 內置模塊與第三方庫的區別

特性內置模塊第三方庫
安裝方式自帶,不需要額外安裝需要通過 pip 安裝
示例os, sys, math, datetimerequests, numpy, flask
功能解決常見的操作系統任務、數學計算等擴展功能,如 Web 開發、數據分析等
性能通常經過優化,性能較好性能依賴于庫的實現

說明

  1. 我們通過 requests.get() 發起 GET 請求,獲取返回的 JSON 數據。
  2. 使用 response.json() 解析 JSON 數據并將其存儲為 Python 字典格式。
  3. 使用 pandas.DataFrame() 將數據轉換為表格格式,方便后續操作。
  4. 最后,調用 df.to_csv() 方法將數據保存為 CSV 文件。

4、如何查看這些模塊或庫的使用方法?

標準庫(通過解釋器自帶的幫助文檔)
  • 在安裝的python路徑下的Doc文件夾,例如:D:\python\Doc 使用默認開打方式即可
    在這里插入圖片描述

-雙擊打開后,根據需要使用ctrl+f組合鍵搜索模塊
使用os模塊舉例,找到后點擊藍色字體即可查看:
在這里插入圖片描述


第三方庫(通過pypi官方查看)
  • 瀏覽器輸入網址 https://pypi.org/ 在搜索框輸入第三庫的名字,使用requests舉例
    在這里插入圖片描述

  • 根據庫的名字找到項目,這里我們是要找requests,點擊第一個即可:
    在這里插入圖片描述

  • 點擊后就可以看到requests庫對應的文檔
    在這里插入圖片描述


5、如何自己做一個模塊出來?

5.1創建一個python文件
  • 名字隨意取,我使用xiaowu.py(作者小名)為例子,注意不要與標準庫或者第三方庫的名字一樣
  • 在其他文件使用import導入的時候就顯示我們創建的模塊文件了

因為沒有復制到標準庫路徑;只能在當前路徑的py文件使用

在這里插入圖片描述

定義模塊的方法(做一個python同款打印)
  • 定義一個函數為printf的函數,接收一個參數的傳遞
  • 不要與內置函數的名字一樣,例如print、len、type等函數

在這里插入圖片描述

進行調用模塊
  • 這時候編輯器就會提示我們這個模塊對應的方法或函數
  • 根據定義的函數進行傳參輸出即可
    在這里插入圖片描述
代碼
  • xiaowu.py
def printf(str_data):return str_data
  • test.py
import xiaowutest=xiaowu.printf('hello world')
print(test) #輸出hello world

總結

  • 內置模塊:Python 自帶的模塊,不需要額外安裝,提供了許多常見功能,如數學計算、文件操作、日期時間處理等。
  • 第三方庫:由社區開發并通過 pip 安裝的庫,能夠擴展 Python 的功能,涵蓋 Web 開發、數據分析、機器學習等領域。
  • 模塊導入:Python 提供了簡單的導入語法,支持導入整個模塊或特定的函數、類。
  • pip 管理工具:通過 pip,我們可以方便地安裝、更新、卸載第三方庫,并查看已安裝的庫。

通過本文的講解,您已經掌握了如何使用 Python 內置模塊與第三方庫進行開發,并了解了如何通過 pip 管理第三方庫。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/83066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/83066.shtml
英文地址,請注明出處:http://en.pswp.cn/web/83066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

二分查找-P2249 【深基13.例1】查找

文章目錄 參考代碼二分標準模板 題目來源-洛谷網 參考代碼 #include<bits/stdc.h> using namespace std; const int N 1e65; int m,n,a[N],b; int find(int t) {int l1,rn;while(l<r){int mid(lr)/2;//防止溢出 mid l (r-l) /2 ;if(a[mid]>t) rmid;//中間值比…

手寫muduo網絡庫(一):項目構建和時間戳、日志庫

引言 本文作為手寫 muduo 網絡庫系列開篇&#xff0c;聚焦項目基礎框架搭建與核心基礎工具模塊設計。通過解析 CMake 工程結構設計、目錄規劃原則&#xff0c;結合時間戳與日志系統的架構&#xff0c;為后續網絡庫開發奠定工程化基礎。文中附完整 CMake 配置示例及模塊代碼。 …

NLP學習路線圖(三十二): 模型壓縮與優化

一、 核心壓縮與優化技術詳解 1. 知識蒸餾:智慧的傳承(Knowledge Distillation, KD) 核心思想:“師授徒業”。訓練一個龐大、高性能但笨重的“教師模型”(Teacher Model),讓其指導訓練一個輕量級的“學生模型”(Student Model)。學生模型學習模仿教師模型的輸出行為(…

vue前端字典映射

1.界面展示 2.圖中狀態字段接收的數據如下 3.代碼轉換&#xff0c;添加計算屬性代碼 再在綁定屬性的地方做轉換 computed: {statusMap() {return {"-1": "已退號",1: "掛號",2: "接診",3: "已完診",};},},<m-input:spa…

基于 llama-factory進行模型微調

# GLM4-9B-chat Lora 微調. 介紹如何基于 llama-factory 框架&#xff0c;對 glm-4-9b-chat 模型進行 Lora 微調。Lora 是一種高效微調方法&#xff0c;深入了解其原理可參見博客&#xff1a;[知乎|深入淺出 Lora](https://zhuanlan.zhihu.com/p/650197598)。 ## 環境配置 在完…

不到 2 個月,OpenAI 火速用 Rust 重寫 AI 編程工具。尤雨溪也覺得 Rust 香!

一、OpenAI 用 Rust 重寫 Codex CLI OpenAI 已用 Rust 語言重寫了其 AI 命令行編程工具 Codex CLI&#xff0c;理由是此舉能提升性能和安全性&#xff0c;同時避免對 Node.js 的依賴。他們認為 Node.js “可能讓部分用戶感到沮喪或成為使用障礙”。 Codex 是一款實驗性編程代理…

Go 并發編程深度指南

Go 并發編程深度指南 Go 語言以其內置的并發原語而聞名&#xff0c;通過 goroutine 和 channel 提供了一種高效、安全的并發編程模型。本文將全面解析 Go 的并發機制及其實際應用。 核心概念&#xff1a;Goroutines 和 Channels 1. Goroutines (協程) Go 的輕量級線程實現&…

vue和uniapp聊天頁面右側滾動條自動到底部

1.vue右側滾動條自動到底部 <div ref"newMessage1"></div> <!-- 定義<div ref"newMessage1"></div>與<div v-for”item in list“>循環同級定義-->定義方法 scrollToBottomCenter(){this.$nextTick(() > {this.$re…

iOS 項目怎么構建穩定性保障機制?一次系統性防錯經驗分享(含 KeyMob 工具應用)

崩潰、內存飆升、后臺任務未釋放、頁面卡頓、日志丟失——穩定性問題&#xff0c;不一定會立刻崩&#xff0c;但一旦積累&#xff0c;就是“上線后救不回來的代價”。 穩定性保障不是某個工具的功能&#xff0c;而是一套貫穿開發、測試、上線全流程的“觀測分析防范”機制。 …

JMeter函數整理

"_csvRead"函數 csvRead函數是從外部讀取參數&#xff0c;csvRead函數可以從一個文件中讀取多個參數。 下面具體講一下如何使用csvread函數&#xff1a; 1.新建一個csv或者text文件&#xff0c;里面保存要讀取的參數&#xff0c;每個參數間用逗號相隔。每行表示每一組…

深入理解 React Hooks

在當今的 React 開發中,Hooks 已經成為構建函數組件的核心工具。自 React 16.8 版本引入以來,Hooks 徹底改變了開發者編寫 React 組件的方式,使得狀態管理和副作用處理變得更加簡潔和直觀。本文將全面介紹 React 提供的各種 Hooks,從基礎的 useState 和 useEffect,到高級的…

Doris-2:單虛擬機上非docker化安裝Doris實驗環境

Doris-2:單虛擬機上非docker化安裝Doris實驗環境 1.安裝1.1.環境說明1.2.基礎準備1.2.1.JDK1.2.2.操作系統配置(使用root或者有權賬戶)1.2.2.1.修改環境變量1.2.2.2.修改虛擬內存區域1.2.2.3.關閉swap1.2.2.4.關閉防火墻1.2.2.5.創建用戶和組1.3.安裝doris1.3.1.解壓1.3.2.配置…

C# SqlSugar:依賴注入與倉儲模式實踐

C# SqlSugar&#xff1a;依賴注入與倉儲模式實踐 在 C# 的應用開發中&#xff0c;數據庫操作是必不可少的環節。為了讓數據訪問層更加簡潔、高效且易于維護&#xff0c;許多開發者會選擇成熟的 ORM&#xff08;對象關系映射&#xff09;框架&#xff0c;SqlSugar 就是其中備受…

Razor編程中@Helper的用法大全

文章目錄 第一章&#xff1a;Helper基礎概念1.1 Helper的定義與作用1.2 Helper的基本語法結構1.3 Helper與HtmlHelper的區別 第二章&#xff1a;基礎Helper用法2.1 無參數Helper2.2 帶簡單參數的Helper2.3 帶默認值的參數2.4 使用模型作為參數 第三章&#xff1a;高級Helper用法…

Python-正則表達式(re 模塊)

目錄 一、re 模塊的使用過程二、正則表達式的字符匹配1. 匹配開頭結尾2. 匹配單個字符3. 匹配多個字符4. 匹配分組5. Python 代碼示例 三、re 模塊的函數1. 函數一覽表2. Python 代碼示例1&#xff09;search 與 finditer2&#xff09;findall3&#xff09;sub4&#xff09;spl…

前端知識導圖

前端知識導圖 參考&#xff1a;字節標準 前端知識導圖 通用基礎 1、編程語言 HTML CSS JS TS 2、計算機基礎 計算機網略 數據結構 算法&#xff1a;二分查找、十大排序、二叉樹先中后和層次遍歷、集合交并集、leetcode刷題經驗 編譯構建 webpack & vite 應用基礎 開…

moon游戲服務器-demo運行

下載地址 https://github.com/sniper00/MoonDemo redis安裝 Redis-x64-3.0.504.msi 服務器配置文件 D:\gitee\moon_server_demo\serverconf.lua 貌似不修改也可以的&#xff0c;redis不要設置密碼 windows編譯 安裝VS2022 Community 下載premake5.exe放MoonDemo\server\moon 雙…

Webpack性能優化:構建速度與體積優化策略

一、構建速度優化 1、??升級Webpack和Node.js?? ??優化效果??&#xff1a;Webpack 4比Webpack 3構建時間降低60%-98%。??原因??&#xff1a; V8引擎優化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默認使用更快的md4哈希算法。AST直接從Loa…

ajax學習手冊

Ajax 通俗易懂學習手冊 目錄 Ajax 基礎概念XMLHttpRequest 詳解Fetch API (現代方式)處理不同數據格式錯誤處理和狀態碼Ajax 高級技巧實戰項目案例最佳實踐 Ajax 基礎概念 什么是 Ajax&#xff1f; Ajax Asynchronous JavaScript And XML 通俗解釋&#xff1a; Ajax 就像…

人工智能學習02-安裝環境

人工智能學習概述—快手視頻 人工智能學習02-安裝—快手視頻 Python安裝 Python安裝分為兩種方法&#xff0c;一是從官網(https://www.python.org/)下載Python工具(比如python-2.7.msi)進行安裝&#xff0c;并設置Path環境變量&#xff1b;二是下載工具Anaconda集成環境進行安…