python面试题[1]
1,一行代码实现1+2+3.。。+100
sum(range(1,101))
sum()
输入一个集合型的,有很多元素的东西,就能把这些元素都加起来。
先产生1到100
range(1,100)
然后加起来
2, 函数内部修改全局变量。
y=9
def f1():
y=10
f1()
print(y)
x=5
def fn():
global x
x=0
fn()
print(x)
3,列5个python标准库
考察对python的熟悉度。
os
sys
math
io
re
datetime
这些是import os
import math
可以这样写的
import iiiijjjjjkkkk
引起错误
MoudleNotFoundError
4, 考察字典,数据类型的考察
字典的特征:
大括号{}
[]列表
字典的特征:
键对
key: value
如何表示一个字典 字典1={"a":1} dict2={"c":3}
如何删除一个键对 del 字典1['key'] del dict1['a']
如何合并2个字典 字典1.update(字典2)dict1.update(dict2)
字典1就更新了,字典2不变
5,考察python的多线程编程。
GIL是python的全局解释器锁
global
解释器
lock
1个进程包括多个线程
1个线程运行,占用python解释器
其他线程等待。
等他释放之后,
其他线程才能运行。
多线程,有先后次序的,不是一起运行。
多进程中,每个进程都得到系统分配的资源
多进程,可以并行,系统资源开销大。
6列表去重复
list(set(list1))
主要考察了列表和集合的组合使用。
集合:不重复的
列表:允许重复的
列表可以转集合,去重复
集合可以转列表
考察了列表和集合的特征,以及互相转换。
for in 语句
set2={1,2,3}
m=[x for x in set2]
list()
[]
都是转换成列表的方法
7
考察python函数
python函数是很灵活的
Python函数是一个对象,可以被用作函数参数,函数返回值
函数里面可以定义函数,装饰器
一个函数里面的参数,如果是不确定有几个参数,可以使用*arg来接收参数。
比如对于不可预测的事情。
小红要请客,但是不知道来多少人。
可能张三来,可能张三,李四来,可能一个都不来。
def f2(arg):
for i in arg:
print(i)
f2()#错误
f2('a')#只接受1个参数
f2('a','b') #错误
def f2(*arg):
for i in arg:
print(i)
f2()
f2('a')
f2('a','b')
都对了
参数:
普通参数
键值对参数:
一般调用函数
f1(3)
f1('a')
还有调用函数
f1(name='abc')
f1(x=3)
在函数定义的时候,
def f(x=3):
print(x)
f()#默认
f(9)#直接传值
f(x=10)#对,用等式
f(y=10)#错,用了y,而函数定义里面用的是x
多个键值对参数的应用
def f3(**args):
for k,v in args.items():
print(k,v)
f3(x=1,y=2,z=3)
f3()
都对
8比较python2和python3的区别
这考察使用python的时间
如果很早用了python,就有个对比
range(10)
python2 返回列表
python3返回迭代器,节约内存,是一个改进
9考装饰器
本质:函数,函数当成了函数参数
f还是f,但是扩展一下f
加一个@outer
就扩展了函数功能
10考数据类型的
int,bool,str,float
list
tuple
dict
元组
列表
字典
集合
参考
- ^python 面试 https://blog.csdn.net/weixin_42232219/article/details/88801946