python条件分支和循环语句

python条件分支和循环语句

python中没有{}的写法,一般时通过缩进的方式来确定分支和循环需要执行的代码块。

if 需要判断的条件表达式: 条件成立时的动作 elif 需要判断的条件表达式: 条件成立时的动作 else: 动作 for 变量 in 迭代对象: 动作

示例:

while 退出条件: 动作

循环使用else语句

在python中,for...else表示:for中的语句和普通的没有区别,else语句会在循环正常执行完(即for不是通过break跳出中断的)情况下执行,while...else也是一样。

  • 循环正常结束(没有触发break)→ 执行else
for i in range(3): print(i) else: print("循环正常结束,执行else")
  • 循环中执行了break跳出 →不会执行 else
for i in range(3): if i == 1: break print(i) else: print("不会走到这里")
  • continue不影响 else,只是跳过单次循环
for i in range(3): if i == 1: continue print(i) else: print("循环走完,执行else")

break,continue和pass关键字

python中的break和continue和C语言中的作用一样。

break是退出循环,continue是退出当前循环(不执行下面continue下面的代码),进行下一次循环。

pass语句是一个空语句,作为占位语句使用,不做任何事情。在python2.x前,pass语句可以使用在空函数里,直接定义一个空函数会报错。在python3.x后可以直接定义空函数。

enumerate()函数

enumerate(sqe, i) 参数: seq:可迭代对象或迭代器 i:下标起始位置 返回值: enumerate类型的对象,也称为枚举对象
  • 遍历集合,获得索引和索引对应的值

  • 修改起始索引,并不是修改集合

  • 返回值和遍历原理

我们可以看到,enumerate函数的返回值是一个enumerate(枚举)对象。将其转化为列表,每一个值是一个元组,元组第一个元素是索引,第二个元素是值。所以可以通过循环来遍历。获得索引和值。

range 与 enumerate 核心区别

一句话总结:

  • range:只生成数字序号,靠下标取元素。语法:range(start, stop, step)作用:生成整数序列,常用来配合下标遍历列表。
lst = ["a", "b", "c"] # 用 range + 下标遍历 for i in range(len(lst)): print(f"下标:{i}, 元素:{lst[i]}")
  • enumerate:同时生成下标 + 对应元素,遍历更简洁。

单纯遍历元素、不需要下标:直接for val in lst即可,两个都不用。