简单语句
简单语句由一个单独的逻辑行构成。多条简单语句可以存在于同一行内并以分号分隔。
https://docs.python.org/zh-cn/3/reference/simple_stmts.html
1. 表达式语句
表达式语句用于计算和写入值(大多是在交互模式下),或者(通常情况)调用一个过程 (过程就是不返回有意义结果的函数;在 Python 中,过程的返回值为 None)。
表达式语句均会有返回值。
以下均是表达式:
x + y
x > y
func()
[i for i in range(10)]
2. 赋值语句
使用等号 =
运算符的表达式即可理解为赋值语句
赋值语句会对指定的表达式列表进行求值(注意这可能为单一表达式或是由逗号分隔的列表,后者将产生一个元组)并将单一结果对象从左至右逐个赋值给目标列表。
x = 1
lst = [1, 2, 3]
2.1 增强赋值语句
增强赋值语句就是在单个语句中将二元运算和赋值语句合为一体: 就是使用 +=
/ -=
/ *=
等运算符的赋值语句
增强赋值语句例如 x += 1
可以改写为 x = x + 1
获得类似但并非完全等价的效果。
在增强赋值的版本中,x 仅会被求值一次。而且,在可能的情况下,实际的运算是原地
执行的,也就是说并不是创建一个新对象并将其赋值给目标,而是直接修改原对象。
x += 1 # 原地加 1
2.2 带标注的赋值语句
id: int = 3
name: str = 'gugu'
3. assert 语句
assert 语句是在程序中插入调试性断言的简便方式 用法:assert
# 简单形式 assert expression 等价于
if __debug__:
if not expression:
raise AssertionError
# 扩展形式 assert expression1, expression2 等价于
if __debug__:
if not expression1:
raise AssertionError(expression2)
4. pass 语句
pass
是一个空操作 --- 当它被执行时,什么都不发生。
它适合当语法上需要一条语句但并不需要执行任何代码时用来临时占位
def f(arg):
pass
class C:
pass
注意:与 return
语句不同,pass
语句下面的代码会继续执行的
5. del 语句
删除对象语句,比如:
del name
del d[key]
6. return 语句
函数返回语句,return 会离开当前函数调用,并以表达式列表 (或 None) 作为返回值。
def check_even(x):
if x % 2 == 0:
return True
else:
return False
7. yield 语句
用在生成器函数的函数体内部;用于定义生成器函数
def gen():
yield 123
8. raise 语句
抛出异常
raise Exception('查找失败')
9. break 语句
跳出循环,只在 for
或 while
循环代码中使用
for x in lst:
if x % 2 == 0:
print('lst 列表中存在偶数')
break
else:
print('lst 列表中没有偶数')
10. continue 语句
继续循环,只在 for
或 while
循环代码中使用
for line in file_data:
if not line.strip():
print('空行,跳过此行;继续处理下一行')
continue
11. import 语句
引入/加载模块
import os, sys
import json
11.1 future 语句
用于引用未来版本中的语法
比如,在 Python2
中体验 print
函数:
from __future__ import print_function
print('在python2中体验print函数')
12. global 语句
定义全局变量;要给全局变量赋值不可能不用到 global
关键字
x = 5
def test():
global x
x = 6
print(x)
test()
13. nonlocal 语句
将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量)
x = 5
def test():
x = 7
def test2():
nonlocal x
x = 6
print(x) # 6
test2()
print(x) # 6 # 不执行 test2() 输出的是 7
test()