跳转至

语句

注释语句

  • # 注释符则基本上是被 Shell 和其它脚本语言所用,Python属于脚本语言,用的也是这个
  • // 注释符基本上被 C 语言家族所用

终止语句不使用分号

常见的编程语言(C、Java、JS等)基本都使用了分号,既可以作为分割符(满足一行多句),又可以作为终止符(满足一句多行)。

在Python中,使用换行符来终止语句,可使用反斜杠满足一句多行(实际就是把换行符转义了),建议使用括号来换行。

参考:编程语言中分号的简明历史

代码块不使用花括号

从最初的BEGIN...END,演变为$...$,然后到C语言简化为{...},很多类C语言基本都沿用了花括号,而Python中使用了冒号和缩进来表示代码块,更加简洁。

参考:编程语言中花括号的简明历史

判断语句

  • if
if condition:
    expression
[elif] condition:
    expression
[else]:
    expression

Python中没有switch...case...语句,但可以用字典来实现

https://www.liujiangblog.com/blog/2/

def switch(key):
    case = {
        1: "1",
        2: "2",
        3: "3"
    }

    v = case.get(key, "0")
    return v

switch(1)  # "1"
switch(8)  # "0"
if x > y:
    res = x
else:
    res = y

# 不换行
if x > y: res = x
else: res = y

# 三元表达式
res = x if x > y else y
res = 1 if 0 else 2 if False else 3  # 3

循环语句

循环过程中如果改变了对象长度,则可能会影响循环次数,比如循环一个长度为2列表:for i in _list,第一次循环中移除了一个元素,此时列表长度变为1,则不会进入下一次循环

这时候可以这样去循环:for i in list(_list)

  • for

常用于循环次数限定的时候

嵌套循环,外层主要用于循环次数,内层用于遍历

for item in iterable:
    expression
# 正常结束循环时,else子句执行
[else]:
    expression
  • while

常用于循环次数限定的时候

while condition:
    expression
# 正常结束循环时,else子句执行
[else]:
    expression

控制语句

  • continue

结束当前这次循环,继续执行下一次循环

  • break

结束当前整个循环,但只能结束当前层循环

如果想结束所有循环(类似c语言中的goto语句),可以在最外层设置一个flag,让内部控制

  • pass

用于占位

# 设置一个flag,默认为False
flag = False
for i in range(10):
    # 跳出外部循环
    if flag:
        break

    for j in range(10):
        if j==7:
            flag = True
            # 跳出内部循环
            break
        print(i,j)

异常处理语句

try:
    pass  # 可能会出错的地方
except Xxx1Error as e1:
    print(e1)
except Xxx2Error as e2:
    print(e2)
except (Xxx3Error,Xxx4Error) as es:
    print("可以同时捕获多个异常")
except Exception as e:
    print('通用异常,可匹配任意异常')
except:
    print("如果不写异常名称,将匹配所有异常")
else:
    print("如果没有异常则执行")
finally:
    print("不管有没有异常最后都会执行")

raise 抛出异常

assert 断言

assert n != 0, "n is zero"  # n如果等于0则抛出次错误提示

assert A and B and C  # 会从做到有断言,只要断言失败,就不会再继续向右继续断言
# 但是更建议分开写

最后更新: 2022-07-01