目录
1. 缩进和悬挂else
2. 条件表达式
3. 和循环搭配的else
4. 可调用对象
总结:
1. 缩进和悬挂else
在Python中,代码块是通过缩进来表示的。条件判断和循环结构的代码块需要正确缩进。悬挂else指的是else子句和相应的if或循环在同一级别的缩进。
示例:
x = 5if 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) # 输出:Positivex = -3
result = "Positive" if x > 0 else "Non-positive"
print(result) # 输出:Non-positive
条件表达式可以使代码更加简洁和易读,尤其适合简单的条件判断。
3. 和循环搭配的else
在Python中,循环结构(如 for
和 while
)可以使用 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:breakprint(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()
函数判断对象是否可调用。