(三)Python的编码规范,标识符知多少?
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
这是Pyhon系列文章的第三篇,本文主要介绍Python程序的编码规范。
干货满满,建议收藏,需要用到时常看看。 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~。
前言
上一篇文章我们介绍如何运行Python程序,如何安装PyCharm开发工具以及如何用PyCharm来运行Python程序,这些都只是开发前的准备工作而已,也就是说仅仅是弄好了脚手架。接下来就是开始编码了。不过在编码之前我们还是先需要了解一下Python的编码规范。为什么要了解编码规范呢?不看行不行呀! 如果我们想在别人看我们代码的时候大骂一声,卧槽,这代码跟shi一样,鬼看的懂呀。那就不看吧,写自己的代码让别人说去,哈哈哈哈。
注释
首先介绍的是Python的注释,Python的注释分为两种:单行注释和多行注释。
- 单行注释
Python使用 # 号作为单行注释的符号,其语法格式为:#注释内容
从#号开始直到这行结束为止的所有内容都是注释。例如:
# 这是单行注释
- 多行注释
多行注释指一次注释程序中多行的内容(包含一行) ,Python使用三个连续的 单引号””” 或者三个连续的双引号””” 注释多行内容。其语法格式是如下:
"""
三个连续的单引号的多行注释
注释多行内容
"""
或者
"""
三个连续的双引号的多行注释
注释多行内容
"""
多行注释通常用来为Python文件、模块、类或者函数等添加版权或者功能描述信息(即文档注释)
缩进规则
不同于其他编程语言(如Java,或者C)采用大括号{}
分割代码块,Python采用代码缩进和冒号 : 来区分代码块之间的层次。如下面的代码所示:
a = -100
if a >= 0:
print("输出正数" + str(a))
print("测试")
else:
print("输出负数" + str(a))
其中第一行代码a = -100
和第二行代码if a >= 0:
是在同一作用域(也就是作用范围相同),所以这两行代码并排。而第三行代码print("输出正数" + str(a))
的作用范围是在第二行代码里面,所以需要缩进。第五行代码也是同理。第二行代码通过冒号和第三行代码的缩进来区分这两个代码块。
Python的缩进量可以使用空格或者Tab键来实现缩进,通常情况下都是采用4个空格长度作为一个缩进量的。
这里需要注意的是同一个作用域的代码的缩进量要相同,不然会导致IndentationError异常错误,提示缩进量不对,如下面代码所示:第二行代码print("输出正数" + str(a))
缩进了4个空格,而第三行代码print("测试")
只缩进了2个空格。
if a >= 0:
print("输出正数" + str(a))
print("测试")
在Python中,对于类定义,函数定义,流程控制语句就像前面的if a>=0:
,异常处理语句等,行尾的冒号和下一行缩进,表示下一个代码块的开始,而缩进的结束则表示此代码的结束。
编码规范
说完了代码的缩进规则之后,接下来看看Python的编码规范,Python采用PEP 8作为编码规范,其中PEP是Python Enhancement Proposal(Python增强建议书) 的缩写,8代表的是Python代码的样式指南。这里介绍几个初学者需要掌握的编码规范
- 每个import 语句只导入一个模块,尽量避免一次导入多个模块
#推荐
import sys
import os
#不推荐
import sys,os
- 不要在行尾添加分号,也不要用分号将两条命令放在同一行,不推荐下面的写法
print("你好");print("我好");
- 建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式的连接起来,而不推荐使用反斜杠进行连接。
#推荐
s=("没有耕耘就没有收获,"
"好好学习天天向上")
#不推荐
s="没有耕耘就没有收获,"
"好好学习天天向上"
其他的可参考官网 PEP8官网
标识符命令规范
标识符就是一个名字,就好像是我们每个人都一个属于自己的名字一样的。它的主要作用就是作为变量,函数,类,模块以及其他对象的名称。
标识符遵循的规则
标识符不是随便胡乱命令的,也是要遵循一定的规则的。应该要遵循下列规则
- 标识符是由字符(AZ和az)、下划线和数字组成,但第一个字符不能是数字
#合法示范
userId
user_id
user2
非法的标识符
2user
- 标识符不能和Python中的保留字相同,有关保留字,后续章节会介绍
- Python中的标识符中,不能包含空格、@、%以及$等特殊字符串。比如这样
@user
- 在Python中,标识符中的字母是严格区分大小写的,也就是说。两个同样的单词,如果大小写格式不一样,那么代表的意义也是完全不同的,比如,下面这3个变量之间,就是完全独立的,毫无关系
number=2
Number=2
NUMBER=3
- Python中,以下划线开头的标识符有特殊含义,例如:
- 以单下划线开头的标识符(如_height),表示不能直接访问的类属性,其无法通过 from … import * 的方式导入
- 以双下划线开头的标识符(如__add)表示类的私有成员
- 以双下划线作为开头和结尾的标识符(如__init__)是专用标识符
6.不同场景中的标识符,其名称也有一定的规范可循 - 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 user_login
- 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如: com.jay,com.jay.er等
- 当标识符用作类名时,应采用单词首字母大写的形式,例如,定义一个学生类,可以命名为Student
- 模块内部的类名,可以采用“下划线+首字母大写”的形式,如_Student
- 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割
- 常量命令全部使用大写字母,单词之间可以用下划线分割。
关键字
说完了标识符的命名规范,本文也接近尾声了,最后要介绍的是Python中的关键字,前面说了标识符的命令不用使用关键字,那么Python中有哪些关键词呢?可以通过如下语句进行查看
>>> import keyword
>>> keyword.kwlist
["False", "None", "True", "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"]
所有的关键词如下表所示:
表一 Python关键词一览表
and | as | assert | break | class | continue |
---|---|---|---|---|---|
def | del | elif | else | except | finally |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
os | pass | raise | return | try | True |
while | with | yield |
总结
本文主要介绍了Python的编码规范,包括Python的注释,编码规范,标识符命名等等,希望对读者朋友们有所帮助。
我是码农飞哥,再次感谢您读完本文。
全网同名【码农飞哥】。不积跬步,无以至千里,享受分享的快乐
我是码农飞哥,再次感谢您读完本文。