Python中常用的四个小技巧,一个都不容错过

在编程世界中,相比其他语言,使用 Python 语言进行编码非常简便

本文重点介绍 Python 中常见的五个小技巧,希望可以帮助大家快速提升编码效率。

闲话少说,我们直接开始吧!资料代码、技术交流,文末获取

对元组进行解包

假设我们有一个表示狗的列表,其中包含一些属性:

dog = ["pipi", 6, "poodle", "male", "brown"]

如果元组解包不存在,那么我们获取相应的元素的代码如下:

name = dog[0]
age = dog[1]
breed = dog[2]
gender = dog[3]
color = dog[4]

上述写法当列表较小时,还没什么问题。但是随着列表的增大,情况会变得更糟。。。此时我们来看下使用元组解包操作后的代码,如下所示:

name, age, breed, gender, color = dog

使用元组解包操作后,代码将变得非常简单,仅需一行代码即可,同时增加了代码的可读性。

Pprint

假设我们有一个多层嵌套的列表,如下所示:

dogs = [
    ["pipi", 6, "poodle", "male", ["brown"]],
    ["rocky", 8, "german shepherd", "male", ["brown", "black"]],
    ["fifi", 15, "german shepherd", "female", ["brown", "black"]],
    ["lexi", 2, "mongrel", "female", ["yellow"]],
]

通常我们会使用print打印上述列表内容,如下:

[['pipi', 6, 'poodle', 'male', ['brown']], ['rocky', 8, 'german shepherd', 'male', ['brown', 'black']], ['fifi', 15, 'german shepherd', 'female', ['brown', 'black']], ['lexi', 2, 'mongrel', 'female', ['yellow']]]

上述输出一团糟,稍微改进后可视化效果::

for dog in dogs:
    print(dog)
# this prints each dog list line by line

但每次我想可视化这些数据时,都要编写for循环,这是一件相当麻烦的事。直到我发现pprint。

from pprint import pprint
pprint(dogs)

使用pprint输出会更加美观,并且无需编写for循环即可进行打印,如下:

[['pipi', 6, 'poodle', 'male', ['brown']],
 ['rocky', 8, 'german shepherd', 'male', ['brown', 'black']],
 ['fifi', 15, 'german shepherd', 'female', ['brown', 'black']],
 ['lexi', 2, 'mongrel', 'female', ['yellow']]]

输出到文件中

比如说,我们有一个小程序,可以打印很多东西,但我们不希望仅仅为了这个而引入日志logging 模块。在cmd/terminal中不停上下滚动可能又非常痛苦,此时我们可能希望将输出写入文件中。

通常来说,写入文件的常用代码如下:

with open("out.txt", "w") as f:
    f.write(stuff)

但是我们也可以使用重定向的方式将输出写入文件中,如下所示:

python run.py > out.txt

上述命令中 >out.txt 告知Python来将 print 命令的输出写入到文件out.txt中。

此时我们方便地将输出写入文件中而不再需要写麻烦的写诸如with open(filename …)之类的代码啦。

三元运算符

假设我们需要将成绩score 转换为 grade:

score = 85
if score >= 50:
    grade = "pass"
else:
    grade = "fail"

为这个简单的逻辑编写多行代码有时会让人恼火。但幸运的是,Python有一个三元运算符,允许我们在一行中编写这个逻辑!如下所示:

score = 85
grade = "pass" if score>=50 else "fail"

一个稍微复杂的示例:

score = 85
if score >= 75:
    grade = "A"
elif score >= 50:
    grade = "B"
else:
    grade = "F"

使用三元运算符后的代码如下:

score = 85
grade = "A" if score>=75 else "B" if score>=50 else "F"

总结

本文重点介绍了Python进行日常编码中常见的四个小技巧,通过例子对比介绍了其简洁性和功能强大性,希望大家在日常工作多多学以致用。

联系方式

目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友,资料获取也可以加入

方式1、添加微信号:dkl88191,备注:来自CSDN
方式2、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34160248/article/details/125861246