Python写成接口

1.class BookAPIHandler: def init (self,*args,**kwargs): self.book_manager = BookManager() super().init(**args,**kwargs) super()是什么意思

在 Python 中,super() 是一个内置函数,用于调用父类(超类)的方法,实现对父类功能的复用和扩展。

python 复制代码
class BookAPIHandler(Base_class):  # 这里的 base_class 应该是某个父类,比如 BaseHTTPHTTPRequestHandler
    def __init__(self, *args, **kwargs):
        self.book_manager = BookManager()
        super().__init__(*args, **kwargs)  # 调用父类的初始化方法
   def update_books(self, book_id, **kwargs):
    try:
        update_fields = ["title", "author", "publisher", "isbn",
                         "publication_year", "read_status", "rating"]
        updates = {k: v for k, v in kwargs.items() if k in update_fields}

        if not updates:
            return False

        set_val = ','.join([f"{field} =?" for field in updates.keys()])
        sql = f"UPDATE books SET {set_val} WHERE id = ?"
        sql_val = list(updates.values()) + [book_id]

        self.cursor.execute(sql, sql_val)
        self.conn.commit()
        return self.cursor.rowcount > 0  # 检查是否有行被更新
    except sqlite3.Error as e:
        print(f"更新失败{e}")
        return False

super().init(*args, **kwargs) 的作用是:

调用当前类(BookAPIHandler)的父类的 init 方法 将当前方法接收的 *args(位置参数)和 **kwargs(关键字参数)传递给父类的构造方法 这样做的好处是:

  • 确保父类能够正确初始化自己的属性和功能
  • 避免在子类中重复编写父类已有的初始化逻辑
  • 符合面向对象编程中的 "继承" 和 "复用" 思想

BookAPIHandler 应该是继承自 BaseHTTPRequestHandler(或其他 HTTP 处理基类),通过 super() 调用父类的初始化方法,才能确保 HTTP 服务器相关的基础功能被正确初始化。

相关推荐
程序猿DD5 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
余槐i8 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8268 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
凤山老林9 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne10 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF10 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li11 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala11 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端
罗丹丹Luna11 小时前
移动端显示“已提交”以后:SAP 与低代码集成该怎样暴露真实状态
后端·架构
码事漫谈11 小时前
因为太想讨好你,所以AI会骗你
后端