【Effective Python】2-Pythonic-遵循 PEP 8 风格指南

2023-10-06 13:30

本文主要是介绍【Effective Python】2-Pythonic-遵循 PEP 8 风格指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2-Pythonic-遵循 PEP 8 风格指南

PEP 8 的意义

《Python Enhancement Proposal 8》又叫 PEP 8,它是针对 Python 代码格式而编制的风格指南。
链接:https://www.python.org/dev/peps/pep-0008/

  • 主要作用:
    • 有利于编写更加通俗易懂的代码。
    • 有利于多人协作,有利于修改。

几条重要的规则

命名
  • 函数、变量以及属性应该用小写字母来拼写。
def sum_a_+_b(int a, int b):...
  • 与异常,应该以每个单词首字母大写的形式来命名。
class SmallCar():...
#
CapitalizedWord
  • 模块级别的常量,应该全部采用大写字母来拼写,各单词下划线连接。
ALL_CAPS
  • 受保护的实例属性,应该以单个下划线开头。
_leading_underscore
  • 私有的实例属性,应该以两个下划线开头。
__double_leading_underscore
空白
  • 在变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格。
  • 文件中的函数之间应该用两个空格隔开。
  • 同一个类中各方法之间应该用一个空格隔开。
  • 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格。
表达式和语句
  • 不要用 if len(a) == 0 来判断 a 列表是否为空值。
if not a: # 判断 a 是空...
if a: # 判断 a 不空...
  • 采用内联形式的否定词,而不是把否定词放到整个表达式前面。
if a is not b: # 推荐
if not a is b: # 不推荐
  • 不要编写单行的 if 语句、for 循环、while 循环及 except 复合语句。

  • import

    • import 语句总是放在文件开头。
    • import 语句根据顺序分为三个部分:
      • 标准库模块
      • 第三方模块
      • 自用模块
    • 在每一模块中,按照字母顺序排列。

Pylint 流行的 Python 源码静态分析工具。
它可以自动检测受测代码是否符合 PEP 8 的风格。

这篇关于【Effective Python】2-Pythonic-遵循 PEP 8 风格指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/153177

相关文章

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor