Python语言发展到3.X以来,增加了许多语法糖,例如:
- 三元表达式
x = int(input('>>>'))
y = 3
print(x if x > y else y)
#等效于:
if x > y:
print(x)
else:
print(y)
2.封装与解构
a = 4
b = 5
tmp = a
a = b
b = tmp
#等价于
a,b = b,a
#上句中,等号右边使用了封装(元组),左边使用了解构。
3.解析式
1).列表解析式:
#语法: [expr for item in itemable fi cond1 if cond2] #等价于 lst = [ ] for item in iterable: if cond1: if cond2: lst.append(expr) [expr for i in iterable1 for j in iterable2] #等价于 lst = [ ] for i in iterable1: for j in iterabe2: lst.append(expr)
2).集合解析式
{expr for item in iterable if cond} # expr must be hashable
3).字典解析式
{key:value for item in iterable if cond }
** 解析式的作用**
1).Python解释器为解析式专门作了优化,多写解析式会让程序更简洁高效。
2).解析式就是能把程序语句写得像函数表达式一样,体现Python3面向对象的函数式编程的特点。通过嵌套的解析式,搭建程序的骨架,然后替换相应的数据结构头部(比如列表解析式的头部为列表...),就能优雅 高效地构造出一般的程序。