Python基础语法
1、不在同一句import中引用多个库
正确姿势:import osimport sys
错误姿势:importos,sys
2、代码长度约束
一行列数:PEP8 规定最大为79列,如果拼接url很容易超限
一个函数:不可以超过30行;直观来讲就是完整显示一个函数一个屏幕就够了,不需要上下拖动
一个类:不要超过200行代码,不要超过10个方法
一个模块:不要超过500行
3、常见格式问题
(1)错误记录:W292 no newline at end of file
处理:在代码末尾加一行回车就行(新行不要有空格)。
(2)错误记录:E302 expected 2 blank lines, found 1
处理:需要再补一个空白行(函数之间需要最少2个空白行,方便查阅、区分)
(3)错误记录:E231 missing whitespace after ‘,’
处理:“,”后要有空格(原因简单来说还是要方便查看,即逗号后“,”需要补空格)
举例:
错误:print(“%s %s %s %s %s %s” % (A,B,D,E,K,L))
正确:print(“%s %s %s %s %s %s” % (A, B, D, E, K, L))
也许在这里并不能非常明显看出来,但是当代码多的时候,你会发现适当的空格会显得代码容易观看。
(4)错误记录:E225 missing whitespace around operator
处理:主要原因其实跟上面的问题三差不多,主要目的都是为了查看方便
错误 f=open(“D:\\test.txt”, “ab”)
正确 f = open(“D:\\test.txt”, “ab”)
(5)错误记录:W291 trailing whitespace
处理:函数、或者代码段终止处出现了多余的空格
举例:returnkw (这里多了几个空格,错误)returnkw
(6)错误记录:function name should be lowercase
原因:函数名应该为小写。
解决方案:File –>Settings–>Editor–>Inspections–>Python–>PEP 8 naming convention violation
在右下角有一个Ignored errors列表控件,添加:
N802
N803
N806
code sample message
N801 class names should use CapWords convention
N802 functionnameshouldbelowercaseN803 argument name should be lowercase
N804 first argument of a classmethod should be named 'cls'
N805 first argument of a method should be named 'self'
N806 variable in functionshouldbelowercase
N811 constant imported as non constant
N812 lowercase imported as non lowercase
N813 camelcase imported as lowercase
N814 camelcase imported as constant
(7)其他
1 typo found # 1个错误被发现
1 weak warning found # 1个弱警告
4、空格
空格在 Python 代码中是有意义的,因为 Python 的语法依赖于缩进,在行首的空格称为前导空格。在这一节不讨论前导空格相关的内容,只讨论非前导空格。非前导空格在 Python 代码中没有意义,但适当地加入非前导空格可以增进代码的可读性。
# 在二元算术、逻辑运算符前后加空格,如:
a = b + c;
# 在一元前缀运算符后不加空格,如:
if !flg: pass;
# “:”用在行尾时前后皆不加空格,如分枝、循环、函数和类定义语言;用在非行尾时两端加空格,如:dict 对象的定义
d = {'key' : 'value'}
# 括号(含圆括号、方括号和花括号)前后不加空格,如:
do_something(arg1, arg2)
而不是:
do_something( arg1, arg2 )
# 不要在逗号、分号、冒号前面加空格,但应该在它们后面加(除了在行尾)
# 不要用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:,#,=等)
5、空行
适当的空行有利于增加代码的可读性,加空行可以参考如下几个准则:
(1)在类、函数的定义间加空行;
(2)在 import 不同种类的模块间加空行;
(3)在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔;