python 编程规范有哪些?
Python 编程规范主要包括代码布局、命名规范、注释规范、函数编写规范等多个方面,下面给出一些常见的编程规范及其示例代码。
1. 代码布局规范
代码布局规范主要是指代码的缩进、行宽、空行、换行等方面,下面是一些常见的代码布局规范:
- 使用四个空格作为一个缩进级别,不要使用制表符。
- 每行代码最多不超过 79 个字符,如果需要换行可以使用括号、\ 符号或者三个双引号。
- 在函数之间、类之间和逻辑块之间添加一行空白行,以提高代码可读性。
示例代码:
def my_function(arg1, arg2):
if arg1 == 'value':
result = arg1 + arg2
else:
result = arg2 - arg1
return result
2. 命名规范
命名规范主要是指变量名、函数名、类名等的命名规则,下面是一些常见的命名规范:
- 使用全小写的单词或下划线分隔的多个单词来命名变量或函数。
- 类名首字母大写,采用驼峰命名法。
- 使用前缀或后缀来命名私有变量或函数,以单下划线或双下划线开头或结尾。
示例代码:
class MyClass:
def __init__(self, name):
self._name = name
def get_name(self):
return self._name
def _helper_method(self):
pass
my_object = MyClass('John')
print(my_object.get_name())
3. 注释规范
注释规范主要是指如何编写注释,以方便别人理解你的代码,下面是一些常见的注释规范:
- 在代码中适当添加注释,以解释代码的目的和实现方法。
- 给函数和类添加文档字符串,以描述其功能和参数等信息。
- 避免使用无意义的注释,例如 “增加变量 x 的值”。
示例代码:
# This function calculates the sum of two numbers
def add_numbers(num1, num2):
"""
Calculate the sum of two numbers.
Args:
num1: First number to add.
num2: Second number to add.
Returns:
The sum of the two numbers.
"""
return num1 + num2
python的文档字符串是什么?
Python 的文档字符串是指在模块、类、方法、函数等代码段的开头使用 """ 进行多行字符串注释来描述代码段的功能、参数、返回值等信息的规范化方式。这些文档字符串可以被工具程序提取和转换为 HTML、PDF、Unix 手册页等格式的文档,并且可以被编程编辑器、交互式帮助工具等程序自动读取和显示,对于代码的使用与维护十分有帮助。
文档字符串应该被写在代码段的开头,并包含以下部分:
- 描述代码段的功能和用途。
- 描述代码段的参数名称、类型、范围和意义。
- 描述代码段的返回值类型、范围和意义。
- 描述代码段的异常和错误处理信息。
- 其他相关的注释和说明。
下面是一个函数的文档字符串示例:
def my_function(arg1, arg2):
"""
This function adds two numbers.
Args:
arg1 (int): The first number.
arg2 (int): The second number.
Returns:
int: The sum of the two numbers.
Raises:
ValueError: If either input is not an int.
Examples:
>>> my_function(2, 3)
5
>>> my_function(2, "three")
ValueError: arg2 must be an int.
"""
if not isinstance(arg1, int) or not isinstance(arg2, int):
raise ValueError("arg1 and arg2 must be ints.")
return arg1 + arg2
注意,文档字符串中的参数类型和异常处理信息只是规范化的描述,实际代码中还需要进行相应的类型判断和错误处理。
4. 函数编写规范
函数编写规范主要是指如何编写函数,以方便别人阅读和使用你的代码,下面是一些常见的函数编写规范:
- 函数应该尽可能短小,不要超过 20 行。
- 函数应该只完成一个明确的任务,而不是多个任务。
- 函数应该有一个明确的返回值,或者返回 None。
示例代码:
def calc_sum(nums):
"""
Calculate the sum of a list of numbers.
Args:
nums: A list of numbers to sum.
Returns:
The sum of the list of numbers.
"""
total = 0
for num in nums:
total += num
return total
python 编程规范有哪些?的更多相关文章
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
- Python 编程规范-----转载
Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...
- Python编程规范及性能优化(转载)
转载地址:http://codeweblog.com/python编程规范及性能优化/
- Python学习手册之 Python 之禅、Python 编程规范和函数参数
在上一篇文章中,我们介绍了 Python 的正则表达式使用示例,现在我们介绍 Python 之禅. Python 编程规范和函数参数.查看上一篇文章请点击:https://www.cnblogs.co ...
- Python 编程规范梳理
缘由 由于项目团队中新加入了几名攻城狮, 大家之前的背景各不相同,写出的代码也是“风格迥异”.正所谓:“无规则不成方圆”,因此需要对编程进行必要的规范. 整体的思路是:依照PEP8 Python 编码 ...
- Python 编程规范 —— TODO 注释(结合 PyCharm)
编程是代码和注释的统一: TODO 自然表示需要做而未做的一些待完成的事项,有助于事后的检索,以及对整体项目做进一步的修改迭代. # TODO(kl@gmail.com): Use a "* ...
- PEP8 Python编程规范
官方文档: https://www.python.org/dev/peps/pep-0008/ ---------------------------------------------------- ...
- PEP 8 python编程规范
一 代码编排 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车. 类和to ...
- python - 编程规范问题
软件目录结构规范alex_老男孩:为什么要设计好目录结构?“设计项目目录结构”,就和“胆码编码风格”一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 1.一类同学认为,这种个人 ...
- Python编程规范
打破一条既定规则的两个理由: 应用这个规则将导致代码可读性下降. 为了和周围的代码保持一致. 编码: 所有的 Python 脚本文件都应在文件头标上如下标识或其兼容格式的标识: # -*- codin ...
随机推荐
- .net创建、发布、引用webservice项目
创建webservice引用 增加代码: 运行如下: 之后就可以发布我们的项目了,右击项目,选择发布: 此地址不要选择项目地址,另外创建一个地址: 至此,发布成功,接下来iis增加web网站: 这里i ...
- JDMasking v0.1.0-beta 发布
JDMasking 全称是jdbc data masking,是一款零代码修改.无重启.基于JDBC的动态数据脱敏软件. JDMasking 主要对实现jdbc的驱动进行字节码的增强,支持对运行中的程 ...
- Qt Windows上实现毛玻璃效果
首发于我的个人博客:xie-kang.com 博客内有更多文章,欢迎大家访问 原文地址 前言: 很多人看到这个需求的第一想法都是录制软件窗口后的桌面内容,并且加上个高斯模糊就能实现了. 思路没有错,操 ...
- Java下变量大小写驼峰、大小写下划线、大小写连线转换
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artif ...
- C#重点语法——特性
特性的基本理解 ************************************************************************************* 一.含义 特 ...
- vTaskList() 介绍
vTaskList() 使用注意:使用 vTaskList() 前需使能: make menuconfig -> Component config -> FreeRTOS -> En ...
- 基于element-ui进行二次封装的表格组件
<!-- * @description 表格组件 * @fileName TableList.vue * @authorQ * @date 2021/05/15 15:13:45 --> ...
- el与data的两种写法
el的两种写法 Vue初始化(被创建)后会判断有无el 有el:创建Vue实例对象的时候配置el属性 无el:通过vm.$mount('#root')指定el的值 data的两种写法 对象式:data ...
- 声网 X Yalla:面对面不如线上见,中东年轻人最偏爱的语聊房是怎样“炼”成的?
"实时互动的本质是服务,而非功能."这是声网一直以来坚信的理念. 功能上线之后,服务才真正开始.实时互动的每一秒,甚至每一毫秒的体验都需要得到稳定.可靠的保证.而广大用户之所以能够 ...
- MyBatisPlus---DQL编程控制
MP将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合. 一.条件查询 package com.itheima; import com.baomidou.mybatisplus.c ...