亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 后端開發(fā) Python教程 在 Python 中使用 API:實(shí)用指南

在 Python 中使用 API:實(shí)用指南

Jan 04, 2025 am 01:09 AM

摘錄:
“API 使軟件應(yīng)用程序模塊化。它們加快了軟件開發(fā)時(shí)間”。

應(yīng)用程序編程接口(或 API)是一個(gè)抽象層,可實(shí)現(xiàn)不同軟件應(yīng)用程序和組件之間的通信。這種溝通是如何發(fā)生的? Web API 恰好是我們將在本文中詳細(xì)討論的內(nèi)容,它位于客戶端使用的軟件應(yīng)用程序和存儲(chǔ)信息的數(shù)據(jù)庫之間。請?jiān)诖颂幜私獠煌愋偷?API。通信的發(fā)生與編寫各個(gè)軟件應(yīng)用程序所使用的編程語言無關(guān);無論是 Python、Java、JavaScript 等。只要從軟件應(yīng)用程序發(fā)送到 API 的請求有效,無論是檢索、更新、刪除還是創(chuàng)建操作。

想象一下像 Instagram 這樣的社交媒體平臺(tái),其中特定用戶發(fā)布了一張圖片,內(nèi)部發(fā)生的情況是用戶正在向規(guī)定的 Instagram API 端點(diǎn)發(fā)出 POST 請求;發(fā)送圖片到數(shù)據(jù)庫。另一個(gè)用戶可以通過向 API 發(fā)出 GET 請求來查看該帖子,而在滾動(dòng)時(shí)間軸時(shí)甚至不知道這一點(diǎn)。您會(huì)看到那里存在通過 API 進(jìn)行的通信。

即使兩個(gè)用戶通過 API 使用不同語言編寫的軟件應(yīng)用程序進(jìn)行通信,情況也可能如此。
下圖顯示了兩個(gè)不同的軟件應(yīng)用程序通過 API 進(jìn)行通信。

Working with APIs in Python: A Practical Guide

作者照片

此外,API 使軟件應(yīng)用程序模塊化。它們加快了軟件開發(fā)時(shí)間。模塊化是指 API 實(shí)現(xiàn)與我們的代碼庫分離,我們只需調(diào)用 API。它加快了開發(fā)時(shí)間,因?yàn)槲覀儾槐貜念^開始編寫提供與 API 類似的功能的代碼,我們只需調(diào)用它即可。

在本文中,您將學(xué)習(xí)如何使用 Python 使用公開可用的 API。敬請關(guān)注。

先決條件

本文適合初級(jí) Python 程序員,他們希望通過 Python 中的具體實(shí)現(xiàn)來加深對 API 的理解。
要一起練習(xí),請確保您的機(jī)器已連接到互聯(lián)網(wǎng)。

本文也可以作為經(jīng)驗(yàn)豐富的 Python 開發(fā)人員的復(fù)習(xí)工具。

目標(biāo)

讀完本文后,您應(yīng)該:
了解 Python 中的 requests 庫。
了解如何發(fā)出 GET、PUT、PATCH、DELETE 和 POST 請求。
了解如何在代碼中存儲(chǔ)和利用從 API 調(diào)用接收到的數(shù)據(jù)。

了解請求庫

requests 是下載次數(shù)最多的 Python 軟件包之一,根據(jù) pypi 的數(shù)據(jù),每周下載量約為 3000 萬次。它使您能夠在 Python 中輕松發(fā)送 HTTP 請求。 requests 是一個(gè)經(jīng)過測試且值得信賴的 Python 包,被 IBM 等許多知名品牌所使用。在這里找到源代碼。
請求的一些“受人喜愛”的功能是:

  • 保持活動(dòng)狀態(tài)和連接池

  • 國際域名和 URL

  • 具有 Cookie 持久性的會(huì)話

  • 瀏覽器式 SSL 驗(yàn)證

  • 自動(dòng)內(nèi)容解碼

  • 基本/摘要式身份驗(yàn)證

  • 優(yōu)雅的鍵/值 Cookie

  • 自動(dòng)解壓

  • Unicode 響應(yīng)體

  • HTTP(S) 代理支持

  • 分段文件上傳

  • 流式下載

  • 連接超時(shí)

  • 分塊請求

  • .netrc 支持

請求入門

我假設(shè)您的計(jì)算機(jī)上已經(jīng)安裝了 Python。按照以下說明安裝 requests 包:
在 Linux 或 Mac OS 上打開終端并執(zhí)行以下操作:

python3 -m pip install requests

在 Windows 上:

python -m pip install requests

這會(huì)將 請求包下載到您的計(jì)算機(jī)。

發(fā)出 GET 請求

發(fā)出 GET 請求來檢索現(xiàn)有數(shù)據(jù)。它返回一個(gè)對象,可以進(jìn)一步探索該對象,以通過調(diào)用其所需屬性來獲取有關(guān)所發(fā)出請求的更多詳細(xì)信息。請參閱下面的示例用法:

  • 創(chuàng)建一個(gè)Python文件,例如get_request.py,在文件中寫入以下代碼:
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

