Python继承显示实例化

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

class Modle:
    __name = "DNN"

    def __init__(self, name):     # 只需要传入name
        self.__name = name

    def print_name(self):
        print(self.__name)

    @classmethod
    def print_cls_name(cls):
        print(cls.__name)


class CNNModle(Modle):
    __name = "CNN"

    def __init__(self,name,layer_num):  # 既需要传入name,还需要传入层数layer_num
        Modle.__init__(self,name)       #这行非常关键,没有这行代码就会报错,显式调用的意思
        self.__layer_num = layer_num

    def print_cls_name(self):
        print(self.__layer_num)


def main():
    cnnmodle = CNNModle("Lenet",5)
    cnnmodle.print_name()
    cnnmodle.print_cls_name()


if __name__ == '__main__':
    main()


输出:

要点:如果子类中定义了__init__()函数,必须显示执行父类的初始化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值