python面试题

52个python经典面试题详解(新版)_翀堏的博客-优快云博客_python面试题

1.列表和元组的区别?

列表可变,创建后可以对其进行修改,列表表示的是顺序,是有序序列

元祖不可变,元祖表示的是结构,可以用来存储不同数据类型的元素

2.如何进行字符串插值?

name = 'Chris'
# 1. f stringsprint(f'Hello {name}')
# 2. % operatorprint('Hey %s %s' % (name, name))
# 3. formatprint( "My name is {}".format((name)))

3.is 和== 有什么区别

is 用来检查对象的标识id

==用来检查对象是否相等

4.什么是装饰器

装饰器允许通过将现有函数传递给装饰器,从而向现有函数添加一些额外的功能,装饰器会实现函数的功能以及添加的额外功能

经典用法 就是调用函数的时候同时打印日志

5.解释range函数

range函数可以用来创建一个整数列表,一般用到for循环中,有三种使用方法

range(stop)

range(start,stop)

range(start,stop,step)

6.定义一个名为car的类,它有两个属性:“color”和“speed”。然后创建一个实例并返回“speed”

7.python中的实例方法,静态方法,和类方法有什么区别?

8.func 与func()的区别

9.map工作原理

返回一个列表,对序列的每一个元素,应用一个函数后的返回值列表

10.reduce函数的原理

11.filter函数

12.python是按引用调用还是按值调用

不可变对象是安引用调用

可变对象是按值调用的

13.如何使用reverse函数翻转一个列表

14.字符串的乘法

字符串自身连接k次

15.列表乘法

列表拼接

16.类中的self指的是什么

17.如何在python中连接列表

+

18.浅拷贝和深拷贝之间的区别

针对一个可变对象讨论这个问题

新对象与原对象指向内存中的同一位置对新对象的更改也会在原对象发生

浅拷贝副本

改变同时发生

深拷贝副本

两个对象是完全独立的,对一个对象修改不会对另一个对象造成改变

19.列表和数组的区别

列表在python的标准库,数组由numpy定义

列表可以在每个索引处填充不同类型的数据,数组需要同构数据

列表上的算数运算会添加删除数据,数组的算数运算按照线性代数方式工作

列表使用更少的内存

20如何连接两个数组

np.concatenate

21你喜欢python的什么

可读性强,简洁明了

22你最喜欢的库

pandas 数据操作可视化数据都轻而易举

23.列举几个可变对象和不可变对象的例子

不可变意味着创建后不可修改 int float bool string tuple

可变 list dict set

24.浮点数四舍五入

round()

25如何分割一个列表?

list[start:stop:step]

26.什么是pickling

序列化和反序列化的常用方法

27.字典和json有什么区别

dict是一种数据类型,是经过索引但无序的键值集合

json只是一个村讯指定格式的字符串,用于传输数据

28.python中用了哪些orm

29,any all是如何工作的

any只接受一个序列,序列中有一个true返回true

all是都是true返回true

30.字典和列表的查找速度哪个更快

列表查找一个值要o n的时间

字典只要o 1的时间,因为是一个哈希表

字典的限制在于唯一键

31 module 和package有什么区别

模块是可以一起导入的文件集合

宝石模块的目录

32,如何在python中递增和递减一个整数?

可以使用+= -=

33如何返回一个整数的二进制值

bins(num)

34.如何在列表中删除重复的元素?

列表转化成绩和在转化城列表

list(set(a))

35。如何检查一个值在列表中是否存在?

a in list

36.append与extend的区别

append将一个值添加到一个列表中

extend将另一个列表的值添加到一个列表中

37.如何去一个整数的绝对值

abs()

38.如何按字母顺序对字典进行排序?

不能对字典排序但是可以返回一个已排序的元祖列表

sorted(d.items)

39.如何将两个列表合并成一个元祖列表

[(k,v) for k,v in zip(a,b)]

40.一个类如何继承python另一个类

41.如何删除字符串中的所有空白?

最简单的是使用空白拆分字符串,然后将字符串再重新连接在一起

42.再迭代序列时为什么要使用enumerate

enumerate允许在序列上迭代式跟踪索引,他比定义和递增一个表示索引的整数更具有python感

43.pass,continue,break之间有什么区别

44.如何将for循环转换为使用地推是构造列表

【function(i)for i in list】

45.举一个使用三元运算符的例子

  是 if 条件 else 否

46检查一个字符串是否仅仅包含数字

‘strs’。isnumeric()

47.检查一个字符串是否值包含数字和字母

strs。isalnum()

strs。isalpha()

48.从字典返回键列表

list(dict)

49.如何将一个字符串转化为全大写和全小写

。upper()

。lower()

50.remove del pop

remove删除第一个匹配的值

del list【0】安索引删除元素

pop 安索引删除元素并返回这个元素

51 python中的异常处理

try

except

finally

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值