编程相关学习点——代码内容及结构

以下有两段代码,都是发送API请求来获取需要的值,具体内容不深究,本文主要以如何提高自己的代码能力方面做学习记录。

代码一:

python 复制代码
# 每5秒请求一次API返回p值

import requests
import time

url = "https://api.biyingapi.com/hsrl/ssjy/000004/52F1AC58-A19D-4C24-BDAA-2C8506610C93"

while True:
    try:
        response = requests.get(url)
        data = response.json()  # 解析JSON响应
        p_value = data.get("p")  # 获取"p"的值
        print(f"p: {p_value}")  # 打印"p"的值
        time.sleep(5)  # 每5秒请求一次
    except Exception as e:
        print(f"请求失败: {e}")
        time.sleep(5)  # 如果请求失败,等待5秒再重试

代码二:

python 复制代码
# 每5秒请求一次API返回fundingRate值

import requests
import time

def get_funding_rate():
    url = "https://aws.okx.com/api/v5/public/funding-rate?instId=BTC-USD-SWAP"
    response = requests.get(url)
    
    if response.status_code == 200:
        data = response.json()
        if data["code"] == "0" and data["data"]:
            funding_rate = data["data"][0]["fundingRate"]
            return funding_rate
    return None

while True:
    funding_rate = get_funding_rate()
    if funding_rate is not None:
        print(f"Funding Rate: {funding_rate}")
    else:
        print("Failed to retrieve funding rate.")
    
    time.sleep(5)

这两段代码在格式和风格上有几个明显的区别:

  1. 函数封装

    第二段代码使用了一个函数 get_funding_rate() 来封装请求逻辑。这种方式使得代码更模块化,便于重用和维护。而第一段代码将所有逻辑放在了主循环中,缺少封装。

  2. 错误处理

    • 第一段代码在 try-except 块中捕获所有异常,并在请求失败时等待 5 秒再重试。
    • 第二段代码没有使用 try-except 进行异常处理,而是依赖 response.status_code 来判断请求是否成功。虽然这样在某种程度上减少了代码复杂性,但可能在网络异常等情况时会导致未捕获的异常。
  3. 返回值处理

    第二段代码清晰地返回 funding_rateNone,使得主循环部分的逻辑更易于理解。第一段代码直接在循环中处理值,这样会使主逻辑更加复杂。

  4. 打印语句

    第一段代码在打印错误消息时包含了异常信息,而第二段代码则更关注于获取的值和请求是否成功。这使得第一段代码在调试时更为详尽。

总结来说,第二段代码在结构化和可维护性上做得更好,而第一段代码则更简单直接。选择使用哪种风格通常取决于具体需求和代码的复杂性。


这些内容主要涉及以下几个方面的学习:

  1. Python 编程基础

    理解 Python 的基本语法、数据结构和控制流(如循环和条件判断)。

  2. 函数封装与模块化

    学习如何将代码封装在函数中,以提高代码的可读性和重用性。这是良好编程实践的重要部分,有助于维护和扩展代码。

  3. 错误处理

    理解如何处理异常和错误。这是确保程序在遇到问题时能够优雅地处理而不是崩溃的关键。

  4. API 请求与响应处理

    学习如何使用 requests 库与外部 API 进行交互,包括如何发送请求、解析 JSON 响应以及提取需要的数据。

  5. 代码可读性与风格

    理解代码的可读性和风格的重要性,学习如何使用合适的命名和结构使代码更易于理解和维护。

  6. 调试与日志记录

    学习如何在程序中添加调试信息,以帮助发现和修复问题。适当的日志记录可以提高代码的可维护性。

这些方面的学习对于提高编程能力、开发更复杂的项目以及在实际工作中进行有效的团队合作都是非常重要的。

相关推荐
databook8 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar9 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780519 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_9 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
RestCloud9 小时前
数据传输中的三大难题,ETL 平台是如何解决的?
数据分析·api
RestCloud9 小时前
为什么说 iPaaS 是企业数字化转型的加速器?
api
数据智能老司机16 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机17 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机17 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构