import osimport sys
不要像下面这样写在一起:
import sys, os
不过下面的写法没有问题:
from subprocess import Popen, PIPE
导入语句通常位于文件的顶部,紧挨着模块注释和文档字符串后面,在模块全局变量和常量定义之前 。
导入语句应按照以下顺序进行分组 。
(1)标准库的导入 。
(2)相关第三方库的导入 。
(3)本地应用程序/库——特定库的导入 。
每组导入语句之间请加入1个空行 。
任何对应的__all__声明都应位于导入语句之后 。
非常不推荐对内部包的导入使用相对导入语法 。请始终对所有导入都使用绝对包路径 。即便Python 2.5现在已完全实现了PEP 328[3],它的显式相对导入语法也是强烈不推荐的 。绝对导入的可移植性更好,通常可读性也会更好 。
{:—}如果是从包含类的模块中导入类,通常可以采用如下写法:
from myclass import MyClassfrom foo.bar.yourclass import YourClass
如果上述写法会导致本地命名冲突,就采用如下写法:
import myclassimport foo.bar.yourclass
然后用myclass.MyClass和
foo.bar.yourclass.YourClass表示类 。
6.表达式和语句内的空白符讨厌之事——以下场合应避免使用多余的空白符 。
- 紧靠小括号、中括号或大括号内部 。
正确:spam(ham[1], {eggs: 2})错误:spam( ham[ 1 ], { eggs: 2 } ) - 紧挨着逗号、分号或冒号之前 。
正确:if x == 4: print x, y; x, y = y, x错误:if x == 4 : print x , y ; x , y = y , x - 紧挨着函数参数列表的左括号之前 。
正确:spam(1)错误:spam (1) - 紧挨着索引或切片操作的左括号之前 。
正确:dict['key'] = list[index]错误:dict ['key'] = list [index] - 为了与另一条赋值或其他语句对齐,在运算符两边使用多个空格 。
正确:x = 1y = 2long_variable = 3错误:x = 1y = 2long_variable = 3
- 在数学运算符两侧放置空格 。
i = i + 1submitted += 1 x = x * 2 – 1hypot2 = x * x + y * yc = (a + b) * (a - b)
错误:i=i+1submitted +=1x = x*2 – 1hypot2 = x*x + y*yc = (a+b) * (a-b)
- 在用于指定关键字参数或默认参数值时,请勿在=两边使用空格 。
def complex(real, imag=0.0): return magic(r=real, i=imag)
错误:def complex(real, imag = 0.0): return magic(r = real, i = imag)
- 通常不鼓励使用复合语句,也就是在同一行放置多条语句 。
if foo == 'blah': do_blah_thing()do_one()do_two()do_three()
最好不要:【Python编码风格指南】
if foo == 'blah': do_blah_thing()do_one(); do_two(); do_three()
- 虽然有时候将小块代码和if/for/while放在同一行没什么问题,但多行语句绝对不能如此 。同时还要避免过长代码行的折叠!
if foo == 'blah': do_blah_thing()for x in lst: total += x while t < 10: t = delay()
绝对不要:if foo == 'blah': do_blah_thing()else: do_non_blah_thing()try: something()finally: cleanup()do_one(); do_two(); do_three(long, argument, list, like, this)if foo == 'blah': one(); two(); three()
本文节选自《Python 快速入门》第3版推荐阅读
- Python 3.8异步并发编程指南
- OpenCV-dlib-python3实现人脸戴墨镜和含Y的抖音效果
- python高准确率滑动验证破解平台,提供免费api接口,解决反爬虫
- 给Python代码加上酷炫进度条的几种姿势
- 万字长文讲解编码知识,看这文就够了!| 原力计划
- python列表和元组,到底用哪一个?
- 总结 90 条写 Python 程序的建议
- 用 Python 实现每秒处理 120 万次 HTTP 请求
- |年轻人喜欢这种风格的玉雕,会不会与传统之美相悖?
- 详细一看就懂得Python包概念