Python 编程规范


一 注释:两重意思,两种方式

两种方式:

  • #

个人注释

  • """ """

docstrings : 表明如何使用这个包、模块、类、函数(方法),甚至包括使用示例和单元测试。推荐对每一个包、模块、类、函数(方法)写 docstrings。

示例: 函数或者类或者模块的doc

#coding:gbk
def test():
    """ 用于test """
    print
print(test.__doc__)

#python test1.py
用于test 

两重意思:

  • 注释代码让代码不起作用
  • 注释写上对代码的解释,让阅读者更容易读懂代码
问题:python 中引号有几种,有何区别?各自的使用场景

引号有 4 种

  • '' : 单引号
    使用场景
  1. 用来表示一个字符串
str = 'a'
  1. 如果字符串中有双引号,为了避免使用转义符,可使用单引号来定义这个字符串
str = 'a"b'
  • "" : 双引号

使用场景

  1. 用来表示一个字符串
str = "a"
  1. 如果字符串中有单引号,为了避免使用转义符,可使用双引号来定义这个字符串
str = "a'b"
  • ''' ''' &""" """: 三个单双引号
    使用场景
  1. 代码注释
  2. 如果字符串中既有单引号,又有双引号,为了避免使用转义符,可使用三引号来定义这个字符串
cmd = "ps -ef |grep python | awk '{print $1}' "
cmd = ''' xxx '''
二 缩进

两种方式: tab 和空格

tab

建议设置 tab == 4个空格(一般编辑器都是这样)

linux中vim设置方法:
打开: ~/.vimrc, 输入下边内容

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
建议使用4个空格

作用:缩进作为语法的一部分融入python语言中,python中通过缩进来确定代码块的层次;
最终建议: 使用tab, 设置tab为4个空格

三 空行

目的:增加代码的可读性,使代码看起来更加清晰
参考准则:

  • 模块中类和函数之间空两行
  • 在类中的方法(类中的函数)之间空一行;
  • 在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔;
  • 在 import 不同种类的模块间加空行
四 命名

对象:库、模块、类、函数、变量、常量
google 命名规范:类使用驼峰式,常量全大写,其他的都采用小写+下划线


  • 小写一个名词(项目名)
  • 模块
    小写,直接连接或者使用"_"(下划线)如:
    python_class
    module.py
    define_module.py
    

  • 驼峰式,首字母大写,不适用下划线连接单词,如:
    class ThisIsAClass(object):
        pass
    
  • 函数
    小写,用"_"(下划线)隔开
    def this_is_func():
        pass
    
  • 变量
    小写,用"_"(下划线)隔开,如:
    this_is_a_variable = 1
    
  • 常量
    常量名所有字母大写,由下划线连接各个单词,如:
    THIS_IS_A_CONSISTANT = 1
    
五 import

import 语句有以下几个原则需要遵守

  • import 的次序
  1. 先 import Python 标准库,再 import 第三方模块, 最后 import 自己开发的项目中的其他模块;这三种模块以空行分割开来。
  2. 一条 import 语句, 尽量只 import 一个模块
好的代码 VS 不好的代码
一 不要额外加很多括号

正确写法

if foo:
    bar() 
while x:
    x = bar()
if x and y:
    bar()

不正确写法
变量用括号括起来了

if (x):
    bar()
if not(x):
    bar()
return (foo)
二 空格
  • 括号内不要有空格.

    正确写法

    spam(ham[ 1 ], {eggs: 2}, [])
    

    错误写法

    spam( ham[ 1 ], { eggs: 2 }, [ ])
    
  • 不要在逗号,分号,冒号前面加空格,但应该在它们后面加(除了在行尾).
    正确写法

    if x == 4print x, y 
    x, y = y, x
    

    错误写法

    if x == 4print x , y 
    x , y = y , x
    
三 使用if not var 代替 if var == “” 或者if var ==[] 或者if var == {}等

列表,字典,字符串,数字是否为 0

if num == 0;
if not num;

参考资料

Python中单引号,双引号,3个单引号及3个双引号的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值