前言

上一篇文章我们介绍如何运行Python程序,如何安装PyCharm开发工具以及如何用PyCharm来运行Python程序,这些都只是开发前的准备工作而已,也就是说仅仅是弄好了脚手架。接下来就是开始编码了。不过在编码之前我们还是先需要了解一下Python的编码规范。为什么要了解编码规范呢?不看行不行呀! 如果我们想在别人看我们代码的时候大骂一声,卧槽,这代码跟shi一样,鬼看的懂呀。那就不看吧,写自己的代码让别人说去,哈哈哈哈。

【Python从入门到精通】(三)Python的编码规范,标识符知多少?_标识符

注释

首先介绍的是Python的注释,Python的注释分为两种:单行注释和多行注释。

  1. 单行注释
    Python使用 # 号作为单行注释的符号,其语法格式为:​​#注释内容​​ 从#号开始直到这行结束为止的所有内容都是注释。例如:
# 这是单行注释


  1. 多行注释
    多行注释指一次注释程序中多行的内容(包含一行) ,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代码的样式指南。这里介绍几个初学者需要掌握的编码规范

  1. 每个import 语句只导入一个模块,尽量避免一次导入多个模块
#推荐
import sys
import os
#不推荐
import sys,os


  1. 不要在行尾添加分号,也不要用分号将两条命令放在同一行,不推荐下面的写法
print('你好');print('我好');


  1. 建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式的连接起来,而不推荐使用反斜杠\进行连接。
#推荐
s=('没有耕耘就没有收获,'
'好好学习天天向上')
#不推荐
s='没有耕耘就没有收获,' \
'好好学习天天向上'


其他的可参考官网 ​​PEP8官网​

标识符命令规范

标识符就是一个名字,就好像是我们每个人都一个属于自己的名字一样的。它的主要作用就是作为变量,函数,类,模块以及其他对象的名称。

标识符遵循的规则

标识符不是随便胡乱命令的,也是要遵循一定的规则的。应该要遵循下列规则

  1. 标识符是由字符(AZ和az)、下划线和数字组成,但第一个字符不能是数字
#合法示范
userId
user_id
user2


非法的标识符

2user


  1. 标识符不能和Python中的保留字相同,有关保留字,后续章节会介绍
  2. Python中的标识符中,不能包含空格、@、%以及$等特殊字符串。比如这样​​@user​
  3. 在Python中,标识符中的字母是严格区分大小写的,也就是说。两个同样的单词,如果大小写格式不一样,那么代表的意义也是完全不同的,比如,下面这3个变量之间,就是完全独立的,毫无关系
number=2
Number=2
NUMBER=3


  1. 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的注释,编码规范,标识符命名等等,希望对读者朋友们有所帮助。