作为 Python 新手,我最近踏上了探索其功能的旅程,同时使用库存 API。一路走来,我学会了如何:
这是我的学习经历和要点的细分!
1。设置 Python
Python 的虚拟环境 (venv) 允许您隔离项目的依赖项,确保您的包不会与其他包冲突。这对职业发展很有好处。
创建和激活虚拟环境的步骤:创建虚拟环境
python -m venv venv
激活它(Mac/Linux)
源 venv/bin/activate
venvScriptsactivate
这可以使您的项目的包与其他项目的包分开。
包管理使用 Python 的包安装程序 pip,我学会了管理依赖项:
pip 安装请求 python-dotenv
点冻结>;要求.txt
pip install -r requests.txt
2。环境变量
为了确保敏感数据的安全,我使用 .env 文件作为 API 密钥和凭据:
SCHWAB_CLIENT_ID=my_secret_id
SCHWAB_CLIENT_SECRET=my_secret_key
来自 dotenv 导入 load_dotenv
导入操作系统
load_dotenv() # 从.env
加载变量api_key = os.getenv('SCHWAB_CLIENT_ID')
重要:切勿将 .env 文件提交到 Git。使用 .gitignore 文件排除它们。
我使用请求库与 API 交互:
导入请求
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)”,
“打开”:“浮动”,
“关闭”:“浮动”,
“高”:“浮动”,
“低”:“浮动”,
“音量”:“整数”
}
]
}
了解架构有两个好处:
架构节省了我的时间,并使使用 API 时的调试变得更加容易。
5。使用 JSON
API 通常以 JSON 格式返回数据。以下是我在 Python 中的处理方式:
导入json
with open('tokens.json', 'r') as f:
data = json.load(f)
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() 方法使字符串格式化变得简单:
print(f”库存:{name},价格:${price:.2f}”)
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 对于初学者来说非常友好!这是我学到的东西:
后续步骤
最后的想法
最好的学习方式就是实践。不要害怕尝试和犯错误 — 每个挑战都是成长的机会!
数据分析仓库:https://github.com/Jesse-Chong/Schwab-Market-Analysis
最初发表于Medium
以上是玩转 Stock API:JavaScript/React 开发人员学习 Python的详细内容。更多信息请关注PHP中文网其他相关文章!