兔仙儿~ 2022-05-23 16:35 采纳率: 100%
浏览 28
已结题

python的这种super是什么意思呢?我没见过自己继承自己的啊

class SerialPort:
message = ' '
def _ init _(self,port,buand):
super(SerialPort,self). _ init _()
self. port = serial. Serial(port,buand)
self. port close()

  • 写回答

3条回答 默认 最新

  • Cleansely 2022-05-23 17:17
    关注

    super 有两个典型用例。 在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的名称,从而令代码更易维护。 这种用法与其他编程语言中 super 的用法非常相似。
    第二个用例是在动态执行环境中支持协作多重继承。 此用例为 Python 所独有,在静态编译语言或仅支持单继承的语言中是不存在的。 这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方法。 好的设计强制要求这种方法在每个情况下具有相同的调用签名(因为调用顺序是在运行时确定的,也因为该顺序要适应类层级结构的更改,还因为该顺序可能包含在运行时之前未知的兄弟类)。

    我也没太理解,就当作查找父类,super(SerialPort,self). _init _()就是调用父类实例化的方法吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月6日
  • 修改了问题 5月23日
  • 修改了问题 5月23日
  • 展开全部

悬赏问题

  • ¥15 深度学习残差模块模型
  • ¥20 两个不同Subnet的点对点连接
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)