python中for循环缩进_Python减少循环层次和缩进的技巧分析
本文实例分析了Python减少循环层次和缩进的技巧。分享给大家供大家参考,具体如下:
我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和缩进,让代码看起来更简洁,逻辑更清楚。不仅Python语言如此,其他语言也一样。
如图,是两段Python代码,前后两段要实现的功能是一样的,但是第二段明显可读性更好,逻辑更佳清晰。在很多循环嵌套的时候,其实可以用“逆向思维”,用continue跳出不符合条件的循环,而不是成立的时候继续执行,这样只会不断加深循环的层次。
下面是图示中的Python代码:
"""优化前"""
for item in items:
if is_for_sale(item):
cost = compute_cost(item)
if cost <= wallet.money:
buy(item)
"""优化后"""
for item in items:
if not is_for_sale(item):
continue
cost = compute_cost(item)
if cost > wallet.money:
continue
buy(item)
这样做减少了循环嵌套的层次,使可读性和逻辑性更直观,也没有那么多缩进。
转自:小谈博客 http://www.tantengvip.com/2015/05/python-for-level/
希望本文所述对大家Python程序设计有所帮助。
python中for循环缩进_Python减少循环层次和缩进的技巧分析相关推荐
- python中while的用法_Python—while循环,内涵五种九九乘法表
while语句 while循环是一个条件循环语句,如果while后的条件为真时,代码块一直循环,直到条件不再为真则结束循环. while循环的语法如下: while expression: suite ...
- python中e怎么计算_Python之循环结构——实战计算自然底数e,圆周率Π
循环结构是编程中经常使用的语法,循环结构的巧妙使用对编程来说很重要.刚才群里还有同学说自己不会用循环,其实很简单,只是没有用过才觉得难.这里介绍Python循环语法的用法,并且使用两个小例子,来加强训 ...
- python中如何定义颜色_Python图像处理之颜色的定义与使用分析
本文实例讲述了Python图像处理之颜色的定义与使用.分享给大家供大家参考,具体如下: python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪 ...
- python中event的用法_Python编程之event对象的用法实例分析
本文实例讲述了Python编程中event对象的用法.分享给大家供大家参考,具体如下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线程等待直到信号 ...
- python中的多态用法_Python面向对象之多态原理与用法案例分析
本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...
- python中while的用法_Python学习笔记之While循环用法分析
本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...
- python中else的用法_Python循环语句中else的用法总结
如何正确的理解python for循环中的else用法 程序中的else语句是便于处理某种行为,在循环的正常终止时执行:即以return或者break方式退出循环将会忽略else语句:存在contin ...
- python中for循环流程图_Python for 循环
Python for 循环 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 什么是Python中的for循环? Python中的for循环用于迭代序列(list,tuple ...
- python中for循环流程图_Python while 循环
Python while 循环 循环在编程中用于重复特定的代码块.在本文中,您将学习如何在Python中创建while循环. 什么是Python中的while循环? 只要测试表达式(条件)为真,Pyt ...
最新文章
- Python+OpenCV 图像处理系列(3)—— 画线、矩形、画圆、画椭圆、画多边形
- AI一分钟 | “芯片门”影响仍在,英伟达旗下多款芯片也遭遇“幽灵”漏洞影响;贾跃亭邀媒体试乘法乐第FF91,你怎么看?
- 【 Notes 】COMPARISON OF BASIC METHODS AND POSITIONING SYSTEMS
- 利用shell脚本来监控linux系统的内存
- 阿里工程师如何叫外卖?99%的人猜不到
- 14.IDA-XREF(交叉引用)概述
- HDU2031 进制转换【进制】
- mysql 主从同步,双主同步,如果服务器意外挂机,不同步怎么办
- Java讲课笔记16:内部类
- 曝iPhone 12 Pro耗电异常,没开启任何应用电量也急剧下降
- Django 07. django框架模型之增删改查基本操作
- 【SAP业务模式】之ICS(三):前台操作
- 机器学习-西瓜书第一、二章
- java实现希尔排序(交换法、移位法) 图解+代码推导
- Python使用TCP通讯例子
- java big5到gb2312的编码转换
- 米家有品这么多好东西哪些值得我们关注
- 使用Jeb动态调试安卓的时候显示Could not attach to target
- linux第7章进程状态和控制
- 推荐 5 个精选公众号