个人主页:【😊个人主页】
系列专栏:【❤️Python】
文章目录
- 前言
- 条件语句
- 动态实例
- if语句
- if-else 语句
- if-elif-else 语句
- 嵌套条件语句
- 循环语句
- for循环
- while循环
- 动态实例
- 嵌套循环
前言
Python语句是构成Python程序的基本单元,用于执行各种操作,如变量赋值、条件判断、循环迭代、函数调用等,因此在学习Python过程中,熟练的掌握各种语句的运用是不可避免的环节。今天我们就在详细的介绍两种Python最常用的语句:条件语句,循环语句,想了解更多Python内容请订阅内容【Python系列教程】
条件语句
Python中的条件语句允许程序根据条件(或称为“表达式”)的真假来决定执行哪段代码。Python中主要有两种条件语句:if 语句
和 if-else 语句
,以及更复杂的 if-elif-else 结构。
注:
- 条件表达式的结果必须是布尔值(True 或 False)。Python中许多表达式都可以隐式地转换为布尔值,例如,非零数值被视为True,零和空对象(如空字符串""、空列表[]、空字典{}等)被视为False。
- 缩进在Python中非常重要,它决定了代码块的开始和结束。条件语句下的代码块必须正确缩进。
- elif 和 else 语句是可选的,但 if 语句后面必须跟一个冒号(:)和缩进的代码块。
动态实例
if语句
if 语句后面跟一个条件表达式,如果条件为真(True),则执行缩进的代码块。
x = 10
if x > 5: print("x is greater than 5")
if-else 语句
if-else 语句用于在条件为真时执行一个代码块,如果条件为假(False),则执行另一个代码块。
x = 3
if x > 5: print("x is greater than 5")
else: print("x is not greater than 5")
注:当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
if-elif-else 语句
if-elif-else 语句是 if 和 else 的扩展,允许在多个条件中进行选择。elif 是 “else if” 的缩写,用于检查多个表达式是否为真,并在为真时执行相应的代码块。
x = 10
if x > 20: print("x is greater than 20")
elif x > 10: print("x is greater than 10 but less than or equal to 20")
else: print("x is 10 or less")
注:python并不支持 switch 语句,多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
嵌套条件语句
条件语句还可以嵌套使用,即在一个条件语句的代码块内部再包含一个或多个条件语句。
x = 15
y = 20
if x > 10: if y > 15: print("Both x and y are greater than 15") else: print("x is greater than 10, but y is not greater than 15")
else: print("x is 10 or less")
循环语句
循环语句允许我们执行一个语句或语句组多次,它通常允许你重复执行一段代码块,直到满足特定的条件。Python中有两种基本的循环语句:for 循环
和 while 循环
。
注:在使用 while 循环时,必须确保循环条件在某个时刻会变为假,以避免创建无限循环。
for 循环通常比 while 循环更简洁,特别是当你知道需要遍历的序列时。
可以通过 break 语句来提前退出循环,通过 continue 语句来跳过当前循环的剩余部分并继续下一次迭代。
循环还可以嵌套使用,即在一个循环内部再定义一个或多个循环。
for循环
for 循环用于遍历任何序列(如列表、元组或字符串)或其他可迭代对象。它通常用于在你知道需要遍历的序列长度时使用。
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits: print(fruit) # 遍历字符串
for char in "hello": print(char) # 使用range()函数遍历数字序列
for i in range(5): # 默认从0开始,到4结束 print(i) # 使用range()函数指定起始和结束值
for i in range(1, 6): # 从1开始,到5结束 print(i) # 使用range()函数指定起始、结束和步长
for i in range(0, 10, 2): # 从0开始,到9结束,步长为2 print(i)
在使用Python的for循环时,有几个注意事项可以帮助你更有效地编写代码并避免常见的错误。
迭代对象:确保你用于迭代的对象是可迭代的。在Python中,列表、元组、字符串、字典(迭代其键)、集合以及任何定义了__iter__()或__getitem__()方法的对象都是可迭代的。如果尝试对非可迭代对象使用for循环,将会引发TypeError。
迭代变量:在for循环的头部,迭代变量(或称为循环变量)在每次迭代时会被赋予序列中的下一个元素。这个变量只在该循环的块内部可见。如果你需要在循环外部访问该值,应该考虑使用另一个变量来存储它。
修改迭代对象:在迭代过程中修改迭代对象(如列表)时要特别小心。如果修改导致迭代器的长度发生变化(如添加或删除元素),可能会导致跳过某些元素或引发RuntimeError(如果迭代器在迭代过程中被修改了)。如果需要修改列表,考虑先迭代其副本或使用其他逻辑。
嵌套循环:当使用嵌套循环时,确保你理解外层循环和内层循环之间的关系,以及它们如何一起工作。嵌套循环的每一层都会创建一个新的作用域,其中可以定义自己的变量。
无限循环:如果for循环的条件永远不会变为假(尽管在标准的for循环中这不太常见,因为它通常依赖于可迭代对象的长度),或者循环体内部没有适当的终止条件,那么可能会创建无限循环。确保你的循环有明确的退出条件。
while循环
while 循环在给定条件为真时重复执行一段代码块。这在你不知道需要循环多少次时非常有用。
其基本形式为:
while 判断条件(condition):执行语句(statements)……
动态实例
# 简单的while循环
count = 0
while count < 5: print(count) count += 1 # 使用while循环遍历列表(不推荐,因为不直观且难以控制)
fruits = ["apple", "banana", "cherry"]
i = 0
while i < len(fruits): print(fruits[i]) i += 1
循环条件:确保你的循环条件在某种情况下会变为假(False),以避免创建无限循环。无限循环会消耗大量系统资源,并使程序挂起。
循环变量更新:在while循环内部,确保有一个或多个语句用于更新循环变量(或影响循环条件的其他变量)。
循环控制语句:使用break语句来提前退出循环。这在你满足某个条件时不再需要继续迭代时非常有用。使用continue语句来跳过当前迭代的剩余部分,并继续下一次迭代。
嵌套循环:如果你的while循环嵌套在另一个循环(无论是while循环还是for循环)中,确保你理解这两个循环之间的相互作用。
性能考虑:对于大型数据集或复杂计算,while循环可能会变得效率低下。在这种情况下,考虑使用更高效的算法或数据结构,或者将计算分解为更小的、可管理的部分。如果可能的话,使用向量化操作(例如NumPy库中的操作)来替代循环,这通常可以显著提高性能。
嵌套循环
# 打印一个5x5的星号矩阵
for i in range(5): for j in range(5): print("*", end=" ") print() # 换行