01.数据 - Python语言的基本常识一 代码风格
希望系统性学习一门编程语言的朋友请关注我,本专栏后续会持续分享优质文章。
介绍
本篇是第三篇Python教程,在刚入手学习一门编程语言时,大家不用急着上来就去学习它的语法、它的特性、范式、技巧等,这样在没有一些基础知识了解或储备的情况下,贸然的陷入庞大的知识点学习时,枯燥生硬的规范会导致自己的兴趣降低并且在遇到难点一时无法理解时大概率会直接放弃学习,所以本篇专门来聊一聊Python的基本规范,编写要求等,让我们先来熟悉下它的基础知识。
重点事项
本篇文章主要讲解Python语言的一些基础常识知识,让我们慢慢进入状态:
- 代码风格 - 代码编写规则、规范、要求
- 常用名词 - Python语言的常用名词
演示过程
- 新建一个文件,并将文件的类型后缀修改为.py,本教程新建脚本为D:\devproj\SJ_01.code example\01code.py
- 编写一段示例代码,带大家感受下Python编码的规则
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print (i,j,k)
以上Python代码为一段在四个数1、2、3、4中看能组成多少个互不相同且无重复数字的三位数。我们是否会有一些疑问,比如为什么要这样写啊?有什么编写要求么?不这样写会怎样等,如果要解决以上疑问这个时候就要了解Python的代码风格是什么样了。
重点详解
- Python代码风格
代码风格简单的可理解为,我们要遵守那些代码编写规定,一些规定是可以被语言编译器正确识别,从而使我们编写的代码生效,一些规定是为了开源社区、贡献者之间在分享代码时因为有相同的编写共识所以别人可以很快速的理解你写的代码,有助于编程语言的发展。(大家可以想一想每人一个个性代码会有那些后果?)
说到Python的代码风格,就要说到PEP8,其是Python社区关于代码风格指南的一个规范。它提供了关于Python代码编写风格、命名约定、代码布局等方面的建议和规则,旨在使Python代码具有可读性、一致性和可维护性。
针对PEP8的主要特性本专栏进行以下归类总结:
1.缩进:
- 使用 4 个空格进行缩进,优先使用空格表示缩进,只有对于已经用制表符表示缩进的历史代码,才使用制表符表示缩进。
- 在行连续的情况下,要使用适当的缩进方式,通常是继续使用相同的缩进级别或者在括号内换行。
Python3 不允许混用制表符和空格表示缩进。
2.空格和空行:
- 在二元运算符前后加上一个空格,但是在逗号、冒号、分号前面不加空格。
- 不要在用作参数的逗号、冒号、分号之后加空格。
正确:
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[lower:upper], ham[lower:upper:], ham[lower::step]
ham[lower+offset : upper+offset]
ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
ham[lower + offset, upper + offset]
错误:
ham[lower + offset:upper + offset]
ham[1: 9], ham[1 :9], ham[1:9 :3]
ham[lower : : upper]
ham[ : upper]
- 不要在括号、方括号、花括号内部的首尾添加空格。
- 在函数的参数列表、索引或切片的左括号之后和右括号之前不要加空格。
- 不要使用多余的空行,通常在函数和类定义之间用两个空行,类成员之间用一个空行。
- 在文件末尾使用一个空行。
3.行长度:
- 每行代码的长度应该尽量控制在 79 个字符以内。
- 长的导入语句或注释可以超过 79 个字符,但应该分成多行并适当缩进。
4.命名约定:
- 采用小写字母拼写,单词之间使用下划线 _ 连接的方式命名变量、函数、方法。
- 类名使用驼峰式命名,即首字母大写,单词之间不使用下划线。
- 避免使用单字符命名,除非是用于临时变量。
举例:
模块名: module_name; 包名: package_name; 类名: ClassName; 方法名: method_name; 异常名: ExceptionName; 函数名: function_name,
query_proper_noun_for_thing, send_acronym_via_https; 全局常量名: GLOBAL_CONSTANT_NAME ; 全局变量名: global_var_name;实例名: instance_var_name; 函数参数名: function_parameter_name;
局部变量名: local_var_name.
5.注释:
- 使用英文编写注释,清晰、简洁地解释代码的功能和目的。
- 在代码变更时及时更新注释,保持注释与代码的一致性。
- 对于复杂的代码或者不易理解的部分,添加适当的注释说明。
6.导入:
- 导入应该放在文件顶部。
- 导入应该分成标准库模块、第三方库模块和自定义模块三组,每组之间用空行分隔。
- 避免使用 import *,应该显式导入需要的模块或者使用别名。
7.其他:
- 应该优先使用内置函数和标准库模块,避免使用过时的语法和功能。
- 代码应该易于理解和维护,尽量保持简洁明了,避免使用过多的嵌套和复杂的逻辑。
以上代码规范的详细示例可以参考我下方给出的官方文档链接学习,上文梳理的内容较多,但不用慌张现阶段只需要大概了解,在不熟练的情况下,只需要在编写代码的时候翻看下上文的总结,随着学习的不断深入对上文的规范会不断加深以至于越来越熟练。
由于篇幅的问题,常用名词类讲解将在下一节进行详细总结,请大家关注我哦。
参考
- Python语言格式官方文档 - https://docs.python.org/zh-cn/3/reference/lexical_analysis.html
- PEP 8 官方原版地址(英文版) - https://peps.python.org/pep-0008/
- PEP 8 用户维护中文版 - https://wangmeng-python.readthedocs.io/en/latest/readability/PEP8.html
- 谷歌Python代码风格规范文档 - https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/index.html
让优质的技术更自由、开放的传播,我是「技术小剑客」欢迎你的关注和留言。