赞
踩
继承是面向对象编程中的一个重要概念,它允许我们创建一个新类,并从一个或多个现有类中继承属性和方法。
在Python中,class A(B)表示类A继承自类B。这意味着类A将继承类B的属性和方法,并且可以在类A中使用它们。
""" 定义了两个类,类B和类A。 类B有一个构造函数和一个方法,类A继承自类B,并且类A也有一个构造函数和一个方法。 """ # 定义了类B class B: # 定义B的构造函数 def __init__(self): # 给实例变量name赋值为字符串"B" self.name = "B" # 定义了类B的方法method,会打印出"This is a method from class B"。 def method(self): print("This is a method from class B") # 定义了类A,它继承自类B class A(B): # 定义A的构造函数 def __init__(self): # 调用父类B的构造函数 super().__init__() # 给实例变量age赋值为整数20 self.age = 20 # 定义了类A的方法method,先通过super().method()调用了父类B的方法,然后打印"This is a method from class A"。 def method(self): super().method() # 调用父类B的方法 print("This is a method from class A") # 创建了一个类A的实例对象a a = A() print(a.name) # 输出:B print(a.age) # 输出:20 a.method() # 输出:This is a method from class B # This is a method from class A
# 定义的神经网络模型类Net,继承自nn.Module # nn.Module是PyTorch中所有神经网络模型的基类 class Net(nn.Module): # 构造函数,用于初始化类的实例,in_planes和num_classes是构造函数的参数 def __init__(self, in_planes,num_classes): # super()函数用于调用父类的方法。 # super(Net, self)表示调用父类Net的方法。 # __init__()是父类的构造方法,通过调用super().__init__()来执行父类的构造方法,以确保父类的初始化代码也被执行。 super(Net, self).__init__() self.in_planes = in_planes self.num_classes = num_classes self.conv1 = nn.Conv2d(in_planes, 32, 3,2, 0, bias=False) self.bn1 = nn.BatchNorm2d(32) self.relu = nn.ReLU(inplace=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。