行哥忠告:学习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的时间,只有规范代码后,在未来再次查看使用时才容易上手节省时间,给团队交接时也同样节省时间


相关文章
|
23天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
5天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
14天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
25天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
29天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
28天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
25天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
23天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
25天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
25天前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!