关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

14.从入门到精通:Python条件控制 if 语句 if 嵌套

发布时间:2023-06-26 17:00:06

Python条件控制

if 语句

if语句是Python中最基本的条件语句之一,通常用于根据条件执行不同的代码块

if语句的一般形式如下:

if condition:  # 如果条件为真,则执行这里的代码块 else:  # 如果条件为假,则执行这里的代码块

   

其中,condition是一个布尔表达式,它的值为True或False。如果condition为True,则执行if语句块中的代码;否则执行else语句块中的代码。

在Python中,if语句可以包含多个elif子句,用于测试多个条件。

elif子句的一般形式如下:

if condition1:  # 如果条件1为真,则执行这里的代码块 elif condition2:  # 如果条件2为真,则执行这里的代码块 elif condition3:  # 如果条件3为真,则执行这里的代码块 else:  # 如果所有条件都为假,则执行这里的代码块

   

在这个例子中,如果condition1为True,则执行第一个代码块;否则,如果condition2为True,则执行第二个代码块;以此类推,直到最后一个else语句块。

在Python中,if语句可以嵌套,也就是说,在if语句块中可以包含另一个if语句块。例如:

if condition1:  if condition2:  # 如果两个条件都为真,则执行这里的代码块  else:  # 如果第一个条件为真,但第二个条件为假,则执行这里的代码块 else:  # 如果第一个条件为假,则执行这里的代码块

   

在这个例子中,如果condition1为True,则继续测试condition2。如果condition2也为True,则执行第一个代码块;否则,执行else语句块。

总之,if语句是Python中最常用的条件语句之一,可以根据条件执行不同的代码块,使程序具有更好的灵活性和适应性。


if 嵌套

在Python中,可以使用if语句嵌套来实现更复杂的条件控制。if语句嵌套是指在if语句中嵌套另一个if语句,以此类推。它可以用于检测多个条件,根据不同的条件执行不同的代码块。

if语句嵌套的语法如下:

if condition1:  if condition2:  statement(s)  else:  statement(s) else:  statement(s)

   

其中,condition1和condition2是要检测的条件,statement(s)是要执行的语句块。如果condition1为真,则检测condition2,如果condition2为真,则执行if语句块中的代码,否则执行else语句块中的代码。如果condition1为假,则执行else语句块中的代码。

示例代码

x = 10 y = 5 if x > 0:  if y > 0:  print("x and y are both positive")  else:  print("x is positive but y is non-positive") else:  print("x is non-positive")

   

输出结果:

x and y are both positive

   

需要注意的是,if语句嵌套可以无限嵌套,但是过多的嵌套会使代码难以理解和维护,因此应该尽量避免过多的嵌套。


match…case

match…case是Python 3.10中引入的一种新的条件语句,用于替代旧的switch…case语句。match…case语句的一般形式如下:

match:  case:  # 如果与匹配,则执行这里的代码块  case:  # 如果与匹配,则执行这里的代码块  ...  case:  # 如果与匹配,则执行这里的代码块  case _:  # 如果与所有模式都不匹配,则执行这里的代码块

   

其中,是要匹配的值,是一种模式,用于匹配。如果与某个匹配,则执行相应的代码块;否则,继续测试下一个,直到找到匹配的模式或者执行最后一个case _:语句块。

下面是一个示例,演示如何使用match…case语句:

def get_day_of_week(day):  match day:  case "Monday":  return 1  case "Tuesday":  return 2  case "Wednesday":  return 3  case "Thursday":  return 4  case "Friday":  return 5  case "Saturday":  return 6  case "Sunday":  return 7  case _:  raise ValueError("Invalid day of week")

   

在这个例子中,get_day_of_week()函数使用match…case语句将字符串类型的星期几转换为数字类型的星期几。如果输入的字符串不是有效的星期几,则抛出一个ValueError异常。


总之,match…case语句是Python 3.10中引入的一种新的条件语句,可以替代旧的switch…case语句,使代码更加简洁和易读。



/template/Home/leiyu/PC/Static