Python面试常问的九个问题

2025-07-16 05:15:58

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方法?

Python面试常问的九个问题

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)----------------------------------------------------

Python面试常问的九个问题

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()-----------------------------------------------

Python面试常问的九个问题

4、关于Python list和dict生成问题下面这段代码输出什么?---------------------------------------------ls = [1,2,3,4]list1 = [i for i in ls if i>2]print list1list2 = [i*2 for i in ls if i>2]print list2dic1 = {x: x**2 for x in (2, 4, 6)}print dic1dic2 = {x: 'item' + str(x**2) for x in (2, 4, 6)}print dic2set1 = {x for x in 'hello world' if x not in 'low level'}print set1---------------------------------------------

Python面试常问的九个问题

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

Python面试常问的九个问题

6、关于交换两个变量的值的问题一行代码交换两个变量值a=8b=9答案:(a,b) = (b,a)

7、关于包管理的问题一个包里有三个模块,mod1.py, mod2.py, mod3.py,但使用from demopack import *导入模块时,如何保证只有mod1、mod3被导入了。答案:增加__init__.py文件,并在文件中增加:__all__ = ['mod1','mod3']

8、关于闭包的问题写一个函数,接收整数参数n,返回一个函数,函数的功能是把函数的参数和n相乘并把结果返回。

Python面试常问的九个问题

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