(2条消息)Python面试真实笔试题总结(附加实现答案)
1、一行代码实现1—100之和
2、如何在一个函数内部修改全局变量
3、列出5个Python标准库
os:提供了不少与操作系统相关联的函数
sys:通常用于命令行参数
re:正则表达式匹配
math:数学运算
datetime:处理日期时间
4、字典如何删除键和合并两个字典
del和update方法
笔试差1分面试追几分
5、Python实现列表去重的方法
先通过集合去重再转为列表
6、Python基本内建数据类型有哪些
整型——int、 布尔型——bool、 字符串——str
列表——list、 元组——tuple、 字典——dict
7、Python2和Python3的range(100)的区别
Python2中的range返回的是一个列表,
Python3中的range返回的是一个迭代值,节约内存
8、一句话解释什么样的语言能够用装饰器
函数可以作为参数传递的语言,可以使用装饰器
9、简述with方法打开处理文件帮我们做了什么
打开文件在进行读写操作时可能会出现一些异常状况,如果按照常规的file.open写法,我们需要try,except,finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally的file.close()关闭文件
with方法帮我们实现了finally中file.close()操作
10、列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
11、Python中生成随机整数、随机小数、0—1之间小数的方法
12、避免转义给字符串加哪个字母表示原始字符串
r,表示需要原始字符串,不转义特殊字符
13、Python中断言方法举例
assert()方法,断言成功,则程序继续执行;断言失败,则程序报错
14、<div class="nam">中国</div>,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的
15、Python2和Python3的区别,列出5个
(1)Python3使用print必须要以小括号包裹打印内容,比如:print(“hello”);Python2既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如:print “hello"。
(2)range(1,10) 在Python2中返回的是列表,在Python3中返回的是迭代器。
(3)Python2中使用的是ASCII编码;Python3中默认使用utf-8编码。
(4)Python2中unicode表示字符串序列,str表示字节序列;Python3中str表示字符串序列,byte表示字节序列。
(5)Python3中用input,Python2中用row_input,都输入为str。
(6)Python3中/表示真除,%表示取余,//结果取整;Python2中带上小数点/表示真除,%表示取余,//结果取整。
16、列出Python中可变数据类型和不可变数据类型,并简述原理
不可变数据类型:数值型、字符串型string和元组tuple
不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象(一个地址),用id()方法可以打印对象的id(id方法的返回值就是对象的内存地址)
可变数据类型:列表list和字典dict;
允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。
17、s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"。
注:join()函数
语法:  'sep'.join(seq)
参数说明