目录
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中,循环结构(如 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:
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()
函数判断对象是否可调用。