作者 | 写代码的明哥
来源 | Python编程时光(ID:Cool-Python)
头图 | CSDN 下载自东方IC
Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。
要写出 Pythonic(优雅的、地道的、整洁的)代码,还要平时多观察那些大牛代码,这里明哥收集了一些比较常见的 Pythonic 写法,帮助你养成写优秀代码的习惯。
变量交换
交换两个变量的值,正常都会想利用一个中间临时变量来过渡。
tmp = a
a = b
b = tmp
能用一行代码解决的(并且不影响可读性的),决不用三行代码。
a,b = b,a
列表推导
下面是一个非常简单的 for 循环。
my_list =
for i in range(10):
my_list.append(i*2)
在一个 for 循环中,如果逻辑比较简单,不如试用一下列表的列表推导式,虽然只有一行代码,但也逻辑清晰。
my_list = [i*2 for i in range(10)]
单行表达式
上面两个案例,都将多行代码用另一种方式写成了一行代码。
这并不意味着,代码行数越少,就越 Pythonic 。
比如下面这样写,就不推荐。
print('hello'); print('world')
if x == 1: print('hello,world')
if and :
# do something
建议还是按照如下的写法来
print('hello')
print('world')
if x == 1:
print('hello,world')
cond1 =
cond2 =
if cond1 and cond2:
# do something
带索引遍历
使用 for 循环时,如何取得对应的索引,初学者习惯使用 range + len
for i in range(len(my_list)):
print(i, "-->