zoukankan      html  css  js  c++  java
  • Python合集之Python语法特点(三)

        在上一节的合集中我们了解了Python语法特点中的代码缩进规则,本节将继续讲解语法特点中的编码规范。

        编码规范,在职业生涯及不同的公司中,都是重点强调的一个问题,为什么如此重要呢? 因为遵循一定的代码编写规则和命名规范,可以使代码更加的规范化,对代码的理解与维护都会起到至关重要的作用。

        1.1 编写规则

       Python中目前主要采用的是PEP8来作为编码规范,其中PEP是 Python Enhancement Proposal(Python增强建议书)的缩写,而“PEP8”中的8 代表的是 版本号。下面给出规范中常用的一些应该需要严格遵循的条目。

        1.每个import语句只导入一个模块,尽量避免一次导入多个模块。

        推荐写法:

    import os
    import sys

        不推荐写法

    import os,sys
    

     2.不要再行尾添加“;”,也不要用分号将两条命令放在同一行。

        不推荐写法:

    height=float(input("请输入您的身高:"));
    weight=float(input("请输入您的体重:"));

       3.建议每行不超过80个字符,如果超过,建议使用小括号“()”将多行的内容隐式的连接起来,而不推荐使用反斜杠“”进行连接。

        推荐写法:

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

        不推荐写法:

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

    例外情况:

      a。导入模块的语句过长

      b。注释里的URL。

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

    5.通常情况下,运算符两侧,函数参数之间 “,” 两侧 间使用使用空格进行分隔。

    6.避免在循环中使用 “+=”和“+”运算符累加字符串。(字符串是不可变的,这样做会创建不必要的临时变量,推荐将每个字符串加入列表,然后再循环结束后使用 join()方法连接列表)

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

    1.2 命名规范

    1.模块名称尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。

     例如:game_main,game_register

    2.包名尽量短小,并且全部使用小写字母,不推荐使用下划线。

    例如:com.mr.book,bmiexponent

    3.类名采用单词首字母大写形式(Pascal风格)

    例如:BorrowBook

    4.模块内部的类采用下划线+Pascal风格的类名组成。

    例如:BorrowBook类中的内部类可以使用 _BorrowBook

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

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

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

    8.使用双下划线 开头的实例变量或者方法是类私有的。

    花絮:

    本期的Python语法特点先分享到这里,下期我们将分享Python中的保留字与标识符问题,感兴趣的朋友可以关注我。

    同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

  • 相关阅读:
    BEM(Block–Element-Modifier)
    http://element.eleme.io/#/zh-CN/component/quickstart
    Commit message 的写法规范。本文介绍Angular 规范(
    好的commit应该长啥样 https://github.com/torvalds/linux/pull/17#issuecomment-5654674
    代码管理
    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary
    Martin Fowler’s Active Record design pattern.
    The Zen of Python
    Introspection in Python How to spy on your Python objects Guide to Python introspection
    Object-Oriented Metrics: LCOM 内聚性的度量
  • 原文地址:https://www.cnblogs.com/a-mumu/p/13909991.html
Copyright © 2011-2022 走看看