优雅简洁5个快速提升python代码能力的小技巧(代码片段)

Python学习与数据挖掘 Python学习与数据挖掘     2023-03-09     691

关键词:

在Python中有许多编码小技巧。有时,了解其中的一些技巧可以帮助我们减少编写的代码量,同时让我们的程序看起来更加优雅简洁。

在本文中,我将介绍我在日常工作中经常使用的5个编码小技巧!喜欢记得收藏、关注、点赞。

【注】文末有技术交流群,同时找小助手获取 Python 编程技巧指南一份。

三元表达式

三元表达式,顾名思义,是指一个包含三个部分的表达式。第一部分是一个条件,如果条件为真,则执行第二部分;否则,将执行第三部分。Python语法看起来如下:

part_2 if condition else part_3

不妨举个栗子,代码如下:

number = 1
parity = "even" if number % 2 == 0 else "odd"
print(parity)
# odd

上述代码中,我们根据数字为奇偶数来对其进行赋值。如果数字是偶数,我们将奇偶性赋值为偶数;否则为奇数。很简单,不是吗?然而,请注意一件事:在第三部分或后面的内容中,我们只需要提供分配给变量奇偶性的取值即可。

其实,语句_part_2 if condition else part_3_ ,实质上等价于以下代码:

if condition:
    part2 = value1
else:
    part2 = value2

更加一般的是我们也可以在函数调用上使用上述三元运算,代码如下:

def add(a,b):
    return a+b

def multiply(a,b):
    return a * b

a, b = 3, 5
res = (multiply if a > b else add) (a,b)
print(res)
# 8

使用with操作相关文件

Python中的文件操作经常需要先打开,完成操作后再进行关闭或者释放。此外,代码中还经常会有异常情况产生,此时我们希望使用代码来尝试释放相应的资源。首先可以想到的是采用 try…finally 代码块来处理上述情况,代码如下:

f = open('Hi.text', 'w')
try:
    f.write('Hello, there')
finally:
    f.close()

但是一种更加优雅的写法是采用_with_关键字,代码如下:

with open('Hi.text', 'w') as f:
    f.write("Hello, there")

with 关键字是Python中上下文管理器的一个特效。上下文管理器可以让我们在需要的时候精准地分配和释放相应的资源,这意味着我们可以在使用某些资源时缩短代码段!同时,我们还可以通过覆盖___enter____exit___函数来定义自己的上下文管理器!例如,我们可以在这里定义自己的方式:

class My_file:
    def __init__(self, fname):
        self.fname = fname

    def __enter__(self):
        self.file = open(self.fname, 'w')
        return self.file

    def __exit__(self, exc_type, exc_val, exc_trace_back):
        if self.file:
            self.file.close()

相应的调用代码如下:

with My_file('hello.txt') as f:
    f.write('hello, world!')

一行中的多个比较

如果我们有一个变量 n , 我们需要检查 n 是否在0到100之间,我们会怎么做?

(n>0)and (n<100) ?

在Python中我们直接使用 0<n<100 就可以啦,是不是超级简单!

for…else语句

我们最常用的是 if…else 语句,但是Python中也支持 for…else 语句,样例代码如下:

for i in range(0,3):
    print(i)
else:
    print(i)
# 0
# 1
# 2
# 2

上述代码中,当循环执行完后,else 代码块将执行。for…else 语句块可以被理解为当循环条件不满足时,我们来处理我们需要做的事,伪代码逻辑如下:

for i in range(n):
    if condition:
        you_find_your_stuff()
        break
else:
    you_did_not_find_your_stuff()

上述代码中,如果条件_condition_ 满足,此时 break 运行,这个时候 else 代码块将不会执行。如果条件_condition_ 不满足,此时_else_ 代码块将会执行。

List生成式

列表生成式主要用于从旧数据上生成我们所需的数据列表。

一般语法如下:

data_list = [expression_to_generate_new_data for item in iterable if condition]

用于生成数字0-9的平方的代码如下:

square_numbers = [i*i for i in range(10)]
print(square_numbers)
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

如果我们只想处理上述列表中的奇数呢?我们的代码可以改写如下:

square_numbers = [i*i for i in range(10) if i % 2 == 1]
print(square_numbers)
# [1, 9, 25, 49, 81]

我们再对其进行扩展,如果对列表中的奇数计算平方运算,对偶数进行立方运算,代码如下:

square_numbers = [i*i if i % 2 == 1 else i*i*i for i in range(10)]
print(square_numbers)
# [0, 1, 8, 9, 64, 25, 216, 49, 512, 81]

总结

本文对日常工作中经常使用到的五个Python技巧进行了总结和归纳,使用这些技巧可以减少我们的代码量让代码看起来更加简洁优雅!

推荐文章

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

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

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

提升前端开发效率及查错能力的小技巧(代码片段)

