Skip to content

简单语句

简单语句由一个单独的逻辑行构成。多条简单语句可以存在于同一行内并以分号分隔。
https://docs.python.org/zh-cn/3/reference/simple_stmts.html

1. 表达式语句

表达式语句用于计算和写入值(大多是在交互模式下),或者(通常情况)调用一个过程 (过程就是不返回有意义结果的函数;在 Python 中,过程的返回值为 None)。
表达式语句均会有返回值。

以下均是表达式:

python
x + y
x > y
func()
[i for i in range(10)]

2. 赋值语句

使用等号 = 运算符的表达式即可理解为赋值语句

赋值语句会对指定的表达式列表进行求值(注意这可能为单一表达式或是由逗号分隔的列表,后者将产生一个元组)并将单一结果对象从左至右逐个赋值给目标列表。

python
x = 1
lst = [1, 2, 3]

2.1 增强赋值语句

增强赋值语句就是在单个语句中将二元运算和赋值语句合为一体: 就是使用 += / -= / *= 等运算符的赋值语句

增强赋值语句例如 x += 1 可以改写为 x = x + 1 获得类似但并非完全等价的效果。
在增强赋值的版本中,x 仅会被求值一次。而且,在可能的情况下,实际的运算是原地执行的,也就是说并不是创建一个新对象并将其赋值给目标,而是直接修改原对象。

python
x += 1  # 原地加 1

2.2 带标注的赋值语句

python
id: int = 3
name: str = 'gugu'

3. assert 语句

assert 语句是在程序中插入调试性断言的简便方式 用法:assert

python
# 简单形式 assert expression 等价于
if __debug__:
    if not expression:
        raise AssertionError
    
# 扩展形式 assert expression1, expression2 等价于
if __debug__:
    if not expression1:
        raise AssertionError(expression2)

4. pass 语句

pass 是一个空操作 --- 当它被执行时,什么都不发生。
它适合当语法上需要一条语句但并不需要执行任何代码时用来临时占位

python
def f(arg):
    pass

class C:
    pass

注意:return 语句不同,pass 语句下面的代码会继续执行

5. del 语句

删除对象语句,比如:

python
del name
del d[key]

6. return 语句

函数返回语句,return 会离开当前函数调用,并以表达式列表 (或 None) 作为返回值。

python
def check_even(x):
    if x % 2 == 0:
        return True
    else:
        return False

7. yield 语句

用在生成器函数的函数体内部;用于定义生成器函数

python
def gen():
    yield 123

8. raise 语句

抛出异常

python
raise Exception('查找失败')

9. break 语句

跳出循环,只在 forwhile 循环代码中使用

python
for x in lst:
    if x % 2 == 0:
        print('lst 列表中存在偶数')
        break
else:
    print('lst 列表中没有偶数')

10. continue 语句

继续循环,只在 forwhile 循环代码中使用

python
for line in file_data:
    if not line.strip():
        print('空行,跳过此行;继续处理下一行')
        continue

11. import 语句

引入/加载模块

python
import os, sys
import json

11.1 future 语句

用于引用未来版本中的语法
比如,在 Python2 中体验 print 函数:

python
from __future__ import print_function

print('在python2中体验print函数')

12. global 语句

定义全局变量;要给全局变量赋值不可能不用到 global 关键字

python
x = 5

def test():
    global x
    x = 6
    print(x)

test()

13. nonlocal 语句

将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量)

python
x = 5

def test():
    x = 7

    def test2():
        nonlocal x
        x = 6
        print(x)  # 6

    test2()
    print(x)  # 6   # 不执行 test2() 输出的是 7

test()