语法糖:编程语言中的特殊写法,往往是为代码简便性、可读性、可拓展性服务的。
下面分享除装饰器外的常见9种Python语法糖。
语法糖1,下划线分割数字
a = 1000000000 # 打个10亿要去数几个零,麻烦
b = 10_0000_0000 # 清晰
c = 10_5555_5555
print(a, b, c) # 1000000000 1000000000 1055555555
语法糖2,交换值
# (算法题里可能就经常遇到,如快排)常用是用一个中间变量,数字的话可以用位运算
b, c = c, b
print(b, c) # 1055555555 1000000000
语法糖3,范围比较
if 10 <= a <= 90: # python 中可以直接就这么写,不需拆分
pass
语法糖4,字符串乘法
print('-' * 10) # ----------
语法糖5,数组合并
a = [1, 2, 3]
b = [4, 5]
print(a + b) # [1, 2, 3, 4, 5]
语法糖6,数组切片
a = [1, 2, 3, 4, 5, 6, 7]
print(a[3: -1]) # [4, 5, 6],索引3到索引倒数第一位
print(a[-1]) # 7,直接-1是最后一个元素
print(a[:3]) # [1, 2, 3]取前三个元素
print(a[-3:]) # [5, 6, 7]取后三个元素
语法糖7,打包解包
a = [1, 2]
b, c = a
print(b, c) # 1 2
print([b, c]) # [1, 2],这里用元组做例子也一直,比如坐标
语法糖8. with语句
# 一般操作文件为三步走,打开文件 - 读/写文件 - 关闭文件,考虑仔细还得加异常处理
# with语句能自动关闭文件且自动处理异常
with open('test.txt', 'r') as f:
data = f.read()
语法糖9. 列表推导式
# 举个例子,给a中元素每个+10创建到另一个数组,直接递归很麻烦,列表推导式能很简洁地写成↓
a = [1, 2, 3, 4]
b = [k + 10 for k in a]
print(b) # [11, 12, 13, 14]
参考自: https://b23.tv/e8yQmU0