python流程控制

1.python逻辑判断

1.1保留字

Python支持通过保留字not、and和or对判断条件进行逻辑组合:

  • not:表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。
  • and:表示多个条件之间的“与”关系。当且仅当使用and连接的所有条件的布尔属性都为True时,逻辑表达式的布尔属性为True,否则为False。
  • or:表示多个条件之间的“或”关系。当且仅当使用or连接的所有条件的布尔属性都是False时,逻辑表达式的布尔属性为False,否则为True

1.2关系运算符

运算符 含义
== 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

1.3 if-else语句

 单分支选择结构:

if condition:
    # 如果为真执行这段代码
else
    # 如果不为真执行这段代码

多分支选择:

if conidtion1:
    #若conidtion1为真,执行这段代码
elif condition2:
    #若condition1为假且conidtion2为真,执行这段代码
else:
    #若condition都为假,执行这段代码

注:根据condition的数量,可以增加elif的数量

嵌套选择:

if condition1:
    #若condition1为真执行这段代码
    if condition2:
        #若condition1为真且condition2为真执行这段代码
    #若condition1为真执行这段代码
else:
    #若condition1为假执行这段代码

三元表达式:

<若condition为真执行这段语句> if condition else <若condition为假执行这段语句>

1.4 match语句

match表面上像 C、Java 或 JavaScript(以及许多其他程序设计语言)中的 switch 语句,但其实它更像 Rust 或 Haskell 中的模式匹配。只有第一个匹配的模式会被执行,并且它还可以提取值的组成部分(序列的元素或对象的属性)赋给变量。

match expression:
    case pattern1:
        # do something
    case pattern2:
        # do something
    ...
    case _:
        # default case

expression为要匹配的表达式,case后面跟着的是匹配模式,可以是常量、变量、类型或结构体等等。在match语句执行时,程序会逐一按照case语句中的顺序匹配每个模式,如果匹配成功则执行对应的代码块,否则继续匹配下一个模式。如果都没有匹配成功,就会执行最后的默认case语句。

 比较一个主语值与一个或多个字面量的值:

match status:
        case 400:
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something's wrong with the internet"

可以使用or 或者 “|”在一个模式中组合几个字面值:

case value1 | value2 | value3:
    # 若比较对象与以上任何一个值相符,执行这段语句

形如解包赋值的模式可被用于绑定变量:

# point is an (x, y) tuple
match point:
    case (0, 0):
        print("Origin")
    case (0, y):
        print(f"Y={y}")
    case (x, 0):
        print(f"X={x}")
    case (x, y):
        print(f"X={x}, Y={y}")
    case _:
        raise ValueError("Not a point")

第一个模式有两个字面值,可视为前述字面值模式的扩展。接下来的两个模式结合了一个字面值和一个变量,变量绑定了来自主语point的一个值。第四个模式捕获了两个值,使其在概念上与解包赋值(x, y) = point 类似。 

2.python循环

2.1 for循环

for 循环变量 in 可迭代对象:
    #代码块

可迭代对象包括:列表、元组、字符串等

在每次循环中,变量名会依次取序列中的每个元素,并执行代码块中的代码。

2.2 while循环 

while 循环条件:
    #代码块
  • 若循环条件为True,则循环执行while循环中的代码段;
  • 若循环条件为False,终止while循环。
  • 若while循环的条件总是True,这种情况叫做死循环 。

2.3嵌套循环

for 变量1 in 序列1:
    for 变量2 in 序列2:
        # 执行的代码块


for 变量1 in 序列1:
    while循环条件:
        # 执行的代码块


while 循环条件:
    # 执行的代码块
    while循环条件:
        # 执行的代码块

2.4 for-else,while-as组合

for 循环变量 in 可迭代对象:
    #若循环变量在可迭代对象中,执行这段代码
else:
    #若循环变量不在可迭代对象中,执行这段代码




while 循环条件:
        #若条件为真执行这段代码
else:
    #若条件为假执行这段代码

2.5 循环控制语句

  • break用于跳出整个循环
  • continue用于跳出本次循环,继续执行下次循环

补充:

pass语句:pass的意思是空语句,pass语句不做任何事情,只是为了保持程序结构的完整性。

你可能感兴趣的:(python学习,python,java,前端)