首页 > 后端开发 > 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板