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

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

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

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

相关推荐
枫哥和java2 小时前
python serializer, model drf通过序列化器, 模型获取mysql 一张表某个字段数据库现存的最大值
数据库·python·mysql
ZhaiMou3 小时前
HTML5拖拽API学习 托拽排序和可托拽课程表
前端·javascript·学习·html5
无忧无虑Coding3 小时前
pyinstall 打包Django程序
后端·python·django
我想回家种地4 小时前
渗透学习之windows基础
学习
·云扬·4 小时前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
小杨 学习日志6 小时前
C高级学习笔记
c语言·笔记·学习
lcintj6 小时前
【WPF】Prism学习(十)
学习·wpf·prism
ad禥思妙想6 小时前
如何运行python脚本
开发语言·python
威威猫的栗子6 小时前
用 Python 与 Turtle 创作属于你的“冰墩墩”!
开发语言·python·turtle
IT古董6 小时前
【机器学习】超简明Python基础教程
开发语言·人工智能·python·机器学习