Python代码规范

之前有总结过C++编程规范,但是现在遗留不多;目前根据Python代码经验,对Python编程进行总结

0、他山之石
1、代码撰写个人新心得

1.1、文件夹目录一定要写到 ‘/’ 为止;务必养成习惯,定义的文件夹全部写成这个格式
1.2、文件目录尽量写绝对路径,即使路径发生改变也很容易发现错误内容,相对路径的写法对debug不友好。###修改20200910-多用path.dirname来进行

2、强制性规范
2.1、类型命名
  • 模块名尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多)
    import spade
    import background_enhance

  • 类名使用驼峰命名风格,首字母大写,私有类可用一个下划线开头
    class FaceDetectClass():
    pass

  • 函数名一律使用驼峰法则,与class保持一致(此部分参考c++文件规范);命名应该表明意图动作
    def getDetect():
    pass

  • 变量名尽量小写,常量采用全大写,如有多个单词,使用下划线隔开
    school_name = ‘yuhong’
    MAX_CONNECTION = 1000

2.2、导入包名顺序与准则
  • 不要导入未被使用到的包名,减少工程冗余。

  • 包名导入的顺序
    a、python标准库模块
    b、python第三方模块
    c、应用程序自定义模块

使用一个空行分隔这三类模块的导入语句,确保模块使用固定的习惯导入,有助于减少每个模块需要的import语句数目
到底是导入包名还是导入包名里面的函数

  • 每个导入应该独占一行
  • 导入时不要使用相对名称,即使模块在同一个包中,也要使用完整包名,避免无意间导入一个包两次,或者他人不注意又导入一次
import torch
import torch.nn as nn
import torch.nn.functional as F
 
import numpy
 
from models.networks.base_network import BaseNetwork
2.3 空格与缩进
  • 缩进:绝对避免使用Tab键来缩进

  • 空行:方法定义,函数定义,类定义与第一个方法之间,都应该空一行

  • 空格:

    • 括号内不要有空格
      yes: spam(ham[1], {eggs: 2}, [])
      no: spam( ham[1], { eggs: 2}, [] )
    • 不要在逗号,分号,冒号前面加空格,但应该在它们后面加(除了在行尾)
      if x == 4:
      print(x)

    • 参数列表,索引或切片的左括号前不应加空格
      dict[‘key’] = list[index]

    • 当’='用于指示关键字参数或默认参数值时,不要在其两侧使用空格
      def complex(real, imag=0.0): return magic(r=real, i=imag)

    • 在二元操作符两边都加上一个空格,比如赋值(=),比较(==, <, >, !=, <>,<=, >=, in, not in, is, is not),布尔(and, or, not)

  • 换行

    • 使用反斜杠换行等应出现在行末;长字符串也可以用反斜杠换行
      session.query(MyTable) /
      filter_by(id=1) /
      one()

    • 禁止复合语句,即一行中包含多个语句
      do_first()
      do_second()
      do_third()

    • if/for/while尽量换行,if后面接else一定要换行
      if foo == ‘blah’:
      do_blah_thing()

    • 第二行缩进到括号的起始处

foo = long_function_name(var_name, var_two,
						 var_three, var_four)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值