黑马程序员技术交流社区
标题: 【杭州校区】python字典的深入理解和重写 [打印本页]
作者: 小江哥 时间: 2018-12-22 20:10
标题: 【杭州校区】python字典的深入理解和重写
前几天遇到的一个比较难的面试题,考察队python 字典的深入理解还有重写,题和答案如下
请写一个类继承dict类,支持.方式访问
mydict = Mydict()
mydict.a = 1
mydict.b = 2
mydict.c.d = 3
print mydict
print mydict.c
输出:
{'a': 1, 'c': {'d': 3}, 'b': 2}
{'d': 3}
答案如下:
class Mydict(dict):
def __setattr__(self, key, value):
self[key] = value
super().__setattr__(key, value)
def __getattr__(self, item):
self[item] = self.__class__()
self.__setattr__(item, Mydict())
return super().__getitem__(item)
if __name__ == '__main__':
mydict = Mydict()
mydict.a = 1
mydict.b = 2
mydict.c.d = 3
print(mydict)
print(mydict.c)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |