python中的类的继承和dict对象------------类的基础(三)
2016-06-16 00:00
417 查看
摘要: python 类 基础 小白
[code=language-python]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():'''
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法