- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
使用ruff对Python代码进行自动美化
本文示例代码已上传至我的Github仓库/CNFeffery/DataScienceStudyNotes
大家好我是费老师,在日常编写Python代码的过程中,由于个人经验及编程习惯上的差异,有些人写出的代码可读性很高,一眼看上去就非常整洁易懂,而有些人写出的代码则十分潦草随意,读起来颇为费劲。
想要写出格式工整、可读性强的Python代码,除了需要在编写大量代码的过程中逐渐养成良好习惯外,还可以结合代码格式化工具实现代码的自动格式美化,经典的Python代码格式化工具有autopep8、black、yapf等,均可在vscode、pychArm等主流ide中安装相关插件进行快捷使用。
而去年大火的代码静态分析工具ruff,主要功能中也包含了代码格式化功能,由于其底层基于rust编写,因此执行相关功能时的运算速度超快,据官方称可达到其他同类型工具的10~100倍之多?,今天的文章中,费老师我就将为大家介绍基于ruff的代码格式化常用功能。
2使用ruff进行Python代码格式化
2.1ruff的安装
在主流的ide中,我们可以直接安装ruff相关插件,以vscode为例,在拓展中有哪些信誉好的足球投注网站ruff进行安装即可:
2.2ruff代码格式化常用功能
2.2.1直接使用
默认条件下,安装完ruff插件后,在vscode中就可以直接使用快捷键shift+alt+f,针对当前编辑中的py文件进行格式美化,举个例子,假设我们原始的Python代码格式一不小心写成了下面的样子:
importos
#提取目标路径下各文件的创建时间及最近修改时间
target_path=target_path
#需要排除的文件拓展名
ignore_file_types=[.mp4,.avi,.rmvb
#结果元组格式:(文件名,创建时间,最近修改时间)
files=[(file,os.path.getctime(os.path.join(target_path,file)),os.path.getmtime(
os.path.join(target_path,file)))forfileinos.listdir(target_path)
#判断当前文件名是否为文件,且不在排除拓展名列表中
ifos.path.isfile(os.path.join(target_path,file))and
notany(file.endswith(ext)forextinignore_file_types
在按下快捷键shift+alt+f后,心情顿时舒畅了~
2.2.2配置格式化规则
ruff默认的格式化规则基本上兼容black,但如果你想要自定义调整部分的格式化规则,譬如在引号的使用上,你更倾向于使用单引号,在ruff中也可以很轻松的实现。
ruff中推荐以具体的项目为控制范围,通过在项目根目录中创建pyproject.toml或ruff.toml来编写具体的规则,譬如在下面的示例ruff.toml文件中,我们声明了优先使用单引号:
ruff.toml
[format]
#使用单引号
quote-style=single
格式化结果中就会对应的优先使用单引号:
或是限制每行最多字符数量:
ruff.toml
#限制每行最多20个字符
line-length=20
[format]
#使用单引号
quote-style=single
设置缩进使用单个Tab符(默认为4个空格):
ruff.toml
[format]
#使用单引号
quote-style=single
#缩进使用单个tab
indent-style=tab
且ruff还支持对docstring注释中的代码片段进行识别并格式化:
ruff.toml
[format]
#使用单引号
quote-style=single
#启用docstring代码片段格式化
docstring-code-format=true
更多有关ruff代码格式化功能的细节,请移步https://docs.astral.sh/ruff/formatter/了解更多。
您可能关注的文档
最近下载
- 苏轼词全集.PDF VIP
- 数控编程及加工技术(第三版)电子教案汇总全书课程设计模块1-3全.pdf VIP
- 2024年云南省富宁县民政局公开招聘试题带答案详解.docx VIP
- 患者意外事件报告制度.docx VIP
- (2025秋新版)人教版四年级英语上册《Unit 1 Helping at home》Part B.pptx VIP
- 根管治疗术瘘管病例.pptx VIP
- 火灾自动报警控制系统的安装和调试.doc VIP
- 关于卫生院防登革热、基孔肯雅热预案(必威体育精装版版)(1).docx
- 隧道漫反射节能型光学复合材料介绍.pdf VIP
- 90项症状自评量表SCL-90问卷及使用说明.pdf VIP
文档评论(0)