超详解——python条件和循环——小白篇

news2024/12/27 12:06:47

目录

1. 缩进和悬挂else

2. 条件表达式

3. 和循环搭配的else

4. 可调用对象

总结:


1. 缩进和悬挂else

在Python中,代码块是通过缩进来表示的。条件判断和循环结构的代码块需要正确缩进。悬挂else指的是else子句和相应的if或循环在同一级别的缩进。

示例:

x = 5

if x > 0:
    print("Positive")
else:
    print("Non-positive")

在这个示例中,else 子句与 if 语句在同一级别的缩进。如果条件判断为 False,则执行 else 子句中的代码。

另一个示例:

for i in range(5):
    if i == 3:
        print("Found 3")
        break
else:
    print("3 not found")

在这个示例中,else 子句与 for 循环在同一级别的缩进。只有当循环正常结束(没有被 break 打断)时,才会执行 else 子句。

2. 条件表达式

条件表达式(也称为三元运算符)允许我们在一行中进行简洁的条件判断。语法为:

result = "Positive" if x > 0 else "Non-positive"

示例:

x = 5
result = "Positive" if x > 0 else "Non-positive"
print(result)  # 输出:Positive

x = -3
result = "Positive" if x > 0 else "Non-positive"
print(result)  # 输出:Non-positive

条件表达式可以使代码更加简洁和易读,尤其适合简单的条件判断。

3. 和循环搭配的else

在Python中,循环结构(如 forwhile)可以使用 else 子句。当循环正常结束(即没有被 break 语句打断)时,else 子句会被执行。

示例:

# 使用for循环
for i in range(5):
    print(i)
else:
    print("Loop finished")

# 如果循环被break打断,else子句不会执行
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Loop finished")  # 不会执行

在这个示例中,第一个循环正常结束,因此执行 else 子句,输出 "Loop finished"。第二个循环在 i == 3 时被 break 打断,因此 else 子句不会执行。

4. 可调用对象

在Python中,可调用对象包括函数、方法、类等。我们可以使用 callable() 函数判断一个对象是否可调用。

示例:

# 定义一个函数
def my_function():
    print("Hello, world!")

# 定义一个类
class MyClass:
    def __call__(self):
        print("Instance called")

# 创建对象
func = my_function
obj = MyClass()

# 检查对象是否可调用
print(callable(func))  # True,因为func是一个函数
print(callable(obj))  # True,因为obj是一个可调用的类实例

# 调用对象
if callable(func):
    func()  # 输出:Hello, world!

if callable(obj):
    obj()  # 输出:Instance called

总结:

  • 在条件判断和循环中使用缩进和悬挂else,可以使代码结构清晰。
  • 条件表达式使简单的条件判断更加简洁。
  • 循环结构中的else子句在循环正常结束时执行。
  • 可调用对象包括函数、方法、类等,可以使用 callable() 函数判断对象是否可调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1808135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python深度学习】——信息量|熵

