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 ...
随机推荐
- 2020.6.6OO学期末总结
0.前言 本次博客是对整个java及oo学习情况的一个概略性总结,目的在于反思这半年来的学习情况和实际感受,和具体学习方面的理解和问题. 1.作业过程总结 看着自己一个学期做的所有作业,我想起的是总是 ...
- 前端基础复习之HTML
1.web基础知识 1 1.Web基础知识 2 1.Internet 3 1.简介 4 Internet 实际上就是由计算机所组成的网络结构 5 6 服务: 7 1.Telnet 8 远程登录 9 2 ...
- pod控制器
Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后 ...
- gorm操作sqlite3,高并发读写如何避免锁库?
1. 场景 这两天一直被这个sqlit3困扰,起因是项目中需要有这样一个中间,中间件承担着API角色和流量转发的角色,需要接收来自至少300个agent的请求数据,和健康检测的请求. 所以当即想到用g ...
- maven 多模块项目的测试覆盖率分析 - jacoco 聚合分析
前言 对于大多数 maven 多模块化工程,可以使用 Jacoco 这款工具,关于 Jacoco 这款工具,ChatGPT 对它的描述是这样的: JaCoCo(Java Code Coverage)是 ...
- Android笔记--报错AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY in "create table if not exists user_info(导致APP闪退)
问题描述 每次一运行,APP程序必定闪退,百度了发现,闪退问题绝大多数就跟sql语句有关: 看到控制台报出这样的错误: 百度发现,我忘记了最初的知识点: 在表里面,自动递增是在数据类型为Integer ...
- 小白都能看懂得Xxl-job安装教程
大家好,我是咔咔 不期速成,日拱一卒 一.背景 在平时的业务场景中,经常有一些场景需要使用定时任务,比如: 某个时间点发送优惠券 发送短信等等. 批量处理数据:批量统计上个月的账单,统计上个月销售数据 ...
- [数据分析与可视化] Python绘制数据地图1-GeoPandas入门指北
本文主要介绍GeoPandas的基本使用方法,以绘制简单的地图.GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口.GeoPandas扩展了Pandas的数据类型, ...
- 服务器资源监测脚本(网卡、MEM、CPU)
#-*- coding: utf-8 -*- #!/usr/bin/python ''' 用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ] 主选项和报告: ...
- 如何通过Java更改Word中的页面大小和页面方向
新建的 Word 文档,默认纸张为 A4 纸,大小为 21 厘米 × 29.7 厘米,没特殊要求的文档用 A4 纸即可,但有时文档中的内容比较宽,需要用比 A4 纸更宽的纸张,例如制作一些宽的表格,就 ...