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

以下有两段代码,都是发送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. 调试与日志记录

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

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

相关推荐
智行众维15 分钟前
【用户心得】SCANeR™Studio学习笔记(六):人因工程Pack——一站式搞定驾驶模拟的多模态数据同步
笔记·学习·自动驾驶·汽车·仿真·scaner·人因工程
kissgoodbye201223 分钟前
cadence学习之基础知识
网络·学习
xian_wwq36 分钟前
【学习笔记】基于人工智能的火电机组全局性能一体化优化研究
人工智能·笔记·学习·火电
B站计算机毕业设计之家40 分钟前
基于大数据热门旅游景点数据分析可视化平台 数据大屏 Flask框架 Echarts可视化大屏
大数据·爬虫·python·机器学习·数据分析·spark·旅游
阿蒙Amon41 分钟前
JavaScript学习笔记:6.表达式和运算符
javascript·笔记·学习
周纠纠1 小时前
附录1:中文切词
python
Cricyta Sevina1 小时前
Java Collection 集合进阶知识笔记
java·笔记·python·collection集合
零度@2 小时前
Java中Map的多种用法
java·前端·python
potato_15542 小时前
Windows11系统安装Isaac Sim和Isaac Lab记录
人工智能·学习·isaac sim·isaac lab