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