当前位置:首页>python>巧用括号()让python代码像诗一样优雅

巧用括号()让python代码像诗一样优雅

  • 2026-08-25 21:06:34
巧用括号()让python代码像诗一样优雅
    作为生信从业者,写代码,串流程伴随着日常的工作。从一开始的杂乱无章,到慢慢学习摸索,以及观看别人优秀的代码,逐渐将代码写得清晰,可读性强。虽然过程比较漫长,但一经掌握好的编程习惯,它便会一直伴随着我的日常工作。
    之前写代码,为了避免将代码写在一行,总是用反斜杠"\"来分行,且"\"后面不能有空格。有时候少打了反斜杠"\"就会报错,编程效率极低,让人很恼火,乐趣也少了几分。如下面的例子:
cmd = f"{fastp} -i {r1} -I {r2} " \      f"-o {clean_r1} -O {clean_r2} "       f"--unpaired1 {unpaired1} --unpaired2 {unpaired2} --failed_out {failed} " \      f"--json {json} --html {html} -w 10 " \      f"--trim_poly_g --poly_g_min_len 50 " \      f"--cut_front --cut_front_window_size 1 " \      f"--cut_tail --cut_tail_window_size 1 --cut_tail_mean_quality 15 " \      f"--cut_right --cut_right_window_size 5 --cut_right_mean_quality 20 " \      f"--average_qual 20 --length_required 30 " \      f"--detect_adapter_for_pe"
    少了一个反斜杠"\"就报出缩进错误。
    经过一些学习和尝试,将代码写在括号()中,不仅可以省去了反斜杠"\",增强了编程的效率,也增加了代码的美观度和可读性,使得代码像诗一样优雅。
cmd = (    f"{fastp} -i {r1} -I {r2} "    f"-o {clean_r1} -O {clean_r2} "    f"--unpaired1 {unpaired1} --unpaired2 {unpaired2} --failed_out {failed} "    f"--json {json} --html {html} -w 10 "    f"--trim_poly_g --poly_g_min_len 50 "    f"--cut_front --cut_front_window_size 1 "    f"--cut_tail --cut_tail_window_size 1 --cut_tail_mean_quality 15 "    f"--cut_right --cut_right_window_size 5 --cut_right_mean_quality 20 "    f"--average_qual 20 --length_required 30 "    f"--detect_adapter_for_pe")
    下面的代码是用python程序生成R代码的部分内容,也是采用了括号(),同样使得代码显得比较优雅。
rline_line = (    f'\n'    f'p <- ggVennDiagram(gene_list, label_alpha = 0) +\n'    f'  scale_fill_distiller(palette = "Spectral")\n'    f'\n'    f'ggsave(\'{od}/tumor_tpm{tumor_tpm_cutoff}_ratio{cutoff}.png\',\n'    f'       plot = p, width = 10, height = 8, units = "in")\n'    f'\n'    f'common_genes <- Reduce(intersect, gene_list)\n'    f'print(\'{sid_range}\')\n'    f'print(common_genes)\n'    f'\n'    f'writeLines("CommonGenes", \'{common_genes_file}\')\n'    f'write(common_genes, \'{common_genes_file}\', append = TRUE)\n')
    下表是使用反斜杠"\"和使用括号隐式续行的比较,可以看到,使用括号的表现是更加优秀的。
方面
反斜杠 "\"
括号隐式续行
推荐度
可读性
较差,视觉噪音大
优秀,像自然断句
★★★★★
出错概率
高(空格、缩进、漏\很容易错)
很低
★★★★★
PEP 8 / Google 风格指南
尽量避免(除极少数 with 多上下文)
强烈推荐
-
适用场景
极短的临时表达式、不得已的 with
99%的长表达式、函数调用、SQL 等
-
维护性
差
好
★★★★★
注意:
  • 代码中的f是python3.6版本以后才有的功能,是一种格式化操作。
  • 文中除了使用圆括号()之外,在一些代码中,也可以使用方括号[],花括号{}在不同的场景中进行代码书写,此处不再列举。

最新文章

随机文章