您现在的位置是:亿华云 > 系统运维

一日一技:你一定经常写出来的冗余代码

亿华云2025-10-03 13:56:41【系统运维】1人已围观

简介有一些同学是从其它语言迁移到Python的,所以写Python代码的时候,还带有其它语言的一些语法特征。于是写出来的Python代码包含了大量没什么用的无效代码。我们今天来看看常见的无效代码有哪些。先

有一些同学是日技冗余从其它语言迁移到Python的,所以写Python代码的定经代码时候,还带有其它语言的常写出一些语法特征。于是日技冗余写出来的Python代码包含了大量没什么用的无效代码。我们今天来看看常见的定经代码无效代码有哪些。

先定义再复制

列表和字典是常写出重灾区。有一些人在Python里面创建一个元素已经确定的日技冗余列表,却这样写代码:

a = list() a.append(x) a.append(y) a.append(z) 

但实际上,定经代码你可以直接一行代码写为:

a = [x,常写出 y, z] 

初始化一个元素已经确定的字典,有人也喜欢这样写代码:

a = dict() a[name] = kingname a[age] = 100 a[address] = xx 

但实际上,云服务器日技冗余一行代码就可以搞定了:

a = { name: kingname,定经代码 age: 100, address: xx} 

还有些人字典的Key存入列表,是常写出这样写代码的:

key_list = [] for key in target_dict.keys():     key_list.append(key) 

但实际上,一行代码就搞定了:

key_list = list(target_dict) 

条件判断真、日技冗余假、定经代码是常写出否为空

有些人在写条件判断的时候,是这样写的:

if a == False:     print(xx) if a == []:     print(xx) if a == :     print(xx) if a == None:     print(xx) if a == 0:     print(xx) 

但实际上,这些判断全部可以合并成一个:

if not a:     print(xx) 

同理,对于判断真、非空、非零的代码:

if a == True if len(a) > 0 if a != 0 if a != None 

全部都可以合并成:

if a:     print(xxx) 

稍稍有点技术含量的冗余

有些人在写条件判断的分支检测的服务器托管时候,是这样写的:

for ele in target_list:     if ele > 0:         print(列表中至少有一个数字大于0)         return True     else:         continue 

这里的else: continue实际上没有任何作用,完全可以删除:

for ele in target_list:     if ele > 0:         print(列表中至少有一个数字大于0)         return True 

列表推导式式我们经常使用的一种语法糖。但Python里面,其实还有一个生成器推到式,它写为(x for x in yyy),这里使用小括号。所以对于下面这几行代码:

a = [1, 2, 3] sum_result = sum([int(x) for x in a]) 

知道生成器推到式的同学可能会这样写:

a = [1, 2, 3] sum_result = sum((int(x) for x in a)) 

但实际上,如果一个生成器推到式作为另一个函数的唯一参数,那么可以省略内层括号:

a = [1, 2, 3] sum_result = sum(int(x) for x in a) 

大家也可以在评论区说说你知道的其它冗余写法。

本文转载自微信公众号「未闻Code」,可以通过以下二维码关注。转载本文请联系未闻Code公众号。服务器租用

很赞哦!(629)