首页 > 编程语言 >python 编程规范有哪些?

python 编程规范有哪些?

时间:2023-04-28 16:45:26浏览次数:40  
标签:函数 哪些 python arg1 代码 编程 规范 numbers arg2

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,arg1,代码,编程,规范,numbers,arg2
From: https://www.cnblogs.com/Uni-Hoang/p/17362576.html

相关文章

  • 10分钟极速入门Python全栈应用开发
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master1环境搭建dash应用作为Python项目,建议大家从一开始就养成好习惯,使用虚拟环境来构建我们的dash应用运行所需环境,以我最常用的conda为例,终端执行下列命令,创建名为dash-app-dev,Python版本为3.8的虚......
  • Python rangelib.RangeSet类代码示例
    https://vimsky.com/examples/detail/python-ex-rangelib-RangeSet---class.htmlPythonrangelib.RangeSet类代码示例本文整理汇总了Python中rangelib.RangeSet类的典型用法代码示例。如果您正苦于以下问题:PythonRangeSet类的具体用法?PythonRangeSet怎么用?PythonRangeSet使......
  • Python-webdriver_manager的简单使用
     提前祝大家五一快乐(*^▽^*)前言:我们在使用Selenium做UI自动化时都需要手动去下载各个浏览器版本的webdriver,有时我们可能还会遇到跨操作系统去进行测试。以及有时因浏览器自动升级等原因,导致我们不得再去更新对应版本的webdriver。为了解决以上问题,webdriver-m......
  • Python 推导式
    ##########列表推导式###########30以内可以被3整除的整数multiples=[iforiinrange(30)ifi%3==0]print(multiples)#过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母names=['Bob','Tom','alice','Jerry','Wendy','Smith......
  • python 检查rtsp流是否可用
    importcv2fromfunc_timeoutimportfunc_set_timeout,exceptionsdefcheck_rtsp_stream(url):@func_set_timeout(2)defparse_rtsp_stream(rtsp_address):try:cap=cv2.VideoCapture(rtsp_address)cap.set(cv2.CAP_PRO......
  • Python 字典(Dictionary)
    字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。dict......
  • [独家放送]Unity2020规划预览,可视化编程又双叒叕来了!
    你好,我是你的技术探路者郑洪智,你可以叫我大智。欢迎一起进入2020年,在新的一年里Unity有什么大动作呢?本文带你速览你最关心的Unity2020的核心功能!你最可能关心的功能有哪些呢?Unity2019.3在哪里???(乱入)下面从四个方面来看Unity有哪些更新:核心功能和性能更多的DOTS(Data-OrientedTechSt......
  • 【python基础】创建和删除目录
    前言importosimportshutilpath='/home/tfl19671/out'ifnotos.path.exists(path):os.mkdir(path)else:shutil.rmtree(path,True)os.mkdir(path)其中shutil.rmtree(filepath,ignore_errors=True)删除整个filepath路径的内容。如果ignore_errors=True,则表......
  • 当进入conda环境以后最好使用conda install来安装python包
    如果您已经进入了一个conda环境,那么建议使用condainstall来安装Python包。这是因为conda是Anaconda提供的软件包管理工具,它可以帮助您安装和管理您所需的软件包,同时保证这些软件包与您当前的conda环境兼容。与此不同,pip是Python默认的包管理工具,它依赖于操作系统中已安装的Pytho......
  • python的绘图工具matplotlib.pyplot
    matplotlib.pyplot是什么matplotlib.pyplot是matplotlib库的一个子模块,它提供了一种类似于MATLAB的绘图系统,可用于创建各种类型的图表和可视化图像。使用pyplot可以方便地绘制二维图形,如折线图、散点图、直方图、条形图等等。您可以使用函数plot()、scatter()......