行哥忠告:学习Python千万记得这几件事-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

行哥忠告:学习Python千万记得这几件事

简介: 很多小白刚写代码没有什么规范,想到哪写到哪就是因为没有一套合格的规范,所以行哥来给大家介绍一下目前主流的几种规范,看看有多少契合度


很多小白刚写代码没有什么规范,想到哪写到哪就是因为没有一套合格的规范,所以行哥来给大家介绍一下目前主流的几种规范,看看有多少契合度

1.命名使用中文、拼音、英文字母混合命名,这样才能显得内容丰富

2.变量名命名使用a,b等单个字母来命名或者使用l1l1l1l1类似的命名显得参差不齐

3.能加分号就加分号,最好多行代码写到一行,这样才能显得代码写的行数少,技术精湛

4.注释千万不能写,万一被别人看透了就完了。最好在注释里写点个人情绪,描述下自己对代码的感情

5.一行代码能写多长写多长,代码越长技术越高

6.缩进只要能够对齐就可以了,不用在意空格键和Tab键

7.用open打开文件后,就别关闭文件了,关闭文件是Python自己的事

言归正传,遵循以上代码规范试用期被开除千万别来找我,家里有恶犬image.png

或者你也可以试试谷歌的PEP8代码规范 PEP全称Python Enhancement Proposals。PEP8正式名称是Style Guide for Python Code

学python的起始,往往大家都是为了做项目而学。学习语法,能运行就行了。随着越写越多,就会觉得有许多不确定性,觉得代码有些丑陋,觉得许多格式不知怎么安排合适。此时,为了让代码规范化,就越来越需要找一个固定的样式,以一贯之。让自己不再显得业余,也真的像吃这碗饭的人

官方文件

https://www.python.org/dev/peps/pep-0008/

中文文档

https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules/#id1

1.分号

不要在行尾加分号, 也不要用分号将两条命令放在同一行

2.行长度

每行不超过80个字符,例外: 长的导入模块语句,注释里的URL,不要使用反斜杠连接行.

Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号.

3.括号

宁缺毋滥的使用括号

除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的

4.缩进

用4个空格来缩进代码

绝对不要用tab, 也不要tab和空格混用. 对于行连接的情况, 你应该要么垂直对齐换行的元素(见 行长度 部分的示例), 或者使用4空格的悬挂式缩进(这时第一行不应该有参数)

5.空行

顶级定义之间空两行, 方法定义之间空一行

顶级定义之间空两行, 比如函数或者类定义. 方法定义, 类定义与第一个方法之间, 都应该空一行. 函数或方法中, 某些地方要是你觉得合适, 就空一行

6.空格

按照标准的排版规范来使用标点两边的空格

7.注释

确保对模块, 函数, 方法和行内注释使用正确的风格

8.类

如果一个类不继承自其它类, 就显式的从object继承. 嵌套类也一样

9.字符串

即使参数都是字符串, 使用%操作符或者格式化方法格式化字符串. 不过也不能一概而论, 你需要在+和%之间好好判定

10.文件和sockets

在文件和sockets结束时, 显式的关闭它

11.导入格式

每个导入应该独占一行

12.语句

通常每个语句应该独占一行

13.访问控制

在Python中, 对于琐碎又不太重要的访问函数, 你应该直接使用公有变量来取代它们, 这样可以避免额外的函数调用开销. 当添加更多功能时, 你可以用属性(property)来保持语法的一致性

14.命名image.png

15.main

即使是一个打算被用作脚本的文件, 也应该是可导入的. 并且简单的导入不应该导致这个脚本的主功能(main functionality)被执行, 这是一种副作用. 主功能应该放在一个main()函数中.

在Python中, pydoc以及单元测试要求模块必须是可导入的. 你的代码应该在执行主程序前总是检查 if name == 'main' , 这样当模块被导入时主程序就不会被执行

最后

为什么这么麻烦,能运行不就行了还要去规范代码。

原因是时间、时间还是tm的时间,只有规范代码后,在未来再次查看使用时才容易上手节省时间,给团队交接时也同样节省时间


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章