Python面试题

1.简述列举了解的编程语言及语言间的区别?

C、C++、GO属于静态编译型语言,一次性翻译,优点:运行速度快,缺点:翻译时间长

Python、JavaScript、PHP属于动态解释型语言,一行一行翻译,优点:开发效率高,缺点:运行速度慢

JAVA、C# 属于混合型语言

2.列举python2和python3 的区别?

python2 python3
源码不统一,源码重复 源码统一,源码不重复
range打印的是一个列表 range打印的是本身
默认使用ASCII码 默认使用UTF-8
input获取的值是原类型 input获取的值是字符串类型
分为整型和长整型 全部是整型
print不需要括号 print需要括号
没有线程池 有线程池
除法返回小数 除法返回整数
python2.2之前是经典类,之后出现是新式类 不管继不继承只有新式类

3.看代码写结果

知识点:

and:都为真取后边,都为假取前边,有假取假

or:都为真取前边,都为假取后边,有真取真

v1 = 1 or 2
v2 = 3 and 7 or 9 and 0

结果:1 7

4.比较以下值有什么不同?

v1 = [1,2,3]
v2 = [(1),(2),(3)]
v3 = [(1,),(2,),(3,)]

结果:v1输出的元素是字符串,v2输出的元素是集合,v3输出的元素是集合

5.用一行代码实现数值交换

a = 1
b = 2

结果:a,b = b,a

6.python中单引号、双引号、三引号?

单引号:字符串里可包含双引号,当然不能包含单引号

双引号:字符串里可以包含单引号,字符串都只能有一行

三引号:多行注释,包含多行字符串

7.is和==的区别?

is判断两边地址是否相同,==判断两边值是否相同

8.python里如何实现tuple和list的转化?

type()

9.如何实现字符串 name='老男孩'的反转?

name[::-1]

10.两个set如何获取交集、并集、差集?

$  |  -

11.那些情况下, y != x - (x-y)会成立?

12.Python中如何拷贝一个对象?

采用赋值、深拷贝或浅拷贝

13.简述 赋值、浅拷贝、深拷贝的区别?

赋值:将多个变量名指向同一个内存地址就是赋值

浅拷贝:只拷贝第一层元素的地址,只有修改拷贝的数据第一层的时候源数据不受影响,给可变数据类型进行添加的时候源数据受影响

深拷贝:不可变数据类型内存地址共用,可变数据类型新开辟空间,不管嵌套多深

14.pass的作用?

在代码中占一行,起占位作用

15.阅读代码写结果。

import copy
a = [1,2,4,5,['b','c']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)

a.append(5)
a[4].append('d')

print(b)
print(c)
print(a)

16.用Python实现9 * 9 乘法表。

result = 0
for i in range(1,10):
	for j in range(1,i+1):
		result = i * j
		print("%d * %d = %d"%(i,j,result), end=' ')
	print()

17.用Python显示一个斐波那契数列。

def fibonacci(n):
	if a == 1:
		return n
	if a > 1:
		return fibonacii(n-1) + fibonacii(n-2)

for i in range(1,20):
	print(fibonacii(i),end=' ')

18.如何删除列表中重复的值?

使用set,集合具有去重作用

19.一个大小为100G的文件etl_log.txt, 要读取文件中的内容, 写出具体过程代码?

with open("elt_log.txt",r,encode='utf-8') as f:
	f.read()

20.a = dict(zip(("a","b","c","d","e"),(1,2,3,4,5))) 请问a是什么?

{"a":1,"b":2,"c":3,"d":4,"e":5}

21.lambda关键字的作用?

一行代码实现函数功能

22.*arg**kwarg作用?

*arg :动态位置参数,接收列表

**kwarg:动态关键字参数,接收字典

23.如何在函数中设置一个全局变量 ?

在函数的内部,通过global声明一个全局变量

posted @ 2020-02-26 11:46  江春水  阅读(246)  评论(0编辑  收藏  举报