- 交换两个变量的值
a, b = b, a
- (在合适的时候)使用推导式
列表推导式
l = [x*x for x in range(10) if x % 3 == 0]
#l = [0, 9, 36, 81]
还有字典和集合的推导式
- (在合适的时候)使用生成器
生成器是可迭代对象,但在每次调用时才产生一个结果,而不是一次产生整个结果。
squares = (x * x for x in range(10))
- 读取文件
with open('filename') as f:
data = file.read()
with 相比于一般的 open、close 有异常处理,并能保证关闭文件。相比于 try…finally 代码更简洁。
- 链式比较
0 < a < 10
- 真值判断
name = 'v1coder'
if name:
# 而不是
if name != '':
即,对于任意对象,直接判断其真假,无需写判断条件
真假值表
- 字符串反转
def reverse_str( s ):
return s[::-1]
- 字符串列表的连接
str_list = ["Python", "is", "good"]
res = ' '.join(str_list) #Python is good
- for…else…语句
for x in xrange(1,5):
if x == 5:
print 'find 5'
break
else:
print 'can not find 5!'
如果循环全部遍历完成,没有执行 break,则执行 else 子句
- 列表求和,最大值,最小值
numList = [1,2,3,4,5]
sum = sum(numList)
maxNum = max(numList)
minNum = min(numList)
- 遍历列表同时输出索引和元素
choices = ['pizza', 'pasta', 'salad', 'nachos']
for index, item in enumerate(choices):
print(index, item)
# 输出:
0 pizza
1 pasta
2 salad
3 nachos
- 遍历字典同时输出键和值
dict = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
print "字典值 : %s" % dict.items()
for key,values in dict.items():
print key,values
# 输出:
字典值 : [('Google', 'www.google.com'), ('taobao', 'www.taobao.com'), ('Runoob', 'www.runoob.com')]
Google www.google.com
taobao www.taobao.com
Runoob www.runoob.com
- 根据键名获取字典中对应的值
dict = {'Name': 'Zara', 'Age': 27}
print(dict.get('Age'))
print(dict.get('Sex', "Never"))
# 输出:
27
Never
用 get 方法,不存在时会得到 None,或者指定的默认值。
pythonic 可以理解为Python 式的优雅
,简洁、明了,可读性高。
PEP 8 -- Style Guide for Python Code
Python语言规范 - Google
Pythonic 是什么意思?