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面向对象的函数式编程的特点。通过嵌套的解析式,搭建程序的骨架,然后替换相应的数据结构头部(比如列表解析式的头部为列表...),就能优雅 高效地构造出一般的程序。