Python控制结构(If、While、For)

来源:互联网 发布:日本房产中介 知乎 编辑:程序博客网 时间:2024/06/11 12:20

Python控制结构

  • Python控制结构
    • 条件分支
      • if语句
    • 循环
      • while循环
      • for 循环
    • 总结


条件分支

if语句

  基本语法:

        if bolean_exp1:            suite1        elif boolean_exp2:            suite2        elif boolean_expN:            suiteN        else:            else_suite

条件表达式:?:。
可以有0至多个elif语句,else语句是可选的。
当上一个分支不满足条件时,就会进入下一分支继续判断是否满足条件,当某个分支满足时,会执行相应的suite语句,并退出if块;如果没有一个分支满足,控制流会走完整个if块(若有else子句,会执行else子句)并退出if块。。
if…else语句可以写成如下表达式:

exp1 if boolean_exp else exp2

如果boolean_exp为True,表达式结果为exp1,否则为exp2。
可以通过not操作符对boolean_exp取反操作。
避免陷阱:

n + 1 if boolean else 0

此处n + 1会被当作表达式exp1的一部分。
 

循环

while循环

  基本语法:

        while boolean_exp:            while_suite        else:            else_suite

显而易见的是,python语言while循环有else分支。并且else分支是可选的。
只要boolean_exp始终为True,while循环就不会终止。
continue语句可以使while循环跳转到起始处(忽略本次循环余下语句)并重新评估boolean_exp的取值。
 

for 循环

  基本语法1:

        for exp in iterable:            for_suite        else:            else_suite

  基本语法2:

        for (exp1, exp2) in iterable:  # 左侧类型可以是list等。        #序列拆分,右侧iterable如dict,通过调用dict.items()方法;左侧可以是多个变量或者变量序列。            for_suite        else:            else_suite

  内涵形式(创建list、tuple等的一种表达式):

        [exp for exp in iterable if boolean_exp]  #创建list

通常,exp是一个或多个变量或者是一个变量序列(元组形式)。
for循环同while循环一样都有一个可选的else子句。
continue语句可以使for循环跳转到起始处(忽略本次循环余下语句)并进行下一次迭代。
注意:for 循环的表达式中创建的变量在循环终止后仍然存在,其存在周期为创建变量开始,直到所在函数闭合范围结尾处终止。
 

总结:

  1. if条件分支、while、for循环内部会因为错误error或return语句被退出;
  2. while、for循环可通过contiune语句跳过本次循环;
  3. while、for循环可通过break语句退出循环;
  4. while、for循环可选else子句在非正常终止(break语句、return语句、错误error)时不会执行;
  5. for循环中循环条件iterable是一个可迭代对象(str、list、tuple、map、dict等)。