前言  作为一个快五年开发经验的前端工程师,在工作中感到最痛苦的除了无止境的改需求之外,就是调试bug阶段了,有时候开发一个网站也就两个星期左右,但调试起bug来一调就是几个小时!浪费时间不说,效率又低,作为... 查看详情

java中的5个代码性能提升技巧,最高提升近10倍(代码片段)

文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客。本文Github.com/niumoo/JavaNotes已经收录,欢迎Star。这篇文章介绍几个Java开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,... 查看详情

让你的js更优雅的小技巧

首先,看一个非常不优雅的例子:看到这段代码,虽然代码很短,但是一眼看上去就不想再看了,也就是没什么可读性。这段代码,没有封装,随意定义一个变量都是全局变量,这样在多人开发或者是大型开发中,极其容易造成... 查看详情

提升python代码性能的六个技巧(代码片段)

...🗿hello大家好啊,我是作家桑。本文为大家介绍提升Python代码性能的六个技巧,希望大家看完有所收获。为什么要写本文?首先讨厌Python的人呢,总是会吐槽Python的性能速度慢。但是事实上程序运行速度的快... 查看详情

10个优雅的python编程技巧,掌握后瞬间玩转python(持续更新)(代码片段)

...代码在Python中还有一种写法,叫做PythonicPythonic(优雅的、地道的、整洁的)要写出Pythonic代码需要有大量的代码量的积累今天这里带来十条常 查看详情

19个优雅的python编程技巧

...像伪代码一样,干净、整洁、一目了然。要写出Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,下面列举一些常见的Pythonic写法。... 查看详情

几个优雅的javascript运算符使用技巧

...出现,也是希望让我们的代码更干净简洁,下面分享几个优雅的JavaScript运算符使用技巧一、可选链接运算符 查看详情

如何提升python编程能力

...当是明了的,命名规范,风格相似)Simpleisbetterthancomplex.#简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)Complexisbetterthancomplicated.#复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接... 查看详情

8个python加速运行的小技巧(代码片段)

Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方面存在一些不足。但是,有很多时候,Python的效率并没有想象中的那么夸张。本文对一些Python代码加速运行的技巧进行整理。0.代码优化原则... 查看详情

8个python加速运行的小技巧(代码片段)

Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方面存在一些不足。但是,有很多时候,Python的效率并没有想象中的那么夸张。本文对一些Python代码加速运行的技巧进行整理。0.代码优化原则... 查看详情

java中的5个代码性能提升技巧,最高提升近10倍(代码片段)

文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客。本文Github.com/niumoo/JavaNotes已经收录,欢迎Star。这篇文章介绍几个Java开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,... 查看详情

总结|提高python代码质量的7个习惯(代码片段)

功能性的代码每个人都可以写,但能写出优雅的程序却没那么容易,因此程序写的优雅与否则是区分顶级程序员与一般程序员的终极指标所在。那身为一名Pythoner,有哪些技巧能让我们写出优雅的Python代码呢,今... 查看详情

java中的5个代码性能提升技巧,最高提升近10倍(代码片段)

这篇文章介绍几个Java开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,但是作为一名技术开发者,我们还是想追求代码的更小、更快,更强。如果哪天你发现程序的运行速度不尽... 查看详情

分享几个简单的技巧让你的vue.js代码更优雅(代码片段)

1.watch与computed的巧妙结合一个简单的列表页面。你可能会这么做:created()this.fetchData(),watch:keyword()this.fetchData()前端全栈学习交流圈:731771211//面向1-3经验年前端开发人员//帮助突破技术瓶颈,提升思维能力如果参数比较多关键字... 查看详情

这10个python性能调优的小技巧,你知道几个?(代码片段)

...小技巧,每天花5-10分钟阅读我的文章,对你技术提升一定会有帮助。喜欢欢迎关注、点赞、收藏。文末提供技术交流群。1多多使用列表生成式替换下面代码:cube_numbers=[]forninrange(0,10):ifn%2==1:cube_numbers.append(n*... 查看详情

分享4个新手快速晋升ui设计师的小技巧

很多学设计的小伙伴在入门的时候不知道从何入手。本文就为大家总结一下UI设计学习的的4个技巧,相信对初学者一定非常有用。学习ui设计的小技巧之一:软件学习UI设计要学的东西很多,软件是基础的东西,要想做出好的UI设... 查看详情

能够让你装逼的10个python小技巧(代码片段)

...bag)):bag[i]=bag[i]*2但是有更好的方法:bag=[elem*2foreleminbag]很简洁对不对?这叫做Python的 查看详情

5个excel实用技巧,帮你大大提高工作效率!

...5个Excel实用的小技巧,学会了可以帮助我们在日常工作中快速提高工作效率!1.快速隐藏单元格数据若是想对单元格中的某些数据隐藏,使用单元格自定义即可。选中单元格数据,点击鼠标右键选择"设置单元格格式",点... 查看详情