super(Net,self).__init__() 的含义
生活随笔
收集整理的這篇文章主要介紹了
super(Net,self).__init__() 的含义
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
class Net(nn.Module):def __init__(self):super(Net,self).__init__()
python中的super(Net, self).init()
首先找到Net的父類(比如是類nn.Module),然后把類Net的對象self轉(zhuǎn)換為類nn.Module的對象,然后“被轉(zhuǎn)換”的類nn.Module對象調(diào)用自己的init函數(shù)
這是對繼承自父類的屬性進(jìn)行初始化。而且是用父類的初始化方法來初始化繼承的屬性。
也就是說,子類繼承了父類的所有屬性和方法,父類屬性自然會用父類方法來進(jìn)行初始化。
當(dāng)然,如果初始化的邏輯與父類的不同,不使用父類的方法,自己重新初始化也是可以的。比如:
#!/usr/bin/env python # -*- coding:utf-8 -*-class Person(object):def __init__(self,name,gender,age):self.name = nameself.gender = genderself.age = ageclass Student(Person):def __init__(self,name,gender,age,school,score):#super(Student,self).__init__(name,gender,age)self.name = name.upper() self.gender = gender.upper()self.school = schoolself.score = scores = Student('Alice','female',18,'Middle school',87) print s.school print s.name上面例子,父類對name和gender的初始化只是簡單的賦值,但子類要求字母全部大寫。
來源:https://blog.csdn.net/wltsysterm/article/details/104440387
總結(jié)
以上是生活随笔為你收集整理的super(Net,self).__init__() 的含义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dhcp只能分配与路由器相同网段么_路由
- 下一篇: 英雄联盟库奇海牛骑手(海牛骑手库奇绝版)