python笔试题42-69

Posted 风火林山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python笔试题42-69相关的知识,希望对你有一定的参考价值。

42、如何在Python中拷贝一个对象,并说明他们之间的区别

     答:Python中有两种拷贝方式,深拷贝与浅拷贝

    浅拷贝:用赋值符号(=)即可,内存地址公用,一个改复制对象全都改

    深拷贝:用copy模块下的deepcopy方法,每一个拷贝对象都是独立的内存地址

43、谈谈你对Python装饰器的理解

  答:装饰器是一个内嵌函数

    他能不改变原函数代码的情况下增加其装饰函数的功能

44、Python里的match()与search()区别

  答:match是从字符串第一位开始匹配,若第一位不同则找不到

    search是在字符串中找到匹配的字符串,第一位不同就找下一位

45、获取list的元素个数,和向末尾追加元素所用的方法分别是

  答:len(),.append()

46、判断dict有没有某个key的方法是

  答:py2.7(dict.has_key(key))  py3 key in dict

47、L=range(100),取第一到第三个元素用(L[:3]),取倒数第二个元素(L[-2]),取后十个用(L[-11:-1])

  把L复制给L1用(L1=copy.deepcopy(L)),非引用传递

48、d = {‘a‘:1,‘b‘:2,‘c‘:3}请打印key,value对

  答:for k,v in d.values():  print k,v

49、如何判断一个变量是不是字符串?

  答:type(a) is str

50、list与touple有什么不同

  答:list内的元素可变,touple内的元素不可变,相同长度的list与touple,list占得内存大

51、xrange与range有什么不同?

  答:range生成一个列表,xrange生成一个生成器

52、‘1,2,3’如何变成[‘1‘,‘2‘,‘3‘]?    [‘1‘,‘2‘,‘3‘]如何变成[1,2,3]?

  答:‘1,2,3’.split(‘,‘)      map(int,b)

53、def add_end(L=[]):

    L.append(‘END‘)

    return L

  >>>add_end() 输出什么---------------[‘END‘]

  >>>add_end()再次调用输出什么?为什么--------------[‘END‘,‘END’]因为指向的列表还是原来那个

54、[36,5,12,9,21]怎么排序?

  答:sorted([36,5,12,9,21])

55、def func(a,b,c=0,*args,**kw):

    pass

  *args,**kw的作用是什么

  答:接受额外的参数

56、is与==的区别?

  答:is比较内存地址和值,==只比较值

57、如何生成[1,4,9,16,25,36,49,64,81,100]?尽量用一行实现?

  答:[i*i for i in range(1,11)]

58、生成器是什么?有什么作用?请写一个生成器

  答:生成器的本质就是一个迭代器,实现惰性生成,在需要一个数据时生成一个数据

    def   gen():

       for i in range(10):

        yield i

59、map(str,[1,2,3,4,5,6,7,8,9])输出什么?

  答:[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘]

60、请写log的实现(主要功能打印函数名)

  @log

  def now():

    print ‘123455‘

  >>>now()

  输出call now():‘‘123455‘

  答:

def log(func):
def inner(*args,**kwargs):
print ‘call %s:‘ % func.__name__
ret = func(*args,**kwargs)
return ret
return inner

61、以下叙述正确的是

  A、continue语句的作用是结束整个循环的执行 B、只能在循环体内和switch语句内使用break

  C、在循环体内使用continue和break作用相同  D、从多层循环嵌套中退出时,只能使用goto语句

62、Python如何定义一个函数

  A、class<name>(<Type>arg1,<Type>arg2)   B、function<name>(arg1,arg2)

  C、def <name>(arg1,arg2)                            D、def <name>(<Type>arg1,<Type>arg2) 

63、下面那个函数能够在linux下创建子进程

  A、os.popenB、os.forkC、os.systemD、os.link

64、已知x=43,ch=‘A‘,y=1,则表达式(x>y and ch <‘B‘ and y)的值是

  A、0 B、1 C、出错 D、True(‘真‘)

65、下面语句那个会无限循环下去

  其中range函数原型为range([start],stop[,step])

  A、for a in range(10):time.sleep(10)       B、while 1 < 10: time.sleep(10)

  C、while True:break                                D、a=[3,-1,‘,"]  for i in a[:]: if a >10:break;

66、下列表达式中返回True的是

  A、3>2>2    B、‘abc‘>‘xyz‘    C、0x56<56   D、(3,2)<(‘a‘,‘b‘)

67、Python不支持的数据类型有

  A、char    B、int     C、float     D、list

68、下面的函数转换哪一个是正确的

  A、int(‘ABcDef‘)     B、float(‘‘‘)    C、bool((3,‘‘‘‘))   D、str(‘)

69、下面函数,那些会输出1,2,3三个数字

  A、for i in range(3):print i        B、aList = [0,1,2] for i in aList:print i+1

  C、i = 1 while i <3: print i  i=i+1  D、for i in range(3):print i+1






以上是关于python笔试题42-69的主要内容,如果未能解决你的问题,请参考以下文章

关于面试总结4-python笔试题

数据挖掘2022年2023届秋招Kanaries雾角科技算法岗 笔试题

python笔试题

python--常见笔试题

Python 的笔试题

2018春招-今日头条笔试题-第三题(python)