Python面试真题答案或案例
Python面试真题答案或案例如下:
请等待。
#coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2、如何在一个函数内部修改全局变量 a = 1 def funcs(): global a a = a +1 print(a) funcs() #3、列出5个python标准库 import datetime,os,sys,re,math #4、字典如何删除键和合并两个字典 student ={"age":18,"class":"01"} del student["age"] print(student) student2 ={"name":"tom"} student.update(student2) print(student) #5、谈下python的GIL #GIL是python的全局解释器锁,同一进程中假如有多个进程运行,一个线程运行python程序的时候会 # 占用python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程 #才能运行。如果线程运行过程中遇到耗时操作,则解释器解开,使其他线程运行。所以在多线程中,线程的 #运行仍然是有先后顺序,并不是同时进行的。 #多进程中因为每个进程都能被系统分配资源,相当于每个进程都有一个python解释器,所以多进程可以实现 #多个进程的同时运行,缺点是系统资源开销大。
#6、python实现列表去重的方法 #方法一 a = [1,2,1,3,3,5,6,7,1,4] a = list(set(a)) print (a) #方法二 a = [1,2,1,3,3,5,6,7,1,4] b = [] for i in a: if i not in b: b.append(i) print(b) #方法三 a = [1,2,1,3,3,5,6,7,1,4] def delrepeat(liebiao): for x in liebiao: while liebiao.count(x)>1: del liebiao[liebiao.index(x)] print(liebiao) delrepeat(a) #7、fun(*args,**kwargs)中的*args,**kwargs什么意思? #这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple; # **kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前 #8、python2和python3的range(100)的区别 #python2返回列表,python3返回迭代器,节约内存 #9、一句话解释什么样的语言能够用装饰器? #函数可以作为参数进行传递的语言可以使用装饰器 #10、python内建数据类型有哪些 #touple list dict int bool str