下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Python语法特点之代码缩进和编码规范

作者:BBOSS     来源: http://www.kokojia.com点击数:1491发布时间: 2018-11-30 09:21:49

标签: BBS论坛运维堡垒机web聊天室面向对象CRM

大神带你学编程,欢迎选课

  一 代码缩进

  Python不像其他程序设计语言(如javaC语言)采用大括号“{}”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。

  说明

  缩进可以使用空格或者Tab键实现。其中,使用空格时,通常情况下采用4个空格作为一个缩进进量,而使用Tab键时,则采用一个Tab键作为一个缩进量。通常情况下建议采用空格进行缩进。

  在Python中,对于类定义、函数定义、流程控制语句,以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块结束。

  例如,下面的代码中的缩进即为正确的缩进。

height=float(input("请输入您的身高:"))    #输入身高
weight=float(input("请输入您的体重: "))   #输入体重
bmi=weight/(height*height)                 #计算BMI指数

if bmi<18.5:
    print("您的BMI指数为: "+str(bmi))    #输出BMI指数
    print("体重过轻~@_@~")
if bmi>=18.5 and bmi<24.9:
    print("您的BMI指数为: "+str(bmi))     #输出BMI指数
    print("正常范围,注意保持(-_-)")
if bmi>=24.9 and bmi<29.9:
    print("您的BMI指数为:"+str(bmi))      #输出BMI指数
    print("体重过重 ~@_@~")
if bmi>=29.9:
    print("您的BMI指数为:"+str(bmi))      #输出BMI指数
    print("肥胖^@_@^")

 

  Python对代码的缩进要求非常严格,同一个级别的代码块缩进量必须相同。如果不采用合理的代码缩进。将抛出syntaxerror()异常。例如,代码中有的缩进量是4个空格,还有的是3个空格,就会出现syntaxerror错误,如图1所示。

Python语法特点之代码缩进和编码规范_BBS论坛_运维堡垒机_web聊天室_面向对象_CRM

                                                      图1 

  在IDLE开发环境中,一般以4个空格作为基本缩进单位。不过也可以选择Options->Configure IDLE菜单项,在打开的Settings对话框(如图2所示)的Fonts/Tabs选项卡中修改基本缩进量。

                                                    图2

  二 编码规范

  下面给出两段实现同样功能的代码,如图3和图4所示

                                                 图3

                                                 图4

  大家在学习时,愿意看到图3中的代码还是图4中的代码?答案应该是一致的,大家肯定喜欢阅读图3的代码,因为它看上去更加规整,这是一种最基本的代码编写规范。遵循一定的代码编写规则和命名规则可以使代码更加规范化,对代码的理解与维护起到至关重要的作用。

  1 编写规则

  Python中采用PEP 8作为编码规范。其中PEP 是Python Enhancement Proposal 的缩写,翻译过来是Python 的增强建议书。而PEP 8表示版本,它是Python代码的样式指南。下面给出PEP 8编码规范中的一些应该严格遵守的条目。

  a.每个import语句只导入一个模块,尽量避免一次导入多个模块。如图5所示为推荐写法。而图6所示为不推荐写法。

 图5

    

图6

  b.不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。例如。如图7所示的代码为不规范的写法。

图7

  c.建议每行不超过80个字符,如果超过,建议使用小括号“()”将多行内容隐式地连接起来,而不推荐使用反斜杠“\\”进行连接。例如,如果一个字符串文本在一行上显示不下。那么可以使用小括号“()”将其分行显示,代码如下:

print("我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。"
      "但是只要你在爬,就足以给自己留下令生命感动的日子。")

 

  例如,以下通过反斜杠“\\”进行连接的做法是不推荐使用的

print("我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。\\
但是只要你在爬,就足以给自己留下令生命感动的日子。")

 

  不过以下两种情况除外:导入模块的语句过长;注释里的URD。

  a.使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。

  b.通常情况,运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔。

  c.应该避免在循环中使用+和+=操作符累加字符串。这是因为字符串是不可表的,这样做会创建不必要的临时对象。推荐做法是将每个子字符串加入列表。然后在循环结束后使用join()方法连接列表。

  d.适当使用异常处理结构提高程序容错性,但不能多次依赖异常处理结构。适当的显示判断还是必要的。

  说明

  在编写Python程序时,建议严格遵循PEP 8编码规范。完整的Python编码规范请参考PEP 8。

  2 命名规范

  命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更直观地了解代码所代表的含义。下面将介绍Python中常用的一些命名规范。

  a.模块名尽量短小,并且使用全部小写字母,可以使用下划线分隔多个字母。例如。game_main、game_register、bmiexponent都是推荐使用的模块名称。

  b.包名尽量短小。并且使用全部小写字母,不推荐使用下划线。例如,com.mingrisoft、com.mr、com.mr.book都是推荐使用的包名称,而com_mingridoft就是不推荐使用的。

  c.类名采用单词首字母大写形式(即Pascal风格),例如,定义一个借书类,可以命名为BorrowBook。

  说明

  Pascal是以纪念法国数学家Blaise Pascal而命名的一种编程语言,Python中的Pascal命名法就是根据该语言的特点总结出来的一种命名方法。

  d.模块内部的类采用下划线“_”+Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。

  e.函数、类的属性和方法的命名规则通模块类似,也是全部采用小写字母,多个字母间用下划线“_”分隔。

  f.常量命名时采用全部大写字母,可以使用下划线。

  g.使用单下划线“_”开头的模块变量或者函数是受保护的,在使用import*from语句从模块中导入时这些变量或者函数不能被导入。

  h.使用双下划线“__”开头的实例变量或方法是类私有的。

赞(28)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程