真·面试题

算法:

1.现在有一个字符串'acbd',此时,我要去掉字符串中的'ac'和'b',此时只剩下了'd',

如果字符串是'aabccd',此时,依旧是去掉'ac'和'b',如果是遍历多次去去掉'ac'和'b',那么得到的结果依旧是'd',

此时让你只通过一次循环就能达到这个多次循环的目的。(注意:其过程中的关键字的内部也不能有循环)

....暂无,求助
解题思路

2.下面有一段代码:

class Foo(object):
    
    def __init__(self):
        self.name = 'null'

    def func(self):
        return 'nullnull'

obj = Foo()

obj.name
obj.func()

上述访问对象成员的name和func的是什么?

访问 对象成员的name和func的是什么?
当然是obj了
obj是啥?
一个......
变量名
答案

obj.xxx是什么意思?

这个简单
obj.xxx表示去obj中寻找变量名xxx,并获取其对应的内存地址中的内容
答案

请使用其他的方式获取obj对象中的name变量指向的内存中的值 ‘null’

#最简单的方法,通过getattr就可以

obj = Foo()
print(obj.getattr(obj,'name'))
答案一
#难一点的方法,反正我是一时没反应过来

obj = Foo()

print(obj.__dict__['name'])
答案二

 

posted @ 2018-06-26 23:20  "%201  阅读(91)  评论(0编辑  收藏  举报