提高python编写习惯,让你的代码更出色(上)

文章介绍了Python中优化print语句的使用,如通过sep参数分隔多个变量,以及使用end参数控制换行。此外,文章还提到了使用logging模块替代print进行日志记录,以及如何高效地使用for循环,如少用循环、利用enumerate跟踪索引和列表操作,包括使用join函数合并列表成字符串以及用set删除列表重复项。这些技巧旨在提升代码的简洁性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

今天再看到一个我很喜欢的b站学习区up主发了一篇文章,今天学习了想顺便做一下学习记录,原文在此点击传送,也很推介大家关注他哦。


一、使用多个打印语句

初级

a,b,c = 10,5,3
print(a)
print(b)
print(c)

运行结果
在这里插入图片描述
在打印多个变量的时候,我们会首选使用print()语句为每个变量进行打印,但是其实可以使用单个打印语句打印多个变量,如下所示:

进阶

a,b,c = 10,5,3
print(a,b,c,sep="\n")

运行结果也是如此
在这里插入图片描述
看到代码,有人会误以为sep() 起到了作用,但是其实这个sep()是可以打印各种变量之间的分隔符,在这里不得不提到 “end”,而end主要作为print语句的结束符。

a, b, c = 10, 5, 3

print(a, end = "\n---\n")
print(b, end = "\n---\n")
print(c)

在这里插入图片描述

二、使用print语句代替日志记录模块

初级

平时我们碰都想要调试代码错误的时候是不是会疯狂的如下打印

print("This is a warning message)
#This is a warning message 
print("This is an error message)
#This is an error message
print("This is a critical message)
#This is a critical message

进阶

我们可以使用python自带的 logging 模块实现日志功能

import logging
logging.warning("this is a warning")

logging.error("this is an error")

logging.critical("this is a critical")

三、使用for打印相同变量

初级

我们对目标进行多次打印一个相同的变量,很多时候,我们都会如下做

repeat = 10
a = 'ABC'
for i in range(repeat):
    print(a, end = "")

在这里插入图片描述

高级

我们可以少用一个for循环,毕竟python是一门相对便捷的语言,可以试试这样

repeat = 10
a = "ABC"

print(a*repeat)

四、创建一个单独的变量来跟踪循环中的索引

初级

有时候我们会使用range迭代器来跟踪索引,如下

char_list = ["a", "b", "c", "d", "e", "f"]

for idx in range(len(char_list)):
    print("index =", idx, "value =", char_list[idx], sep = " ")
    idx += 1

在这里插入图片描述

进阶

我们可以使用python的内置函数enumerate(),对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值代码如下:

char_list = ["a", "b", "c", "d", "e", "f"]
for idx , i in enumerate(char_list):
    print("index = ", idx, "value = ", i ,sep = " ")

输出结果:
在这里插入图片描述

五、使用for循环将列表转换为字符串

初级

相信很多人都是这样写的吧,代码如下

char_lise = ["A", "B", "C", "D", "E"]
final_str = ""
for i in char_lise:
    final_str += i
print(final_str)

在这里插入图片描述

进阶

在这里我们还可以使用python的一个内置函数join(),具体作用是可以连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。

char_lise = ["A", "B", "C", "D", "E"]
final_str = "".join(char_lise)
print(final_str)

这样不仅可以避免编写一些不必要的超长代码,并且与for循环一样直观

六、使用for循环从列表中删除重复项

初级

这个时候我们大多会使用遍历并将唯一元素存入新列表中

char_list = ["A", "B", "A", "D", "C", "B", "E"]
final_list = []

for i in char_list:
    if i not in final_list:
        final_list.append(i)

print(final_list)

# {'A', 'B', 'C', 'D', 'E'} 

进阶

这个时候我们用列表就好啦,而且只用一行就可以删除重复项

char_list = ["A", "B", "A", "D", "C", "B", "E"]

set(list(char_list))

# {'A', 'B', 'C', 'D', 'E'} 

总结

今天整理的就暂时先到这里啦,整理不易,你的点赞和关注就是对我最大的支持。有哪里不懂得也可以在评论区指出来哦。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值