看了好多博客,没有把forward讲明白。其实非常简单!
class Student(object):
def __init__(self, name):
self.name = name
def __call__(self):
print('My name is %s.' % self.name)
self.forward()
def forward(self):
print('Student')
class herry(Student):
def __init__(self, name):
self.name = name
def forward(self):
print('herry')
student = herry('bob')
student()
打印结果如下:
My name is bob.
herry
深度学习网络框架中每次都有super,那它的作用是干什么?
class Student(object):
def __init__(self, name):
print('2')
self.name = name
def __call__(self):
print('My name is %s.' % self.name)
self.forward()
def forward(self):
print('Student')
class herry(Student):
def __init__(self, name):
print('1')
super(herry,self).__init__(name)#若不写这句话,进入不到父类的初始函数中去
self.name = name
def forward(self):
print('herry')
student = herry('bob')
student()
打印结果
1
2
My name is bob.
herry
可以看出是为了父类函数的初始化。