python中的类的继承和dict对象------------类的基础(三)

class _EnumDict(dict):#建立一个新的字典类EnumDict,继承内置的Python字典类dict
        def __init__(self):
        dict.__init__(self)#继承pyton字典类的方法和属性
        self._member_names = [ ]#EnumDict增加一个新属性_member_names,并
                                                    #初始化赋值为空列表,这句有没有都不影响程序
        def keysit(self):#定义对象方法
        keyss = dict.keys(self)#将字典的键值赋予变量keyss
        return list(filter(lambda k:k.isupper(),keyss))
        #方法的返回值为键值为大写的键值
ed = _EnumDict()#创建_EnumDict类的实例对象
ed["RED"] = 1#对字典实例对象进行添加元素
ed["red"] = 2
print(ed,ed.keysit())#打印字典实例和字典实例键值
'''在上面的例子中 _EnumDict 重载同时调用了父类 dict 的一些方法,
上面的写法在语法上是没有错误的,
但是如果我们要改变 _EnumDict 的父类,不再是继承自 dict,
则必须手动修改所有方法中 dict.method(self) 的调用形式,
这样就不是一个好的实践方案了。
为了解决这一问题,Python 提供了一个内置函数 super():

在上面的例子中 _EnumDict 重载同时调用了父类 dict 的一些方法,上面的写法在语法上是没有错误的,但是如果我们要改变 _EnumDict 的父类,不再是继承自 dict,则必须手动修改所有方法中 dict.method(self) 的调用形式,这样就不是一个好的实践方案了。为了解决这一问题,Python 提供了一个内置函数 super():'''

 

转载于:https://my.oschina.net/piginwind/blog/692772

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值