從response_object中,可以調(diào)用不同的屬性:
status_code: 響應(yīng)的 HTTP 狀態(tài)代碼。

  • .text:響應(yīng)正文作為字符串。
  • .json():將響應(yīng)正文解析為 JSON(如果適用)。
  • .content:作為原始字節(jié)的響應(yīng)正文。
  • .headers:響應(yīng)頭的字典。
  • .cookies:服務(wù)器設(shè)置的Cookie。
  • .url:重定向后的最終URL。
  • .已過去 在本文中,我們將更多地關(guān)注 .json() 屬性。 在 requests.py 文件中,調(diào)用 response_object 上的 .json() 屬性
json_data = response_object.json()
print(json_data)

返回的 JSON 存儲(chǔ)在 json_data 變量中,可以在您的程序中使用。
以下內(nèi)容將輸出到您的控制臺(tái)。

Working with APIs in Python: A Practical Guide

發(fā)出 POST 請求

POST 請求將數(shù)據(jù)發(fā)送到指定端點(diǎn),創(chuàng)建一條新記錄。與尋求檢索現(xiàn)有數(shù)據(jù)的 GET 方法不同。請按照以下步驟發(fā)出帖子請求:

  • 創(chuàng)建一個(gè)名為 post_request.py 或任何方便的名稱的新文件。在文件中寫入以下代碼:
python3 -m pip install requests

這會(huì)將數(shù)據(jù)發(fā)送到規(guī)定的端點(diǎn),并返回一個(gè)響應(yīng)對象;該對象擁有有關(guān)發(fā)送的 POST 請求的一些有用信息??梢酝ㄟ^調(diào)用對象上合適的屬性來訪問它。
調(diào)用響應(yīng)對象上的 status_code 屬性以確保操作成功。更新您的代碼。

python -m pip install requests

它返回 201,這表明您的 POST 請求成功并且已創(chuàng)建新資源。如下圖所示。

Working with APIs in Python: A Practical Guide

發(fā)出 PUT 請求

PUT 請求涉及用新記錄替換現(xiàn)有記錄;它從發(fā)送者或客戶端獲取新數(shù)據(jù)并用它替換現(xiàn)有數(shù)據(jù)。
這是發(fā)出 PUT 請求的方式:

  • 創(chuàng)建一個(gè)新的Python文件,在本文中,我們使用put_request.py。在其中寫入以下代碼。
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

發(fā)出 DELETE 請求

這確保刪除特定記錄或數(shù)據(jù)。要?jiǎng)h除的記錄始終通過其唯一 ID 來指定,該 ID 通常是指定的。
這是執(zhí)行 DELETE 操作的方式:

  • 創(chuàng)建一個(gè)新的 Python 文件,在本文中,我們使用 delete_request.py。在其中寫入以下代碼:
json_data = response_object.json()
print(json_data)

發(fā)出 PATCH 請求

每當(dāng)您想要對現(xiàn)有記錄或數(shù)據(jù)進(jìn)行部分更改時(shí),請使用 PATCH 方法。

  • 創(chuàng)建一個(gè)新的Python文件,在本文中,我們使用patch_request.py。在其中寫入以下代碼:
# Import the requests module
import requests


# Making a simple POST request


data = {'userId': 1, 'id': 1, 'title': 'This is for POST request', \
        'body': 'This body is modified for this technical writing article by Augustine Alul'}
response_object = requests.post("https://jsonplaceholder.typicode.com/posts/", data=data)


print(response_object.status_code)

結(jié)論

requests 庫提供了一種在 Python 代碼中發(fā)出 HTTP 請求的簡單方法;它可以輕松地與 API 進(jìn)行交互,并返回一個(gè)對象,該對象通過簡單地調(diào)用所需的屬性(可以在文章中找到這些屬性)來提供有關(guān)所發(fā)出請求的有用信息。
在 Python 中使用 API 從未如此簡單 - 還有其他流行的庫可用于與 Python 中的 API 交互,但選擇 requests 庫是因?yàn)樗暮唵涡浴?br> 感謝您堅(jiān)持閱讀本文的結(jié)尾,這為您開始使用 Python 中的 API 提供了良好的背景。

以上是在 Python 中使用 API:實(shí)用指南的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Python類中的多態(tài)性 Python類中的多態(tài)性 Jul 05, 2025 am 02:58 AM

多態(tài)是Python面向?qū)ο缶幊讨械暮诵母拍?,指“一種接口,多種實(shí)現(xiàn)”,允許統(tǒng)一處理不同類型的對象。1.多態(tài)通過方法重寫實(shí)現(xiàn),子類可重新定義父類方法,如Animal類的speak()方法在Dog和Cat子類中有不同實(shí)現(xiàn)。2.多態(tài)的實(shí)際用途包括簡化代碼結(jié)構(gòu)、增強(qiáng)可擴(kuò)展性,例如圖形繪制程序中統(tǒng)一調(diào)用draw()方法,或游戲開發(fā)中處理不同角色的共同行為。3.Python實(shí)現(xiàn)多態(tài)需滿足:父類定義方法,子類重寫該方法,但不要求繼承同一父類,只要對象實(shí)現(xiàn)相同方法即可,這稱為“鴨子類型”。4.注意事項(xiàng)包括保持方

