如何使python代码更pythonic

理解python与c语言的不同

变量替换

在python中两个变量不需要引入中间替换量,利用python的packing/unpacking机制,替换只需:

1
a,b= b,a

安全关闭文件描述符
需要安全关闭文件,使用with语句:

1
2
with open(path,'r',mode='utf-8') as f:
do_sth_with(f)

list倒序排列

1
2
a = [1,2,3]
print list(reversed(a))

字符串格式化法
使用str.format()

1
print '{great} from {language}'.format{great='hello world',language='python'}

flask框架的学习

检查程序PEP8的使用

1
2
3
4
5
6
7
#安装
$pip install -U pep8
#检查代码
$pep8 --文件名.py
#使用--show-source参数让PEP8显示每个错误和警告对应的代码
$pep8 --show-source --show-pep8 name.py
#甚至可以检查一个项目的质量,并生成报表

缩进、{}、单引号和双引号

与c/c++/java使用{}来分割代码不同,python中使用严格的代码缩进方式分割代码块。python 中单引号和双引号没有明显区别,而使用上有小区别。

1
2
string_1 = "He said, \"hello\""
string_2 = 'He said, "hello"'

三元操作符

python2.5之前不支持三元操作符

1
2
3
#三元操作符写法
X if C else Y
print x if x<y else y

没有swith…case

1
2
3
4
if **:
elif **:
elif **:
else

将常量集中到一个文件
提倡把常量放在一个文件里,这样有利于维护,一旦需要修改常量值可以直接修改

利用assert语句来发现问题

充分利用lazy evaluation的特性
常被翻译为延迟计算或者懒性计算,指仅仅在真正需要执行的时候才计算的表达式

-------------本文结束感谢您的阅读-------------
Wenjun D(Wendy) wechat
长得好看的都关注了哟
0%