选择pythoncharm作为Python开发ide也是在网上查了好长时间,这两天了解到visual studio code强大、易用,同时也一直用visual studio做c/c++开发,所以决定把以后的开发平台切换到微软系。换平台以后发现,先前在pythoncharm写的东西,在visual studio code上一堆问题,百度一下才明确没有遵循PEP8。“行有行规”,既然准备深究一下python,规则还是必须要了解,遵循的。PEP8就不具体介绍了,本篇旨在记录自己实操中出现的问题及解决办法,后续学习中不断更新补充。
这里列几条要求:
一行列数 : PEP 8 规定为 79 列(这个有时候看着不爽,我修改为120);
一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数;
一个类 : 不要超过 200 行代码,不要有超过 10 个方法;
一个模块 : 不要超过 500 行;
一句import:不要导入多个库
一个函数或类:前后要空两行
一个.py文件:文件最后有且仅有一个空行
列出实际遇到的错误及解决方案:
(1) indentation is not a multiple of four
空格的个数应该是4的倍数,核对一下是否多敲或者少一个空格;
(2)line too long (114 > 79 characters)
方法一Python行宽为80,可以将段落分行,yapf进行格式化,如visual studio code中快捷键为“alt+shift + f”进行格式化;
方法二 在visual studio code 中也可以在:文件->首选项->设置 将python configuration 中的“python.linting.flake8Args:[]”,复制到右边的用户设置区然后在中括号里添加“--max-line-length=120”,如"python.linting.flake8Args": ["--max-line-length=120"],
(3)E502:the backslash is redundant between brackets
由于一行太长,所以通过"\"将其分为两行,然后就提示这个错误;是因为虽然这一行很长,但是“\”分开的部分是处于“()”之间的,系统可以自动判决,所以就不需要加"\"了。
(4)E305:expected 2 blank lines after class or function definition, found 1
提示比较明确,就是一个类或者函数定义的后边要空出两行
(5)inline comment should start with '# '
要求在用“#”加注释的时候,后边要加一个空格;
说实话规矩有点多,一开始不习惯有点带上手铐的感觉,但必要的编码习惯在增强代码可读性时还是必要的,写的代码最终是要给别人看的。