解釋Python發(fā)電機(jī)和迭代器。 解釋Python發(fā)電機(jī)和迭代器。 Jul 05, 2025 am 02:55 AM

迭代器是實(shí)現(xiàn)__iter__()和__next__()方法的對象,生成器是簡化版的迭代器,通過yield關(guān)鍵字自動(dòng)實(shí)現(xiàn)這些方法。1.迭代器每次調(diào)用next()返回一個(gè)元素,無更多元素時(shí)拋出StopIteration異常。2.生成器通過函數(shù)定義,使用yield按需生成數(shù)據(jù),節(jié)省內(nèi)存且支持無限序列。3.處理已有集合時(shí)用迭代器,動(dòng)態(tài)生成大數(shù)據(jù)或需惰性求值時(shí)用生成器,如讀取大文件時(shí)逐行加載。注意:列表等可迭代對象不是迭代器,迭代器到盡頭后需重新創(chuàng)建,生成器只能遍歷一次。

如何處理Python中的API身份驗(yàn)證 如何處理Python中的API身份驗(yàn)證 Jul 13, 2025 am 02:22 AM

處理API認(rèn)證的關(guān)鍵在于理解并正確使用認(rèn)證方式。1.APIKey是最簡單的認(rèn)證方式,通常放在請求頭或URL參數(shù)中;2.BasicAuth使用用戶名和密碼進(jìn)行Base64編碼傳輸,適合內(nèi)部系統(tǒng);3.OAuth2需先通過client_id和client_secret獲取Token,再在請求頭中帶上BearerToken;4.為應(yīng)對Token過期,可封裝Token管理類自動(dòng)刷新Token;總之,根據(jù)文檔選擇合適方式,并安全存儲(chǔ)密鑰信息是關(guān)鍵。

解釋Python斷言。 解釋Python斷言。 Jul 07, 2025 am 12:14 AM

Assert是Python用于調(diào)試的斷言工具,當(dāng)條件不滿足時(shí)拋出AssertionError。其語法為assert條件加可選錯(cuò)誤信息,適用于內(nèi)部邏輯驗(yàn)證如參數(shù)檢查、狀態(tài)確認(rèn)等,但不能用于安全或用戶輸入檢查,且應(yīng)配合清晰提示信息使用,僅限開發(fā)階段輔助調(diào)試而非替代異常處理。

如何一次迭代兩個(gè)列表 如何一次迭代兩個(gè)列表 Jul 09, 2025 am 01:13 AM

在Python中同時(shí)遍歷兩個(gè)列表的常用方法是使用zip()函數(shù),它會(huì)按順序配對多個(gè)列表并以最短為準(zhǔn);若列表長度不一致,可使用itertools.zip_longest()以最長為準(zhǔn)并填充缺失值;結(jié)合enumerate()可同時(shí)獲取索引。1.zip()簡潔實(shí)用,適合成對數(shù)據(jù)迭代;2.zip_longest()處理不一致長度時(shí)可填充默認(rèn)值;3.enumerate(zip())可在遍歷時(shí)獲取索引,滿足多種復(fù)雜場景需求。

什么是Python迭代器? 什么是Python迭代器? Jul 08, 2025 am 02:56 AM

Inpython,IteratorSareObjectSthallowloopingThroughCollectionsByImplementing_iter __()和__next __()。1)iteratorsWiaTheIteratorProtocol,使用__ITER __()toreTurnterateratoratoranteratoratoranteratoratorAnterAnteratoratorant antheittheext__()

什么是Python型提示? 什么是Python型提示? Jul 07, 2025 am 02:55 AM

typeHintsInpyThonsolverbromblemboyofambiguityandPotentialBugSindyNamalytyCodeByallowingDevelopsosteSpecefectifyExpectedTypes.theyenhancereadability,enablellybugdetection,andimprovetool.typehintsupport.typehintsareadsareadsareadsareadsareadsareadsareadsareadsareaddedusidocolon(

Python Fastapi教程 Python Fastapi教程 Jul 12, 2025 am 02:42 AM

要使用Python創(chuàng)建現(xiàn)代高效的API,推薦使用FastAPI;其基于標(biāo)準(zhǔn)Python類型提示,可自動(dòng)生成文檔,性能優(yōu)越。安裝FastAPI和ASGI服務(wù)器uvicorn后,即可編寫接口代碼。通過定義路由、編寫處理函數(shù)并返回?cái)?shù)據(jù),可以快速構(gòu)建API。FastAPI支持多種HTTP方法,并提供自動(dòng)生成的SwaggerUI和ReDoc文檔系統(tǒng)。URL參數(shù)可通過路徑定義捕獲,查詢參數(shù)則通過函數(shù)參數(shù)設(shè)置默認(rèn)值實(shí)現(xiàn)。合理使用Pydantic模型有助于提升開發(fā)效率和準(zhǔn)確性。

See all articles