freemarker 去掉最后一个逗号_[Pythonic]多写一个逗号

前言

解释为何我喜欢在Python的列表/元祖的最后一个元素末尾加一个逗号

需求

编写一个函数,输入多个人名,并分别输出Hello,某某某

方案

这个小功能实现起来就是小菜一碟。

# coding:utf-8

def say_hello(names):
    for name in names:
        print('Hello,{}!'.format(name))

if __name__ == '__main__':
    names = [
        'Lucy',
        'Lili',
        'Lisa',
    ]
    say_hello(names)

这代码的编码风格有几个值得注意的地方:

  • names这个列表每个元素占一行
  • Lisa这个末尾元素后面还有一个逗号

方便查看代码变更

假设现在需要新加一个人名Rose,只需要在names末尾添加即可。在使用git diff时能很方便地看到仅仅添加了一行。

我曾经遇到过类似的场景,在添加Rose的同时,Lisa被修改成了Linagit diff查看改动时,也没有细看。

减少引入不必要的bug

考虑以下代码各有什么问题?

# 新增了一个`Lili`。
names = [
    'Lucy'
    'Lili'
]
# names为['LucyLili'],缺少逗号Python3会直接连接字符串

# 使用元祖,且只有一个元素
names = (
    'Lucy'
)
# names为'Lucy',定义单元素元祖时,逗号是必须的。相信不少人踩过这个坑。

总结

在列表/元祖的末尾元素多写一个逗号,是我个人比较推荐的编码风格。带来的好处如下:

  • 增删元素时,减少引入bug的风险
  • 查看代码变更时,更直观
  • import时也推荐采用此风格
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值