首頁 > 後端開發 > Python教學 > 玩 Stock API:JavaScript/React 開發人員學習 Python

玩 Stock API:JavaScript/React 開發人員學習 Python

DDD
發布: 2024-12-19 21:05:51
原創
893 人瀏覽過

Playing with a Stock API: A JavaScript/React Developer Learns Python
Playing with a Stock API: A JavaScript/React Developer Learns Python
Playing with a Stock API: A JavaScript/React Developer Learns Python

作為 Python 新手,我最近踏上了探索其功能的旅程,同時使用庫存 API。一路走來,我學會如何:

  • 設定虛擬環境
  • 管理包裹
  • 對敏感資料使用環境變數
  • 發出 HTTP 請求並處理 JSON
  • 實作錯誤處理與字串格式化
  • 使用 Python 字典
  • 了解 API 提供的架構

這是我的學習經驗和重點的細分!

1。設定 Python

Python 的虛擬環境 (venv) 讓您隔離專案的依賴項,確保您的套件不會與其他套件衝突。這對職業發展很有好處。

建立和啟動虛擬環境的步驟:建立虛擬環境

python -m venv venv

啟動它(Mac/Linux)

源 venv/bin/activate

激活它(Windows)

venvScriptsactivate

這可以使您的項目的包與其他項目的包分開。

套件管理使用 Python 的套件安裝程式 pip,我學會了管理依賴項:

安裝軟體包

pip 安裝請求 python-dotenv

保存要求

點凍結>;要求.txt

根據要求安裝

pip install -r requests.txt

2。環境變數

為了確保敏感資料的安全,我使用 .env 檔案作為 API 金鑰和憑證:

 .env 文件

SCHWAB_CLIENT_ID=my_secret_id

SCHWAB_CLIENT_SECRET=my_secret_key

Python 程式碼

來自 dotenv 導入 load_dotenv

導入作業系統

load_dotenv() # 從.env

載入變量

api_key = os.getenv('SCHWAB_CLIENT_ID')

重要:切勿將 .env 檔案提交至 Git。使用 .gitignore 檔案排除它們。

  • 3.發出 HTTP 請求

我使用請求庫與 API 互動:

導入請求

發出 GET 請求

response = requests.get(url, headers=headers, params=params)

檢查請求是否成功

如果response.status_code == 200:

data = response.json() # 將回應轉換為 JSON

4。理解模式

在與 API 端點互動之前,我先探索了它的架構。 API 架構就像藍圖,告訴您:

  • 請求架構:您需要傳送哪些數據,包括必填欄位、資料類型和限制。
  • 回應架構:您期望收到哪些數據,包括結構、資料類型和範例。

例如,如果 API 端點檢索股票價格,架構可能如下所示:

請求架構:

{

“符號”:“字串”,

「日期」:「字串 (YYYY-MM-DD)」,

「間隔」:「字串(例如,『1d』、『1m』)」

}

回應架構:

{

“符號”:“字串”,

「價格」:[

{

「日期」:「字串 (YYYY-MM-DD)」,

“開啟”:“浮動”,

“關閉”:“浮動”,

“高”:“浮動”,

“低”:“浮動”,

「音量」:「整數」

}

]

}

了解架構有兩個好處:

  1. 準備:它確保您正確建置請求並知道如何處理回應。
  2. 錯誤預防:遵守架構可以最大限度地減少無效請求或誤解回應。

架構節省了我的時間,並使使用 API 時的偵錯變得更加容易。

5。使用 JSON

API 通常以 JSON 格式傳回資料。以下是我在 Python 中的處理方式:

導入json

從檔案中讀取 JSON

with open('tokens.json', 'r') as f:

data = json.load(f)

將 JSON 寫入文件

with open('tokens.json', 'w') as f:

json.dump(data, f, indent=4)

6。錯誤處理

Python 的 try/ except 區塊幫助我優雅地管理錯誤:

嘗試:

回應 = requests.get(url)

data = response.json()

例外為 e:

print(f”錯誤: {str(e)}”)

不回傳

7。字串格式

Python 的 f-strings 和 .format() 方法讓字串格式化變得簡單:

使用 f 字串

print(f」庫存:{name},價格:${price:.2f}”)

使用.format()

print(“庫存:{},價格:${:.2f}”.format(名稱,價格))

8。字典操作

Python 中的字典對於處理巢狀 API 資料非常強大:

使用預設值獲取值

price = data.get('price', 'N/A')

訪問嵌套字典

股票=數據[符號]

quote = stock.get('quote', {})

price = quote.get('lastPrice', 'N/A')

9。調試技巧

Python 除錯簡單有效:

列印偵錯

print(f”調試: {variable}”)

檢查變數類型

print(f”類型: {type(data)}”)

印刷精美的字典

導入json

print(json.dumps(data, indent=2))

10。克服身分驗證挑戰

我面臨的最大障礙之一是身分驗證的工作。我被困了幾天,嘗試了不同的方法但沒有成功。最終,我決定尋求支持以了解它不起作用的原因。

事實證明,該問題與我使用的帳戶類型有關。為了成功進行身份驗證,我需要一個經紀帳戶和一個開發者帳戶。我最初假設只需要開發者帳戶,但 API 也需要來自活躍經紀帳戶的憑證。

這次經驗給了我一個重要的教訓:在需要時不要猶豫尋求幫助。透過放下自我並尋求指導,我對問題有了更深入的了解,並且比我繼續自己奮鬥更快地解決了問題

結論Python 對於初學者來說非常友善!這是我學到的:

  • 虛擬環境使專案井然有序。
  • 環境變數保護敏感資料。
  • 像 requests 這樣的函式庫簡化了 API 呼叫。
  • 良好的錯誤處理至關重要。
  • 清晰的函數名稱和註解增強可讀性。

後續步驟

  • 深入了解 API 驗證。
  • 探索資料視覺化。
  • 增加更強大的錯誤處理。
  • 實作自動化測試。

最後的想法
最好的學習方式就是實踐。不要害怕嘗試和犯錯 — 每個挑戰都是成長的機會!

資料分析倉儲:https://github.com/Jesse-Chong/Schwab-Market-Analysis

原發表於Medium

以上是玩 Stock API:JavaScript/React 開發人員學習 Python的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板