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

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

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

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

相关推荐
q***375几秒前
爬虫学习 01 Web Scraper的使用
前端·爬虫·学习
爱吃泡芙的小白白3 分钟前
使用某云超算平台Jupyterlab的使用方法(自用)
运维·服务器·python·学习记录
qq_203769494 分钟前
在conda环境中使用jupyter
python·jupyter·conda
车端域控测试工程师1 小时前
Autosar网络管理测试用例 - TC003
c语言·开发语言·学习·汽车·测试用例·capl·canoe
二川bro1 小时前
Python模型优化实战:深度学习加速与压缩技巧
python
hd51cc1 小时前
动态链接编程 学习笔记
笔记·学习
q***T5831 小时前
GitHub星标20万+的React项目,学习价值分析
前端·学习·react.js
l***74941 小时前
SQL Server2022版+SSMS安装教程(保姆级)
后端·python·flask
小马爱打代码2 小时前
Consul:系统学习笔记
笔记·学习·consul
傻啦嘿哟2 小时前
Python实现PDF文档高效转换为HTML文件:从基础到进阶的完整指南
python·pdf·html