Python 不确定是什么形式。初始化(self)是什么形式?

Python 不确定是什么形式。初始化(self)是什么形式?,python,.net,forms,ironpython,init,Python,.net,Forms,Ironpython,Init,我正在看一些使用windows窗体使用IronPython制作选项卡式分割图像查看器的代码,init函数中有一行我不理解,在搜索时看不到解释。我在有问题的行旁边放了一条注释 下面是一些代码,它只是锅炉板代码,将带来一个空表单 import clr clr.AddReference('System.Windows.Forms') from System.Windows.Forms import Application, Form class MainForm(Form): def _

我正在看一些使用windows窗体使用IronPython制作选项卡式分割图像查看器的代码,init函数中有一行我不理解,在搜索时看不到解释。我在有问题的行旁边放了一条注释

下面是一些代码,它只是锅炉板代码,将带来一个空表单

import clr
clr.AddReference('System.Windows.Forms')

from System.Windows.Forms import Application, Form

class MainForm(Form):

    def __init__(self):
        Form.__init__(self) #what is this line doing?
        self.Show()

Application.EnableVisualStyles()
form = MainForm()
Application.Run(form)

在页面的其他地方,它有一个完成的程序,这种程序可以工作(添加额外图像时,选项卡不起任何作用),但在init函数中仍然有相同的行,有人知道它做什么吗?

类MainForum是类表单的扩展

所有的
表单.\uuuu init\uuuuu(self)
都在调用表单类的构造函数

小例子: 让我们把人和学生分成两个班。一个人有一个名字,他就是这么做的。学生是人,但也有其他属性,比如他参观的学校。他还能告诉你他的名字

class Human():
  def __init__(self, name):
    self.name = name #We set the name of the human

class Student(Human):
   def __init__(self, name, school):
     self.school = school
     Human.__init__(self, name) #We set the name of the Human inside of the Person
   def tellName(self):
     print(self.name)

   student1 = Student("John Doe","ETH Zurich")
   student1.tellName()   
输出: 无名氏


您可以将其视为父类现在是子类的一部分。学生仍然是人。

它调用继承的
\uuuuu init\uuuu
实现,这行代码是不是说它是父类的子类(也就是说,父类叫做‘Form’?@Windy71它不是子类,而是扩展。你可以看看这本关于python继承的非常好的教程:非常感谢Jocomol在这方面做了很多,非常感谢!我从Jocomol那里知道了我应该寻找什么,以防对其他人有所帮助,我也发现了这一点。