首页 > 编程语言 >Python 中的 super(类名, self).__init__() 的含义

Python 中的 super(类名, self).__init__() 的含义

时间:2024-09-10 16:46:13浏览次数:11  
标签:__ 初始化 .__ Python self init super 类名

Question

pytorch 中定义的神经网络类的 __init__() 中,经常定义 super(类名, self).__init__(), 解释下这句话。比如:

class TestNN(nn.Module):
    # 初始化函数
    def __init__(self, parm1, ...):
		super(TestNN, self).__init__()
		pass

Answer

这其实是 python 中的魔术方法。

__init__() 方法在 Python 中通常被称为“初始化方法”或“构造器”,但它并不是严格意义上的构造函数。在 Python 中,构造函数实际上是 __new__() 方法,而 __init__() 方法是在对象创建后进行初始化的方法。

让我们重新聚焦在选定的代码上:

super(类名, self).__init__()

详细解释

  1. super(类名, self):

    • super() 是一个内置函数,用于调用父类的方法。
    • 类名 是当前类的名称。
    • self 是当前类的实例。
    • super(类名, self) 返回一个临时对象,该对象允许调用 类名 类的父类的方法。
  2. __init__():

    • __init__() 是类的初始化方法,用于在对象创建后进行初始化。
    • 通过调用 super(类名, self).__init__(),实际上是在调用 类名 类的父类的初始化方法。

主要功能

这段代码的主要功能是调用 类名 类的父类 nn.Module 的初始化方法,以确保 nn.Module 的初始化逻辑得以执行。这样做的好处是,类名 类能够继承 nn.Module 的所有属性和方法,从而成为一个有效的 PyTorch 神经网络模块。

通过这种方式,类名 类可以在不重复编写 nn.Module 的初始化代码的情况下,利用 nn.Module 提供的功能,如参数管理、前向传播等。

总结

虽然 __init__() 不是严格意义上的构造函数,但在 Python 中,它通常被称为构造器,因为它在对象创建后立即执行,用于初始化对象的状态。这段代码的主要功能是确保 类名 类的父类 nn.Module 的初始化逻辑得以执行,从而继承其所有功能。

标签:__,初始化,.__,Python,self,init,super,类名
From: https://www.cnblogs.com/odesey/p/18406716

相关文章

  • 2024.08.25字节
    1.周期字符串小红有一个长度为n的字符串s,由0、1和*组成,可以把*替换成0或者1,小红想知道替换后的字符串的最短周期是多少,如果一个字符串每一个位置的字母都与后k位的字母相同,那么k即为该字符串的一个周期。形式化的说,如果存在一个正整数k使得对于所有的i属于[1,n-k]都有s......
  • 学习记录
    电脑搜索引擎分类:1.目录式分类搜索引擎。特点:检索的准确率比较低,完全依赖流程操作进行检索,过程较复杂;代表有新浪网、网易等。2.全文检索搜索引擎(关键词搜索)特点是搜全率比较高,自动提取网站信息。代表网站有谷歌、必应等。安装字体过程:第一步:找到字体网站下载所需字体文件,一般......
  • Unreal 配置插件依赖另一个插件
    例如:插件A依赖插件B1、把两个插件都放到项目Plugins文件夹下2、修改插件A的A.uplugin文件,添加如下片段"Plugins":[{"Name":"B","Enabled":true},...]3、修改插件A跟插件B的加载时间设置打开A.uplugin,设置加载时间为Default"Mo......
  • S50VB100-ASEMI单向整流桥S50VB100
    编辑:llS50VB100-ASEMI单向整流桥S50VB100型号:S50VB100品牌:ASEMI封装:SVB-4安装方式:直插批号:2024+现货:50000+正向电流(Id):50A反向耐压(VRRM):1000V正向浪涌电流:450A正向电压(VF):1.10V引脚数量:4芯片个数:4芯片尺寸:102MIL功率(Pd):大功率工作温度:-55°C~150°C类型:整流方桥、......
  • fnm安装及配置,Linux中实现node版本管理
    fnm安装及配置,Linux中实现node版本管理源码:Schniz/fnm:......
  • 搜索引擎小技巧
    搜索引擎小技巧:①使用filetype指令可以查询特定格式的文件,比如doc\txt\ppt\pdf,搜索格式为:关键词+空格+filetype:+文件格式比如:初等数论filetype:doc,搜索结果均为与初等数论有关的doc文档。②使用site指令可以搜索指定网站的内容,搜索格式为:关键词+空格+site:+网站,比如:U盘site:j......
  • 课堂小心得
    课堂学习小笔记今天课上跟着老师学习了,怎样运用搜索技巧更加精确的去搜索我们想要得到的资料以及内容。老师交了我们用目录式、全文检索+搜索引擎来进行搜索,它主要是以搜索的全文呈现进行的。一、老师交我们使用FILETYPE\SITE和INTITLE来进行搜索:用filetype指令可以查......
  • Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)
    Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录)-sysin|SYStemINside|软件与技术分享请访问原文链接:Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录),查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgLinux系统在运行过程中,出现磁盘空间不足,需......
  • 题单5:基础练习(rating1200)
    提醒对于下述语句,返回的是1(True)/0(False),即:条件语句的真假,而非后面的值之一。std::cout<<(a<b)?"Awin":"Bwin";如果需要返回值,则需要用括号包含整个条件运算符std::cout<<((a<b)?"Awin":"Bwin");题单492B.VanyaandLanterns......
  • docker镜像构建libreoffice转换文件
    具体需求: 根据Libreoffice最新版本,创建一个容器环境,用于文件不同类型的转换#使用阿里云的Python镜像FROMdockerpull.com/python:3.9-slim#设置工作目录WORKDIR/app#更新debian系统的APT源列表为阿里ARGDEBIAN_FRONTEND=noninteractiveRUNapt-getclean&&\......