Python面试常问的九个问题
1、关于类继承问题:有如下的一段代码:--------------------------------------------class A(object): def show(self): print 'base show'class B(A): def show(self): print 'derived show'obj = B()obj.show()--------------------------------------------如何调用类A的show方法?

2、关于方法对象问题问题:为了让下面这段代码运行,需要增加哪些代码?-----------------幻腾寂埒-----------------------------------class A(object): def __init__(self,a,b): self.__a = a self.__b = b def myprint(self): print 'a=', self.__a, 'b=', self.__ba1=A(10,20)a1.myprint()a1(80)----------------------------------------------------

3、关于new和init问题下面这段代码输出限鬃鹣哺什么?--------------------------幻腾寂埒---------------------class B(object): def fn(self): print 'B fn' def __init__(self): print "B INIT"class A(object): def fn(self): print 'A fn' def __new__(cls,a): print "NEW", a if a>10: return super(A, cls).__new__(cls) return B() def __init__(self,a): print "INIT", aa1 = A(5)a1.fn()a2=A(20)a2.fn()-----------------------------------------------

5、关于全局和局部变量问题下面这段代码输出什么?-------------------------------num = 9def f1(): num = 20def f2(): print numf2()f1()f2()-------------------------------

9、关于Python性能问题解析下面的代码慢在哪--------------------------------------def strtest1(num): str='first' for i in range(num): str+="X" return str--------------------------------------答案:python的str是个不可变对象,每次迭代,都会生成新的str对象来存储新的字符串,num越大,创建的str对象越多,内存消耗越大。