打造高颜值的Python代码:优雅而美观

在日常编写Python代码的过程中,由于个人经验及编程习惯上的差异,有些人写出的代码可读性很高,一眼看上去就非常整洁易懂,而有些人写出的代码则十分“潦草随意”,读起来颇为费劲。

图片[1]-打造高颜值的Python代码:优雅而美观-山海云端论坛

想要写出格式工整、可读性强的Python代码,除了需要在编写大量代码的过程中逐渐养成良好习惯外,还可以结合代码格式化工具实现代码的自动格式美化。其中,一款备受推崇的Python代码格式化工具就是ruff。

介绍ruff

ruff是一款基于Rust语言编写的代码静态分析工具,它能够以惊人的速度对Python代码进行格式化。相比其他同类工具,ruff的执行速度可以达到10~100倍之多,这得益于其底层基于Rust语言的高效实现。因此,使用ruff进行代码格式化不仅可以提高代码的可读性,还能大大提升工作效率。

安装ruff

在主流的IDE中,你可以轻松地安装ruff相关插件。以VSCode为例,你只需在扩展商店中搜索ruff并进行安装即可。安装完成后,你就可以开始使用ruff来格式化你的Python代码了。

图片[2]-打造高颜值的Python代码:优雅而美观-山海云端论坛

ruff代码格式化常用功能

直接使用

安装完ruff插件后,在VSCode中,你可以直接使用快捷键Shift + Alt + F,针对当前编辑中的Python文件进行格式美化。举个例子,假设我们原始的Python代码格式“一不小心”写成了下面的样子:

<code>import os # 提取目标路径下各文件的创建时间及最近修改时间 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)))) for file in os.listdir(target_path) # 判断当前文件名是否为文件,且不在排除拓展名列表中 if os.path.isfile(os.path.join(target_path, file)) and not any(file.endswith(ext) for ext in ignore_file_types)]:</code>

在按下快捷键Shift + Alt + F后,代码格式会自动调整为:

<code>import os # 提取目标路径下各文件的创建时间及最近修改时间 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)) ) for file in os.listdir(target_path) # 判断当前文件名是否为文件,且不在排除拓展名列表中 if os.path.isfile(os.path.join(target_path, file)) and not any(file.endswith(ext) for ext in ignore_file_types) ]</code>

配置格式化规则

ruff默认的格式化规则基本上兼容black,但如果你想要自定义调整部分的格式化规则,例如在引号的使用上,你更倾向于使用单引号,那么在ruff中也可以很轻松地实现。

ruff中推荐以具体的项目为控制范围,通过在项目根目录中创建pyproject.tomlruff.toml来编写具体的规则。例如,在下面的示例ruff.toml文件中,我们声明了优先使用单引号:

<code>[format] # 使用单引号 quote-style = "single"</code>

格式化结果中就会优先使用单引号。

此外,ruff还支持设置每行最多字符数量、缩进样式以及对docstring注释中的代码片段进行识别和格式化等功能,让你能够根据项目需求进行灵活配置。

结语

通过使用ruff进行Python代码格式化,你可以轻松提高代码的可读性和美观度,减少代码审查时的困扰,同时提升工作效率。因此,我强烈推荐你在日常编程中尝试使用ruff,体验其带来的便利和效果。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容