摘 要
记录 Python 学习过程中不同于一般语言的特性。
关键词: python
主要教程
切片
- 对列表的索引支持负数,但不可以越界,而切片参数则可以为负数,也可以越界。
squares = [1, 4, 9, 16, 25] print("squares:", squares) print(squares[0]) print(squares[-1]) #bad: 5 out of range, try uncomment it and run #print(squares[5]) print(squares[0:5]) print(squares[0:-1])
循环
- for-else 语法的 else 分支在 for 循环正常结束时(即没有 break)触发
for i in range(10): if i == 5: print("break for") break else: print("for-else brach executed")
- pass 语句: 语法上需要一个语句,但程序不实际执行任何动作时,可以使用该语句。
def funA(): pass
- match 语句: 与其他语言的 switch 相似,但可以在 case 字句中使用
|
符号匹配多个,使用_
代表 default 分支,case 分支还可以在后面加if
条件语句。
match status: case 401 | 403 | 404: return "Not allowed"
# 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) if x == y: print(f"X=Y={x}") case (x, y): print(f"X={x}, Y={y}") case _: raise ValueError("Not a point")
函数
- 在 python 的函数参数中存在位置参数,关键值参数,元组参数,字典参数。
- 参数调用方式又存在 3 种约束:仅按位置,按位置或关键字,仅按关键字。
- 关键值参数必须在位置参数之后,关键值参数之间的顺序无关紧要。
- lambda 关键字用于创建匿名函数,匿名函数只能是单个表达式。