【Python深度学习】——信息量|熵 假设1. 信息量1.1 含义1.2 信息量的公式: 2. 熵Entropy2. 含义2.2 熵的计算公式:2.3 熵的作用 假设 例子:掷硬币 假设我们有一个公平的硬币。这个硬币有两个面:正面(H)和反面(T&…

C#项目实战

事件 public delegate void NumManipulationHandler(NumEventArgs e); // 基于上面的委托定义事件 public event NumManipulationHandler ChangeNum;public class Program{public static void Main(){NumEvent even new NumEvent(0);even.ChangeNum EventAction.Action;even…

如何在 Windows 11/10/8/7 中恢复已删除的文件

经历文件一键消失(无论出于何种原因)可能是最大的噩梦之一。即使您自己删除了文件以释放一些空间,有时您最终还是需要一劳永逸地删除的文件。无论您只是想减轻系统存储的负担并让其容纳最新的数据,还是发现它无关紧要(…

开源VisualFreebasic中文版,vb7 IDE,VB6升级64位跨平台开发安卓APP,Linux程序

吴涛老矣,社区苦无64位易语言,用注入DLL增强菜单,做成VS一样的界面 终归是治标不治本,一来会报毒,二来闭源20年没更新了 开源的VB7,欢迎易语言的铁粉进群:1032313876 【Freebasic编程语言】编绎…

算法金 | AI 基石,无处不在的朴素贝叶斯算法

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 历史上,许多杰出人才在他们有生之年默默无闻, 却在逝世后被人们广泛追忆和崇拜。 18世纪的数学家托马斯贝叶斯…

【python】python GUI编程--tkinter模块初探

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【RabbitMQ】RabbitMQ配置与交换机学习

【RabbitMQ】RabbitMQ配置与交换机学习 文章目录 【RabbitMQ】RabbitMQ配置与交换机学习简介安装和部署1. 安装RabbitMQ2.创建virtual-host3. 添加依赖4.修改配置文件 WorkQueues模型1.编写消息发送测试类2.编写消息接收(监听)类3. 实现能者多劳 交换机F…

特种设备起重机指挥题库附答案

1、【多选题】力的三要素是指:( )。(ACD) A、力的大小 B、力的单位 C、力的方向 D、力的作用点 2、【多选题】司索作业规范正确的要求是( )(ABC) A、吊点正确 B、吊索挂设合理 C、绑扎牢靠 D、吊索长短一致 3、【多选题】圆柱形物体兜吊时,一定要放空圈&#…

LearnDash+BuddyBoss:终极在线课程社区组合

您是否希望使用 WordPress 建立在线课程社区? 如果是这样,没有比LearnDash和BuddyBoss在线课程社区更好的组合了。使用这两款产品,您可以创建和销售在线课程、创建群组和讨论,并为您的学生提供整个社交网络,所有这些都…

用咖啡来理解springboot3的自动配置机制

大家好,这里是教授.F 目录 前提知识: 场景引入: 1.Starter依赖: 2.默认配置: 3.自定义配置: 4.条件化配置: 5.自动装配: 具体过程: 扫包路径的配置: 配置…

JVisuaIVM监控Jstatd启动时报错

一、 启动监控Jstatd报错 当我们在windows系统上面启动的时候好好的,在linux上面启动报错,提示报错如下,好像每一什么权限之类的 在tomcat下面查看你的项目使用的java版本,vi /usr/local/tomcat7-8083/bin/catalina.sh 查看我的…

shell编程(三)—— 运算符

和其他编程语言一样,bash也有多种类型的运算符,本篇对bash的相关运算符做简单介绍。 一、运算符 1.1 算术运算符 常见的算术运算符,如加()、减(-)、乘(*)、除&#xf…

使用Leaflet-canvas-label进行个性化标注实践详解

目录 前言 一、leaflet-canvas-label属性 1、地图展示属性 2、Canvas文本标注属性 3、事件列表 二、属性设置实战 1、标注放大比例 2、字体颜色和方向偏移 3、标注文字透明色设置 4、标注显示层级 三、事件绑定 1、颜色改变 2、事件绑定解析 3、标记初始化的一个小…

html5实现个人网站源码

文章目录 1.设计来源1.1 网站首页页面1.2 个人工具页面1.3 个人日志页面1.4 个人相册页面1.5 给我留言页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/139564407 ht…

427. 建立四叉树

427. 建立四叉树 题目难度-中等1. dfs分治 题目难度-中等 给你一个 n * n 矩阵 grid ,矩阵由若干 0 和 1 组成。请你用四叉树表示该矩阵 grid 。 你需要返回能表示矩阵 grid 的 四叉树 的根结点。 四叉树数据结构中,每个内部节点只有四个子节点。此外…

音程与和弦 音程协和度

2个音符之间的音程计算 1234567,1到7的音程是7度,音程是计算总长度,看音级的个数。 Cubase中的音程计算 下面一个是4度,一个是3度,格子中深色的行就是黑键行。 根据半音数量来确定对应音程的专业术语叫法 旋律音程、…

国产嵌入式仪器模块:电子负载模块及自动化测试软件

• 输入电流在 0–5 A 范围内线性可调 • 最大功率达 150 W,满足多种定制化应用场景 • 支持 CC/CR/CV 多种工作模式 • 支持多种辅助模块(如 PD 控制、信号调制、二维码扫描) 应用场景 • 负载能力测试(电源或信号&#xff0…

opencv--使用opencv实现旋转角度的模板匹配

下面的例子是简单的使用opencv 实现的模板匹配流程,其中时间性能和精确度还需要调整,如果直接使用会出问题,所以这个只是例子,根据代码原理可以实现尺度变化的模板匹配和旋转尺度变化同时,具体根据实现的旋转代码进一步…

【Unity学习笔记】反射

文章目录 前言反射通过反射获取类型 Unity中的反射用反射在Unity中动态加载 前言 在我平时做项目的时候,由于我们做的项目都是很简单的,所以不怎么接触反射机制。最早了解反射机制是关于Invoke的时候,知道可以通过方法名来直接进行Invoke调用…

【会议征稿,IEEE出版】第三届能源与电力系统国际学术会议 (ICEEPS 2024,7月14-16)

如今,全球能源行业正面临着前所未有的挑战。一方面,加快向清洁、可再生能源转型是遏制能源环境污染问题的最佳途径之一;另一方面,电力系统中新能源发电、人工智能技术、电力电子装备等被广泛应用和期待,以提高能源可持…