免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: tianshizhiluan
打印 上一主题 下一主题

请问 "luffy.deng": 如何访问属性(一句话描述不清楚) [复制链接]

论坛徽章:
0
31 [报告]
发表于 2010-08-26 12:52 |只看该作者
看来还是不服气。

那你就继续吧。反正谁都挡不住你写烂代码。
shhgs 发表于 2010-08-26 12:47


对于你3楼愿来写的那个递归 说实话我的确看不上。

论坛徽章:
0
32 [报告]
发表于 2010-08-26 12:54 |只看该作者
那是你的自由。

搞不清楚好代码和烂代码,也是你的自由。你就顾影自怜去吧。

论坛徽章:
0
33 [报告]
发表于 2010-08-26 12:55 |只看该作者
回复 30# shhgs

先把  还是有点问题的比如下边这个字典  foo.__str__是得不到30的  这个问题解决掉吧。

论坛徽章:
0
34 [报告]
发表于 2010-08-26 12:56 |只看该作者
本帖最后由 luffy.deng 于 2010-08-26 13:02 编辑
那是你的自由。

搞不清楚好代码和烂代码,也是你的自由。你就顾影自怜去吧。
shhgs 发表于 2010-08-26 12:54


先把这个问题解决掉吧。foo.__str__是得不到30的

    d={'__str__':30,
'b':None}

class dct(object):
    def __init__(self, d):
        self.__d = d
    def __getattr__(self, k):
        try:
            result = self.__d[k]
            if isinstance(result, dict):
                o = dct(result)
                setattr(self, k, o)
                return o
            else:
                return result
        except:
            raise AttributeError

foo = dct(d)
print foo.__str__

论坛徽章:
0
35 [报告]
发表于 2010-08-26 12:57 |只看该作者
回复  shhgs
还是有点问题的比如下边这个字典  foo.__str__是得不到30的。
luffy.deng 发表于 2010-08-26 12:50



是呀

还有__eq__, __lt__, __ne__, __gt__, ......

你也可以试试

d = {'hello world', 1}

论坛徽章:
0
36 [报告]
发表于 2010-08-26 12:58 |只看该作者
是呀

还有__eq__, __lt__, __ne__, __gt__, ......

你也可以试试

d = {'hello world', 1}
shhgs 发表于 2010-08-26 12:57


解决不了?

论坛徽章:
0
37 [报告]
发表于 2010-08-26 13:03 |只看该作者
再提示你一下

d = {'__getattr__' : 1, '__getattribute__': 2}

论坛徽章:
0
38 [报告]
发表于 2010-08-26 13:12 |只看该作者
回复 37# shhgs

__getattribute__被覆盖是不行,你后边改过的实现是很好。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
39 [报告]
发表于 2010-09-01 19:27 |只看该作者
回复 38# luffy.deng


    哥们我很服气你!!也佩服你做事的态度,虽然我认为它的代码很有性能问题,但是却没有实践去证明。
谢谢你。

shhg。你要有本事你就自己放出代码,别在着z13

论坛徽章:
0
40 [报告]
发表于 2010-09-28 09:05 |只看该作者
本帖最后由 a515200 于 2010-09-28 09:15 编辑

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP