python面试题总结(一)

   日期:2024-12-26    作者:b1253142 移动:http://ljhr2012.riyuangf.com/mobile/quote/25425.html

 
 
 

执行结果:20,10

 

执行结果:20,20

 
 

🌙删除键

方法一:使用pop()
方法二:使用del

 

🌙合并字典

update:可以实现字典之间的合并

 

执行结果:{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4}

进程中多线程执行任务是共享进程中的数据的,在单个cpu时间范围内,如果某个线程没有执行完毕,并且没有连续的cpu时间片段,此时后面的线程也开始执行任务,会出现数据混乱的现象,即线程不安全。解决方法:加锁,保证某一时间只有一个线程在执行任务。

 
 

:接收实际参数中所有没有匹配到的位置参数
:接收实际参数中所有没有匹配到的关键字参数

可以将函数作为参数进行传参的

str
int
float
bool
list
tuple
dict
set

a、用于创建对象,将创建的对象给__init__方法
b、至少传递一个参数cls,代表当前类
c、必须要有返回值,返回实例化出来的实例

如果使用常规的f.open()写法,我们需要try、except、finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件。

 

使用with方法

 

执行with这个结构之后。f会自动关闭。相当于自带了一个finally。
但是with本身并没有异常捕获的功能,但是如果发生了运行时异常,它照样可以关闭文件释放资源。

方法一

 

方法二

 
 

random.random():随机生成0到1之间的小数
:.3f:保留3位有效数字

 
 
 

断言失败

 
 

历史博文有详细解答,按值赋值和引用赋值

🌙集合可以对字符串进行去重

 

🌙特别注意:不能使用split()方法

 
 
 
 

🌙dict1.items():获取字典中的键值,并且键和值组合在一起成一个元组

字典生成式

 
 
 

🌙统计字符串每个单词出现的次数
from collections import Counter
res=Counter(a)

 

执行结果
Counter({‘e’: 8, ‘w’: 7, ‘r’: 5, ‘;’: 3, ‘g’: 2, ‘d’: 2, ‘f’: 1, ‘6’: 1})

 

执行结果
[1, 3, 5, 7, 9]

 

执行结果
[1, 3, 5, 7, 9]

 

执行结果
<class ‘tuple’>
<class ‘int’>
<class ‘str’>

🌙列表相加:合并列表
extend

 
 

列表生成式多层嵌套

 

执行结果
[1, 3, 5, 7, 9]

🌙join():括号里面的是可迭代对象,x插入可迭代对象中间,形成字符串,结果一致

 
 

🌙try except else 没有捕获到异常,执行else语句
try except finally 不管是否捕获到异常,都执行finally语句

三种方法

 
 

a、zip()函数在运算时,会以一个或多个序列(可迭代对象)作为参数,返回一个元组的列表,同时将这些序列中并排的元素配对。
b、zip()函数可以接收任何类型的序列,同时也可以有2个以上的参数;当传入的参数不同时,zip能自动以最短序列为准进行截取,获取元组。

 

执行结果
[(1, 5), (2, 6), (3, 7)]
[(1, 5), (2, 6), (3, 7)]
[(1, 5), (2, 6)]

 

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 3, 4, 5, 6]

1、采用生成器,不使用列表和列表推导式,节省大量内存
2、多个if elif else 条件语句,把最有可能发生的条件写在最前面,这样可以减少程序判断的次数,提高效率。
3、循环代码优化,避免过多重复代码的执行
4、多进程、多线程、协程

redis:内存型非关系数据库,数据保存在内存中,速度快
mysql:关系型数据库,数据保存在磁盘中,检索的话,会有一定的IO操作,访问速度相对慢

 

[2, 3, 4, 5, 6, 9]

 

2944204723184
2944204723184

round(3.1415926,2):2表示保留小数点后2位

 

3.46
3.456

fn(“one”,1):直接将键值传给字典
fn(“two”,2):因为字典是可变数据类型,所以指向同一个内存地址,传入新的参数后,相当于给字典增加值
fn(“three”,3,{}):传入了一个新字典,所以不再是原先默认的字典

 

{‘one’: 1}
{‘one’: 1, ‘two’: 2}
{‘three’: 3}

 
 

历史博文详细讲解






 
 

sort:对原列表进行排序,只能对列表进行排序

 

[1, 2, 3, 4, 4, 6]

 

对元组排序报错
Traceback (most recent call last):
File “D:logceshi_logface_1.py”, line 249, in
f1.sort()
AttributeError: ‘tuple’ object has no attribute ‘sort’

sorted:对可迭代对象进行排序,排序后产生新的可迭代对象(列表

 

执行结果
[1, 2, 3, 4, 4, 6] 1646645367488
(1, 4, 6, 3, 2, 4) 1646643170272

 

不使用lambda函数对数据进行从小到大的排序

 

不使用lambda函数对数据进行从大到小的排序

 
 
 

[0, 2, 4, 8, 8, 9, -2, -4, -4, -5, -20]

 

[{‘name’: ‘li’, ‘age’: 24}, {‘name’: ‘ww’, ‘age’: 25}, {‘name’: ‘zs’, ‘age’: 18}]
[{‘name’: ‘ww’, ‘age’: 25}, {‘name’: ‘li’, ‘age’: 24}, {‘name’: ‘zs’, ‘age’: 18}]

 

[(‘ls’, 18), (‘ww’, 20), (‘zs’, 19)]
[(‘ls’, 18), (‘zs’, 19), (‘ww’, 20)]

 

[[‘ls’, 18], [‘ww’, 20], [‘zs’, 19]]
[[‘ls’, 18], [‘zs’, 19], [‘ww’, 20]]

方法一

 

{‘city’: ‘beijing’, ‘name’: ‘zs’, ‘tel’: 1243124}

方法二

 
 
 

[‘zs’, ‘tel’, ‘city’, ‘name1’, ‘beijing’]

 

21

 

5040


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号