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

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

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

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

相关推荐
cliffordl3 分钟前
SQLAlchemy 介绍与实践
数据库·python
dal118网工任子仪3 分钟前
SQL报错注入检测方法与攻击方法
笔记·sql·学习·计算机网络
车载testing14 分钟前
使用Python和Vosk库实现语音识别
开发语言·python·语音识别
FreedomLeo121 分钟前
Python数据分析NumPy和pandas(二十三、数据清洗与预处理之五:pandas的分类类型数据)
python·数据分析·numpy·pandas·categoricals·数据分类分析·建模和机器学习
折枝寄北22 分钟前
C语言进阶:二.数据的存储(2)
c语言·开发语言·学习
魔法自动机33 分钟前
Unity3D学习FPS游戏(9)武器音效添加、创建敌人模型和血条
android·学习·游戏
算家云34 分钟前
moffee模型部署教程
人工智能·python·github·markdown·nvidia·ppt·幻灯片制作
记录学习-python38 分钟前
web开发Django+vue3
后端·python·django
羊小猪~~40 分钟前
数学建模(基于Python实现)--灰色关联分析法讲解,含案例
开发语言·python·数学建模
要加油GW1 小时前
学习党的二十大精神,推动科技创新和发展
科技·学习