Python编程规范的几点建议

关于字符串格式化

推荐统一使用格式化字符串字面值(formattedstring literal),在Python v3.6+支持了这种方式。

 f'Hello, {name}!'
 'Hello, Bob!'

这种格式化语法非常强大,因为其中可以嵌入任意的python表达式。比如

a = 5
b = 10
 f'Five plus ten is {a + b} and not {2 * (a + b)}.'

关于下划线的使用

前置单下划线 _var

前置但下划线只有约定含义,其本身并不会影响程序的行为,一般用于:以前置单下划线命名的变量或方法,是为了提示程序员该变量/方法只在内部使用。

“注意,这不是这个类的公共接口,请不要使用它。”

如果使用通配符导入某个模块的所有名称,python不会导入带有前置单下划线的所有名称。当然,import的时候始终不建议使用通配符,违背了导入规范。

后置单下划线 var_

如果某个变量最合适的名称已被python关键词占用,这种情况下,可以追加一个下划线来避免命名冲突。

前置双下划线 __var

前置双下划线真正的能够做到类的方法和名称只在类内部使用,外部无法直接使用。因为python使用了名称改写(name mangling)来实现,比如:

class Test:
  def __init__()
    self.__a = 12

我们使用内置的dir方法查看对象的属性dir(Test()),会看到__a被改写成了_Test__a,哈哈,所以外部无法访问__a

前后双下划线 var

如果名称前后都出现双下划线,则不会触发名称改写。但是有一些特殊的名称如__init____call__等,一般被称为魔法方法。

单下划线 _

这个经常看到,在做元组解包的时候,有些变量我们用不上,就会给命名为单下划线。来表示变量是临时的无关紧要的。这也是一种社区约定。

巧妙的用好逗号

强烈建议给列表(list)、集合(set)、字典(dict)的最后一个元素添加逗号,这样做能够避免在后面添加或移除元素的搞出bug,比如

list_ = ['aa',
        'bb'
]

然后某次要在后面添加一项,如:

list_ = ['aa',
        'bb'
        'cc'
]

忘记了给'bb'项目添加逗号,哈哈恭喜新添加了个bug。 针对这种后面可能有改动的列表,如果每个项后面都有个逗号,添加或者删除一项,git diff的时候也能清晰的看到这某一行的改动。而不会因为添加一项涉及到两行的改动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值